diff options
author | Eric Engestrom <eric.engestrom@intel.com> | 2018-07-27 16:31:39 +0100 |
---|---|---|
committer | Eric Engestrom <eric.engestrom@intel.com> | 2018-07-30 15:56:15 +0100 |
commit | c4b4da5dc4ba9c68ff28ba2a01566b760adf1f55 (patch) | |
tree | 635a2b13e8f7ee6b48a662bd55abc31443318642 /completions | |
parent | 4a8a19d21f91a3126d83ac42d6a96900f42ba64c (diff) |
bash: add completion for swayidle
Diffstat (limited to 'completions')
-rw-r--r-- | completions/bash/swayidle | 48 |
1 files changed, 48 insertions, 0 deletions
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 |