123456789101112131415161718192021222324252627282930313233343536373839 |
- #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
|