aboutsummaryrefslogtreecommitdiffstats
path: root/completions/bash/swaybar
diff options
context:
space:
mode:
Diffstat (limited to 'completions/bash/swaybar')
-rw-r--r--completions/bash/swaybar44
1 files changed, 44 insertions, 0 deletions
diff --git a/completions/bash/swaybar b/completions/bash/swaybar
new file mode 100644
index 00000000..504588f1
--- /dev/null
+++ b/completions/bash/swaybar
@@ -0,0 +1,44 @@
1# swaybar(1) completion
2
3_swaybar()
4{
5 local cur prev
6 _get_comp_words_by_ref cur prev
7
8 short=(
9 -h
10 -v
11 -s
12 -b
13 -d
14 )
15
16 long=(
17 --help
18 --version
19 --socket
20 --bar_id
21 --debug
22 )
23
24 case $prev in
25 -s|--socket)
26 _filedir
27 return
28 ;;
29 -b|--bar_id)
30 bars=($(swaymsg -t get_bar_config | sed -e '/^\[/,/\]$/{//d;s/^ *"\(.*\)",\?.*$/\1/}'))
31 COMPREPLY=($(compgen -W "${bars[*]}" -- "$cur"))
32 return
33 ;;
34 esac
35
36 if [[ $cur == --* ]]; then
37 COMPREPLY=($(compgen -W "${long[*]}" -- "$cur"))
38 else
39 COMPREPLY=($(compgen -W "${short[*]}" -- "$cur"))
40 COMPREPLY+=($(compgen -W "${long[*]}" -- "$cur"))
41 fi
42
43} &&
44complete -F _swaybar swaybar