From 1e57c42f470bdd2ab6179ec44dae96fd3377a1dd Mon Sep 17 00:00:00 2001 From: Peter Stephenson Date: Fri, 28 Mar 2003 11:34:07 +0000 Subject: 18394: New word movement and editing widgets. --- Functions/Zle/read-from-minibuffer | 32 ++++++++++++++++++++++++++++---- 1 file changed, 28 insertions(+), 4 deletions(-) (limited to 'Functions/Zle/read-from-minibuffer') diff --git a/Functions/Zle/read-from-minibuffer b/Functions/Zle/read-from-minibuffer index 93eec42a5..6af7f2a39 100644 --- a/Functions/Zle/read-from-minibuffer +++ b/Functions/Zle/read-from-minibuffer @@ -1,3 +1,22 @@ +emulate -L zsh +setopt extendedglob + +local opt keys +integer stat + +while getopts "k:" opt; do + case $opt in + (k) + keys=$OPTARG + ;; + + (*) + return 1 + ;; + esac +done +(( OPTIND > 1 )) && shift $(( OPTIND - 1 )) + local savelbuffer=$LBUFFER saverbuffer=$RBUFFER local savepredisplay=$PREDISPLAY savepostdisplay=$POSTDISPLAY @@ -7,10 +26,15 @@ PREDISPLAY="$PREDISPLAY$savelbuffer$saverbuffer$POSTDISPLAY ${1:-? }" POSTDISPLAY= -zle recursive-edit -integer stat=$? - -(( stat )) || REPLY=$BUFFER +if [[ -n $keys ]]; then + zle -R + read -k $keys + stat=$? +else + zle recursive-edit + stat=$? + (( stat )) || REPLY=$BUFFER +fi LBUFFER=$savelbuffer RBUFFER=$saverbuffer -- cgit 1.4.1