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

34 lines
1.0 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 --deep -d --delete -e --export -h --help
--immutable -i --import -k --unlock -l --lock --markdown -m --merge
2016-11-12 09:47:36 -06:00
--noprompt -o --open -p --print -r --replace -s --sany -S --sall --shorten
--sreg --stag --tacit --tag -t --title -u --update --upstream --url)
opts_with_arg=(-a --add -e --export --immutable -i --import -m --merge
2016-11-12 09:47:36 -06:00
-o --open -r --replace -s --sany -S --sall --shorten --sreg --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