split screen completion into its own file
This commit is contained in:
parent
530e91f810
commit
515beac77e
47
contrib/screen
Normal file
47
contrib/screen
Normal file
@ -0,0 +1,47 @@
|
||||
# -*- mode: shell-script; sh-basic-offset: 8; indent-tabs-mode: t -*-
|
||||
# ex: ts=8 sw=8 noet filetype=sh
|
||||
#
|
||||
# bash completion for screen
|
||||
|
||||
# screen(1) completion
|
||||
#
|
||||
have screen &&
|
||||
_screen()
|
||||
{
|
||||
local cur prev preprev
|
||||
|
||||
COMPREPLY=()
|
||||
cur=`_get_cword`
|
||||
prev=${COMP_WORDS[COMP_CWORD-1]}
|
||||
|
||||
[ "$COMP_CWORD" -ge 2 ] && preprev=${COMP_WORDS[COMP_CWORD-2]}
|
||||
|
||||
if [ "$preprev" = "-d" -o "$preprev" = "-D" -a "$prev" = "-r" -o \
|
||||
"$prev" = "-R" ]; then
|
||||
# list all
|
||||
COMPREPLY=( $( command screen -ls | \
|
||||
sed -ne 's|^['$'\t'']\+\('$cur'[0-9]\+\.[^'$'\t'']\+\).*$|\1|p' ) )
|
||||
else
|
||||
case "$prev" in
|
||||
-[rR])
|
||||
# list detached
|
||||
COMPREPLY=( $( command screen -ls | \
|
||||
sed -ne 's|^['$'\t'']\+\('$cur'[0-9]\+\.[^'$'\t'']\+\).*Detached.*$|\1|p' ) )
|
||||
;;
|
||||
-[dDx])
|
||||
# list attached
|
||||
COMPREPLY=( $( command screen -ls | \
|
||||
sed -ne 's|^['$'\t'']\+\('$cur'[0-9]\+\.[^'$'\t'']\+\).*Attached.*$|\1|p' ) )
|
||||
;;
|
||||
-s)
|
||||
# shells
|
||||
COMPREPLY=( $( grep ^${cur:-[^#]} /etc/shells ) )
|
||||
;;
|
||||
*)
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
||||
return 0
|
||||
} &&
|
||||
complete -F _screen $default screen
|
Loading…
x
Reference in New Issue
Block a user