diff options
author | Frank Terbeck <bewater@users.sourceforge.net> | 2011-04-21 21:05:48 +0000 |
---|---|---|
committer | Frank Terbeck <bewater@users.sourceforge.net> | 2011-04-21 21:05:48 +0000 |
commit | 2b9f9b59e2380d176eb026b1a90073abb21a2533 (patch) | |
tree | 75e2617379f18713aee07df99561ef43b6221483 /Completion/Unix/Command | |
parent | 37bb9f7353e1a4510f0a52400cf257e27e3e793c (diff) | |
download | zsh-2b9f9b59e2380d176eb026b1a90073abb21a2533.tar.gz zsh-2b9f9b59e2380d176eb026b1a90073abb21a2533.tar.xz zsh-2b9f9b59e2380d176eb026b1a90073abb21a2533.zip |
29027: _screen: support "/dev/ttyUSB0 [baud]"-style arguments.
Diffstat (limited to 'Completion/Unix/Command')
-rw-r--r-- | Completion/Unix/Command/_screen | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/Completion/Unix/Command/_screen b/Completion/Unix/Command/_screen index 4d3b08934..931946c78 100644 --- a/Completion/Unix/Command/_screen +++ b/Completion/Unix/Command/_screen @@ -3,6 +3,18 @@ local curcontext="$curcontext" state line expl local scr_cmds sessions +function __screen_normal() { + if (( CURRENT == 1 )) && [[ $PREFIX == /dev/* ]]; then + _path_files -g '*(%)' + elif (( CURRENT == 2 )) && [[ ${words[1]} == /dev/* ]]; then + _message "baud rate" + elif (( CURRENT > 2 )) && [[ ${words[1]} == /dev/* ]]; then + _message "no more parameters" + else + _normal "$@" + fi +} + scr_cmds=( acladd aclchg acldel aclgrp aclumask activity addacl allpartial @@ -91,7 +103,7 @@ _arguments -C \ '-Dx: :->any-sessions' \ '-dx: :->any-sessions' \ '-X[execute command as a screen command in the specified session]:screencmd:(${scr_cmds[@]})' \ - '*::arguments: _normal' + '*::arguments: __screen_normal' if [[ -n $state ]]; then case $state in |