buku/auto-completion/bash/buku-completion.bash

81 lines
1.5 KiB
Bash
Raw Normal View History

2016-05-15 02:05:13 -05:00
#
# Bash completion definition for buku.
#
# Author:
# Arun Prakash Jana <engineerarun@gmail.com>
#
_buku () {
COMPREPLY=()
local IFS=$' \n'
local cur=$2 prev=$3
local -a opts opts_with_args
opts=(
-a --add
-c --comment
-d --delete
--deep
-e --export
--expand
-f --format
-h --help
-i --import
--immutable
-j --json
-k --unlock
-l --lock
-m --merge
2017-02-10 07:55:05 -06:00
--nc
2017-02-10 07:59:02 -06:00
--np
-o --open
--oa
-p --print
-r --sreg
2017-03-16 13:37:51 -05:00
--replace
-s --sany
-S --sall
--shorten
-t --stag
--tacit
--tag
--threads
2017-03-16 13:15:37 -05:00
--title
-u --update
--url
2017-02-10 09:04:24 -06:00
-V
-v --version
2017-02-04 08:45:33 -06:00
-w --write
-z --debug
)
opts_with_arg=(
-a --add
-e --export
--expand
-f --format
-i --import
--immutable
-m --merge
-r --sreg
2017-03-16 13:37:51 -05:00
--replace
-s --sany
-S --sall
--shorten
--threads
--url
)
2016-05-15 02:05:13 -05:00
# Do not complete non option names
[[ $cur == -* ]] || return 1
# Do not complete when the previous arg is an option expecting an argument
for opt in "${opts_with_arg[@]}"; do
[[ $opt == $prev ]] && return 1
done
# Complete option names
COMPREPLY=( $(compgen -W "${opts[*]}" -- "$cur") )
return 0
}
complete -F _buku buku