mirror of
https://github.com/Gator96100/ProxSpace.git
synced 2025-01-24 19:52:58 -08:00
68 lines
2.1 KiB
Bash
68 lines
2.1 KiB
Bash
# xfreerdp completion -*- shell-script -*-
|
|
|
|
_xfreerdp()
|
|
{
|
|
local cur prev words cword
|
|
_init_completion -n : || return
|
|
|
|
case $prev in # old/dash syntax
|
|
-k)
|
|
COMPREPLY=($(compgen -W '$("$1" --kbd-list |
|
|
awk "/^0x/ { print \$1 }")' -- "$cur"))
|
|
return
|
|
;;
|
|
-a)
|
|
COMPREPLY=($(compgen -W '8 15 16 24 32' -- "$cur"))
|
|
return
|
|
;;
|
|
-x)
|
|
COMPREPLY=($(compgen -W 'broadband modem lan' -- "$cur"))
|
|
return
|
|
;;
|
|
--plugin)
|
|
COMPREPLY=($(compgen -W 'cliprdr rdpsnd rdpdr' -- "$cur"))
|
|
return
|
|
;;
|
|
esac
|
|
|
|
case $cur in # new/slash syntax
|
|
/kbd:*)
|
|
COMPREPLY=($(compgen -W '$("$1" /kbd-list |
|
|
awk "/^0x/ { print \$1 }")' -- "${cur#/kbd:}"))
|
|
return
|
|
;;
|
|
/bpp:*)
|
|
COMPREPLY=($(compgen -W '8 15 16 24 32' -- "${cur#/bpp:}"))
|
|
return
|
|
;;
|
|
/*:* | /help | /version | -h | --help | --version)
|
|
return
|
|
;;
|
|
esac
|
|
|
|
if [[ $cur == /* ]]; then
|
|
COMPREPLY=($(compgen -W '$("$1" --help |
|
|
awk "\$1 ~ /^\\// && \$1 !~ /^.(flag\$|option:)/ { sub(\":.*\",\":\",\$1); print \$1 }")' \
|
|
-- "$cur"))
|
|
[[ ${COMPREPLY-} == *: ]] && compopt -o nospace
|
|
elif [[ $cur == [+-]* ]]; then
|
|
local char=${cur:0:1}
|
|
local help="$($1 --help)"
|
|
if [[ $help == */help* ]]; then # new/slash syntax
|
|
COMPREPLY=($(compgen -W '$(awk "
|
|
\$1 ~ /^[+-]/ && \$1 !~ /^.toggle\$/ { sub(\"^.\",\"$char\",\$1); print \$1 }
|
|
" <<<"$help")' -- "$cur"))
|
|
else # old/dash syntax
|
|
COMPREPLY=($(_parse_help - <<<"$help"))
|
|
COMPREPLY=($(compgen -W '${COMPREPLY[@]%:}' -- "$cur"))
|
|
fi
|
|
else
|
|
COMPREPLY=($(compgen -W "$(awk '{print $1}' ~/.freerdp/known_hosts \
|
|
2>/dev/null)" -- "$cur"))
|
|
fi
|
|
|
|
} &&
|
|
complete -F _xfreerdp xfreerdp
|
|
|
|
# ex: filetype=sh
|