diff options
author | Drew DeVault <sir@cmpwn.com> | 2018-07-30 13:11:20 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-07-30 13:11:20 -0400 |
commit | 878d1ddd07b5ce452d3d7e1606f20f8560f2f11b (patch) | |
tree | 742714aeaff5118afabf0cb2179040655510e9df /completions/bash/swayidle | |
parent | 6c30b3fcc89c4965b950c8bab6fe0c45425e5a2c (diff) | |
parent | b9d531b3181a0877ea3b94d5f9aa5877bbddeb1b (diff) |
Merge pull request #2387 from 1ace/feature/bash-completion
bash completion
Diffstat (limited to 'completions/bash/swayidle')
-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 |