diff options
author | Oliver Kiddle <opk@zsh.org> | 2014-10-14 23:03:40 +0200 |
---|---|---|
committer | Oliver Kiddle <opk@zsh.org> | 2014-10-14 23:04:45 +0200 |
commit | 13fc579343b24d298fb8905933b6000d7fcda114 (patch) | |
tree | cbc1000696357438714107635f93166bcab76d3a /Completion/Unix/Command/_screen | |
parent | 66320ca93a717467a0ed0d34da4c06257953aa50 (diff) | |
download | zsh-13fc579343b24d298fb8905933b6000d7fcda114.tar.gz zsh-13fc579343b24d298fb8905933b6000d7fcda114.tar.xz zsh-13fc579343b24d298fb8905933b6000d7fcda114.zip |
33467: correct return status on functions and numerous other minor fixes
Diffstat (limited to 'Completion/Unix/Command/_screen')
-rw-r--r-- | Completion/Unix/Command/_screen | 31 |
1 files changed, 16 insertions, 15 deletions
diff --git a/Completion/Unix/Command/_screen b/Completion/Unix/Command/_screen index 931946c78..510fd7195 100644 --- a/Completion/Unix/Command/_screen +++ b/Completion/Unix/Command/_screen @@ -1,20 +1,8 @@ #compdef screen -local curcontext="$curcontext" state line expl +local curcontext="$curcontext" state line expl ret=1 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 @@ -103,10 +91,21 @@ _arguments -C \ '-Dx: :->any-sessions' \ '-dx: :->any-sessions' \ '-X[execute command as a screen command in the specified session]:screencmd:(${scr_cmds[@]})' \ - '*::arguments: __screen_normal' + '*:: :->normal' && ret=0 if [[ -n $state ]]; then case $state in + 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 + ;; attached-sessions) sessions=( ${${${(M)${(f)"$(_call_program screen-sessions $words[1] \ @@ -134,4 +133,6 @@ if [[ -n $state ]]; then _wanted screen-sessions expl "${state%-*} screen process" \ compadd ${sessions#*.} fi -fi +fi && ret=0 + +return ret |