mirror of
https://github.com/Gator96100/ProxSpace.git
synced 2025-07-29 19:18:36 -07:00
67 lines
2.1 KiB
Bash
67 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
|