mirror of
git://git.code.sf.net/p/zsh/code
synced 2025-02-24 11:51:19 +01:00
users/10172: new zle command read-command
This commit is contained in:
parent
9b844cfe73
commit
85f25bb845
4 changed files with 37 additions and 0 deletions
|
@ -1,3 +1,10 @@
|
|||
2006-04-24 Peter Stephenson <p.w.stephenson@ntlworld.com>
|
||||
|
||||
* zsh-users/10172: Doc/Zsh/zle.yo, Src/Zle/iwidgets.list,
|
||||
Src/Zle/zle_keymap.c: read-command reads a key sequence as
|
||||
in normal zle operation but sets REPLY to the result instead
|
||||
of executing it.
|
||||
|
||||
2006-04-23 Peter Stephenson <p.w.stephenson@ntlworld.com>
|
||||
|
||||
* unposted: Functions/Misc/zmathfuncdef: improve recognition
|
||||
|
|
|
@ -103,6 +103,12 @@ This input can itself invoke further replacement strings, but in order to
|
|||
detect loops the process will be stopped if there are twenty such replacements
|
||||
without a real command being read.
|
||||
|
||||
A key sequence typed by the user can be turned into a command name for use
|
||||
in user-defined widgets with the tt(read-command) widget, described
|
||||
ifzman(below)\
|
||||
ifnzman(in noderef(Miscellaneous) below)\
|
||||
.
|
||||
|
||||
texinode(Zle Builtins)(Zle Widgets)(Keymaps)(Zsh Line Editor)
|
||||
sect(Zle Builtins)
|
||||
cindex(zle, builtin commands)
|
||||
|
@ -1767,6 +1773,16 @@ At a secondary (tt(PS2)) prompt, move the entire current multiline
|
|||
construct into the editor buffer.
|
||||
The latter is equivalent to tt(push-input) followed by tt(get-line).
|
||||
)
|
||||
tindex(read-command)
|
||||
item(tt(read-command))(
|
||||
Only useful from a user-defined widget. A keystroke is read just as in
|
||||
normal operation, but instead of the command being executed the name
|
||||
of the command that would be executed is stored in the shell parameter
|
||||
tt(REPLY). This can be used as the argument of a future tt(zle)
|
||||
command. If the key sequence is not bound, status 1 is returned;
|
||||
typically, however, tt(REPLY) is set to tt(undefined-key) to indicate
|
||||
a useless key sequence.
|
||||
)
|
||||
tindex(recursive-edit)
|
||||
item(tt(recursive-edit))(
|
||||
Only useful from a user-defined widget. At this point in the function,
|
||||
|
|
|
@ -86,6 +86,7 @@
|
|||
"quoted-insert", quotedinsert, ZLE_MENUCMP | ZLE_KEEPSUFFIX
|
||||
"quote-line", quoteline, 0
|
||||
"quote-region", quoteregion, 0
|
||||
"read-command", readcommand, 0
|
||||
"recursive-edit", recursiveedit, ZLE_MENUCMP | ZLE_KEEPSUFFIX | ZLE_LASTCOL
|
||||
"redisplay", redisplay, ZLE_MENUCMP | ZLE_KEEPSUFFIX | ZLE_LASTCOL
|
||||
"redo", redo, ZLE_KEEPSUFFIX
|
||||
|
|
|
@ -1441,3 +1441,16 @@ zlesetkeymap(int mode)
|
|||
return;
|
||||
linkkeymap(km, "main", 0);
|
||||
}
|
||||
|
||||
/**/
|
||||
mod_export int
|
||||
readcommand(UNUSED(char **args))
|
||||
{
|
||||
Thingy thingy = getkeycmd();
|
||||
|
||||
if (!thingy)
|
||||
return 1;
|
||||
|
||||
setsparam("REPLY", ztrdup(thingy->nam));
|
||||
return 0;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue