aboutsummaryrefslogtreecommitdiff
path: root/completions/bash/swaymsg
diff options
context:
space:
mode:
authorDrew DeVault <sir@cmpwn.com>2018-07-30 13:11:20 -0400
committerGitHub <noreply@github.com>2018-07-30 13:11:20 -0400
commit878d1ddd07b5ce452d3d7e1606f20f8560f2f11b (patch)
tree742714aeaff5118afabf0cb2179040655510e9df /completions/bash/swaymsg
parent6c30b3fcc89c4965b950c8bab6fe0c45425e5a2c (diff)
parentb9d531b3181a0877ea3b94d5f9aa5877bbddeb1b (diff)
Merge pull request #2387 from 1ace/feature/bash-completion
bash completion
Diffstat (limited to 'completions/bash/swaymsg')
-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 @@
+# swaymsg(1) completion
+
+_swaymsg()
+{
+ local cur prev
+ _get_comp_words_by_ref cur prev
+
+ types=(
+ 'get_workspaces'
+ 'get_seats'
+ 'get_inputs'
+ 'get_outputs'
+ 'get_tree'
+ 'get_marks'
+ 'get_bar_config'
+ 'get_version'
+ 'get_clipboard'
+ )
+
+ short=(
+ -h
+ -q
+ -r
+ -s
+ -t
+ -v
+ )
+
+ long=(
+ --help
+ --quiet
+ --raw
+ --socket
+ --type
+ --verbose
+ )
+
+ case $prev in
+ -s|--socket)
+ _filedir
+ return
+ ;;
+ -t|--type)
+ COMPREPLY=($(compgen -W "${types[*]}" -- "$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 _swaymsg swaymsg