diff options
author | David Paleino <dapal@debian.org> | 2011-02-06 21:26:41 +0100 |
---|---|---|
committer | David Paleino <dapal@debian.org> | 2011-02-06 21:26:41 +0100 |
commit | 9920a8faedf704420571d8072ccab27e9dac40ba (patch) | |
tree | 733edf3b07be06c130d04aaa1884213326722cad /completions/screen | |
parent | f9748115fb4b2950fb4df7535fb723c4affde078 (diff) | |
download | bash-completion-9920a8faedf704420571d8072ccab27e9dac40ba.tar.gz |
Imported Upstream version 1.3upstream/1.3
Diffstat (limited to 'completions/screen')
-rw-r--r-- | completions/screen | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/completions/screen b/completions/screen new file mode 100644 index 00000000..952d9766 --- /dev/null +++ b/completions/screen @@ -0,0 +1,66 @@ +# bash completion for screen + +have screen && +_screen_sessions() +{ + COMPREPLY=( $( compgen -W "$( command screen -ls | sed -ne \ + 's|^\t\{1,\}\([0-9]\{1,\}\.[^\t]\{1,\}\).*'"$1"'.*$|\1|p' )" \ + -- "$cur" ) ) +} && +_screen() +{ + local cur prev words cword + + COMPREPLY=() + _get_comp_words_by_ref cur prev words cword + + if ((cword > 2)); then + case ${words[cword-2]} in + -[dD]) + _screen_sessions + return 0 + ;; + esac + fi + + case $prev in + -[rR]) + # list detached + _screen_sessions 'Detached' + return 0 + ;; + -[dD]) + # list attached + _screen_sessions 'Attached' + return 0 + ;; + -x) + # list both + _screen_sessions + return 0 + ;; + -s) + _shells + return 0 + ;; + -c) + _filedir + return 0 + ;; + esac + + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W '-a -A -c -d -D -e -f -fn -fa -h -i -ln \ + -list -L -m -O -p -q -r -R -s -S -t -U -v -wipe -x -X --help \ + --version' -- "$cur" ) ) + fi +} && +complete -F _screen -o default screen + +# Local variables: +# mode: shell-script +# sh-basic-offset: 4 +# sh-indent-comment: t +# indent-tabs-mode: nil +# End: +# ex: ts=4 sw=4 et filetype=sh |