diff options
author | Oliver Kiddle <opk@users.sourceforge.net> | 2000-05-25 15:09:04 +0000 |
---|---|---|
committer | Oliver Kiddle <opk@users.sourceforge.net> | 2000-05-25 15:09:04 +0000 |
commit | b36b493313a16ae92adc3bd988a2591645f469f6 (patch) | |
tree | 03fdf937df56dcdf6da9c3a04280c2d6416a4a29 /Completion | |
parent | 7fb99aadec3921af128b361c047be1b66b5734f3 (diff) | |
download | zsh-b36b493313a16ae92adc3bd988a2591645f469f6.tar.gz zsh-b36b493313a16ae92adc3bd988a2591645f469f6.tar.xz zsh-b36b493313a16ae92adc3bd988a2591645f469f6.zip |
Split _arguments calls into sets to avoid long mutex lists (11579)
Diffstat (limited to 'Completion')
-rw-r--r-- | Completion/Builtins/_compdef | 17 | ||||
-rw-r--r-- | Completion/Builtins/_zpty | 23 |
2 files changed, 27 insertions, 13 deletions
diff --git a/Completion/Builtins/_compdef b/Completion/Builtins/_compdef index 180df920d..23c6d3a3d 100644 --- a/Completion/Builtins/_compdef +++ b/Completion/Builtins/_compdef @@ -6,13 +6,18 @@ typeset -A opt_args _arguments -C -s \ '(-d)-a[make function autoloadable]' \ '(-d -p -P)-n[leave existing definitions intact]' \ - '(-a -n -p -P -k -K)-d[delete]:*:completed command:->ccom' \ - '(-n -d -P -k -K)-p[completion for command matching pattern]:completion function:->cfun:pattern' \ - '(-n -d -p -k -K)-P[as -p for commands without own completion]:completion function:->cfun:pattern' \ - '(-d -p -P -K)-k[define widget and key binding]:completion function:->cfun:style:->style:*:key' \ - '(-d -p -P -k)-K[define multiple widgets based on function]:*::: :->multi' \ ':completion function:->cfun' \ - '*:commands: _command_names' && return 0 + '*:commands: _command_names' \ + - d \ + '(-a -n)-d[delete]:*:completed command:->ccom' \ + - p \ + '(-n)-p[completion for command matching pattern]:completion function:->cfun:pattern' \ + - P \ + '(-n)-P[as -p for commands without own completion]:completion function:->cfun:pattern' \ + - k \ + '-k[define widget and key binding]:completion function:->cfun:style:->style:*:key' \ + - K \ + '-K[define multiple widgets based on function]:*::: :->multi' && return 0 if [[ $state = multi ]]; then case $(( CURRENT % 3 )) in diff --git a/Completion/Builtins/_zpty b/Completion/Builtins/_zpty index f3e271342..de793c814 100644 --- a/Completion/Builtins/_zpty +++ b/Completion/Builtins/_zpty @@ -4,15 +4,24 @@ local state line list names expl curcontext="$curcontext" typeset -A opt_args _arguments -C -s \ - '(-d -w -r -L)-e[echo input characters]' \ - '(-d -w -r -L)-b[io to pseudo-terminal blocking]' \ - '(-e -b -w -r -L)-d[delete command]:*:name:->name' \ - '(-e -b -d -r -L)-w[send string to command]:name:->name:*:strings to write' \ - '(-e -b -d -w -L *)-r[read string from command]:name:->name:param:_parameters' \ - '(-e -b -d -w -r)-L[list defined commands as calls]' \ - '(-r)*::args:_normal' && return 0 + '(-r)*::args:_normal' \ + - eb \ + '-e[echo input characters]' \ + '-b[io to pseudo-terminal blocking]' \ + - d \ + '-d[delete command]:*:name:->name' \ + - w \ + '-w[send string to command]:name:->name:*:strings to write' \ + - L \ + '-L[list defined commands as calls]' \ + - r \ + '(*)-r[read string from command]:name:->name:param:_parameters' && return 0 if [[ $state = name ]]; then + if ! zmodload -e zsh/zpty; then + _message "zpty module not loaded" + return 1 + fi list=( ${${(f)"$(zpty)"}#*\) } ) names=( ${list%%:*} ) if zstyle -T ":completion:${curcontext}" verbose; then |