aboutsummaryrefslogtreecommitdiff
path: root/completions/bash
diff options
context:
space:
mode:
Diffstat (limited to 'completions/bash')
-rw-r--r--completions/bash/sway46
-rw-r--r--completions/bash/swayidle48
-rw-r--r--completions/bash/swaylock66
-rw-r--r--completions/bash/swaymsg59
4 files changed, 219 insertions, 0 deletions
diff --git a/completions/bash/sway b/completions/bash/sway
new file mode 100644
index 00000000..edd752cd
--- /dev/null
+++ b/completions/bash/sway
@@ -0,0 +1,46 @@
+# sway(1) completion
+
+_sway()
+{
+ local cur prev
+ _get_comp_words_by_ref cur prev
+
+ short=(
+ -h
+ -c
+ -C
+ -d
+ -v
+ -V
+ )
+
+ long=(
+ --help
+ --config
+ --validate
+ --debug
+ --version
+ --verbose
+ --get-socketpath
+ )
+
+ case $prev in
+ -c|--config)
+ _filedir
+ return
+ ;;
+ esac
+
+ if [[ $cur == --* ]]; then
+ COMPREPLY=($(compgen -W "${long[*]}" -- "$cur"))
+ elif [[ $cur == -* ]]; then
+ COMPREPLY=($(compgen -W "${short[*]}" -- "$cur"))
+ COMPREPLY+=($(compgen -W "${long[*]}" -- "$cur"))
+ else
+ COMPREPLY=($(compgen -W "${short[*]}" -- "$cur"))
+ COMPREPLY+=($(compgen -W "${long[*]}" -- "$cur"))
+ COMPREPLY+=($(compgen -c -- "$cur"))
+ fi
+
+} &&
+complete -F _sway sway
diff --git a/completions/bash/swayidle b/completions/bash/swayidle
new file mode 100644
index 00000000..a0cdc8b2
--- /dev/null
+++ b/completions/bash/swayidle
@@ -0,0 +1,48 @@
+# swaymsg(1) completion
+
+_swayidle()
+{
+ local cur prev
+ _get_comp_words_by_ref -n : cur prev
+ local prev2=${COMP_WORDS[COMP_CWORD-2]}
+ local prev3=${COMP_WORDS[COMP_CWORD-3]}
+
+ events=(
+ 'timeout'
+ 'before-sleep'
+ )
+
+ short=(
+ -h
+ -d
+ )
+
+ if [ "$prev" = timeout ]; then
+ # timeout <timeout>
+ return
+ elif [ "$prev2" = timeout ]; then
+ # timeout <timeout> <timeout command>
+ COMPREPLY=($(compgen -c -- "$cur"))
+ return
+ elif [ "$prev3" = timeout ]; then
+ # timeout <timeout> <timeout command> [resume <resume command>]
+ COMPREPLY=(resume)
+ # optional argument; no return here as user may skip 'resume'
+ fi
+
+ case "$prev" in
+ resume)
+ COMPREPLY=($(compgen -c -- "$cur"))
+ return
+ ;;
+ before-sleep)
+ COMPREPLY=($(compgen -c -- "$cur"))
+ return
+ ;;
+ esac
+
+ COMPREPLY+=($(compgen -W "${events[*]}" -- "$cur"))
+ COMPREPLY+=($(compgen -W "${short[*]}" -- "$cur"))
+
+} &&
+complete -F _swayidle swayidle
diff --git a/completions/bash/swaylock b/completions/bash/swaylock
new file mode 100644
index 00000000..33925480
--- /dev/null
+++ b/completions/bash/swaylock
@@ -0,0 +1,66 @@
+# swaylock(1) completion
+
+_swaylock()
+{
+ local cur prev
+ _get_comp_words_by_ref -n : cur prev
+
+ short=(
+ -h
+ -c
+ -s
+ -t
+ -v
+ -i
+ -u
+ -f
+ )
+
+ long=(
+ --help
+ --color
+ --scaling
+ --tiling
+ --version
+ --image
+ --no-unlock-indicator
+ --daemonize
+ )
+
+ scaling=(
+ 'stretch'
+ 'fill'
+ 'fit'
+ 'center'
+ 'tile'
+ )
+
+ case $prev in
+ -c|--color)
+ return
+ ;;
+ --scaling)
+ COMPREPLY=($(compgen -W "${scaling[*]}" -- "$cur"))
+ return
+ ;;
+ -i|--image)
+ if grep -q : <<< "$cur"; then
+ output="${cur%%:*}:"
+ cur="${cur#*:}"
+ else
+ output=
+ fi
+ COMPREPLY=($(compgen -f -- "$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 _swaylock swaylock
diff --git a/completions/bash/swaymsg b/completions/bash/swaymsg
new file mode 100644
index 00000000..20092bdc
--- /dev/null
+++ b/completions/bash/swaymsg
@@ -0,0 +1,59 @@
+# 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_binding_modes'
+ 'get_config'
+ 'send_tick'
+ )
+
+ 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