sway-patched-tray-menu/completions/bash/swaybar

45 lines
720 B
Text
Raw Normal View History

2018-12-31 19:17:05 +01:00
# swaybar(1) completion
_swaybar()
{
local cur prev
_get_comp_words_by_ref cur prev
short=(
-h
-v
-s
-b
-d
)
long=(
--help
--version
--socket
--bar_id
--debug
)
case $prev in
-s|--socket)
_filedir
return
;;
-b|--bar_id)
bars=($(swaymsg -t get_bar_config | sed -e '/^\[/,/\]$/{//d;s/^ *"\(.*\)",\?.*$/\1/}'))
COMPREPLY=($(compgen -W "${bars[*]}" -- "$cur"))
return
;;
esac
if [[ $cur == --* ]]; then
COMPREPLY=($(compgen -W "${long[*]}" -- "$cur"))
else
COMPREPLY=($(compgen -W "${short[*]}" -- "$cur"))
COMPREPLY+=($(compgen -W "${long[*]}" -- "$cur"))
fi
} &&
complete -F _swaybar swaybar