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