bash: add completion for swaybar

This commit is contained in:
Gaël PORTAY 2018-12-31 13:17:05 -05:00 committed by Brian Ashworth
parent 3d7c20f062
commit 3b4cf3718b
2 changed files with 45 additions and 0 deletions

44
completions/bash/swaybar Normal file
View file

@ -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

View file

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