bash: add completion for swaybar

master
Gaël PORTAY 6 years ago committed by Brian Ashworth
parent 3d7c20f062
commit 3b4cf3718b

@ -0,0 +1,44 @@
# 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

@ -213,6 +213,7 @@ endif
if (get_option('bash-completions')) if (get_option('bash-completions'))
bash_files = files( bash_files = files(
'completions/bash/sway', 'completions/bash/sway',
'completions/bash/swaybar',
'completions/bash/swayidle', 'completions/bash/swayidle',
'completions/bash/swaylock', 'completions/bash/swaylock',
'completions/bash/swaymsg', 'completions/bash/swaymsg',

Loading…
Cancel
Save