aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--completions/bash/swaymsg57
1 files changed, 57 insertions, 0 deletions
diff --git a/completions/bash/swaymsg b/completions/bash/swaymsg
new file mode 100644
index 00000000..8ec90b6f
--- /dev/null
+++ b/completions/bash/swaymsg
@@ -0,0 +1,57 @@
1# swaymsg(1) completion
2
3_swaymsg()
4{
5 local cur prev
6 _get_comp_words_by_ref cur prev
7
8 types=(
9 'get_workspaces'
10 'get_seats'
11 'get_inputs'
12 'get_outputs'
13 'get_tree'
14 'get_marks'
15 'get_bar_config'
16 'get_version'
17 'get_clipboard'
18 )
19
20 short=(
21 -h
22 -q
23 -r
24 -s
25 -t
26 -v
27 )
28
29 long=(
30 --help
31 --quiet
32 --raw
33 --socket
34 --type
35 --verbose
36 )
37
38 case $prev in
39 -s|--socket)
40 _filedir
41 return
42 ;;
43 -t|--type)
44 COMPREPLY=($(compgen -W "${types[*]}" -- "$cur"))
45 return
46 ;;
47 esac
48
49 if [[ $cur == --* ]]; then
50 COMPREPLY=($(compgen -W "${long[*]}" -- "$cur"))
51 else
52 COMPREPLY=($(compgen -W "${short[*]}" -- "$cur"))
53 COMPREPLY+=($(compgen -W "${long[*]}" -- "$cur"))
54 fi
55
56} &&
57complete -F _swaymsg swaymsg