dnote/cli/dnote-completion.zsh
Sung Won Cho 92e2924fcf
Autocompletion (#193)
* Add autocompletion script for bash and zsh

* Disallow book names with spaces

* Drop parenthesis

* Migrate book names with spaces

* Autocomplete for add

* test

* Make test run in go 1.11
2019-05-27 19:40:35 +10:00

39 lines
814 B
Bash

#compdef dnote
local -a _1st_arguments
_1st_arguments=(
'add:add a new note'
'view:list books, notes, or view a content'
'edit:edit a note or a book'
'remove:remove a note or a book'
'find:find notes by keywords'
'sync:sync data with the server'
'login:login to the dnote server'
'logout:logout from the dnote server'
'version:print the current version'
'help:get help about any command'
)
get_booknames() {
local names=$(dnote view --name-only)
local -a ret
while read -r line; do
ret+=("${line}")
done <<< "$names"
echo "$ret"
}
if (( CURRENT == 2 )); then
_describe -t commands "dnote subcommand" _1st_arguments
return
elif (( CURRENT == 3 )); then
case "$words[2]" in
v|view|a|add)
_alternative \
"names:book names:($(get_booknames))"
esac
fi