From 5f18dbf895675ff22dcbe2afa78b72b74350ea58 Mon Sep 17 00:00:00 2001 From: Sung Won Cho Date: Sun, 16 Jun 2019 03:52:22 +1000 Subject: Add a completion plugin for dnote (#7885) --- plugins/dnote/_dnote | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 plugins/dnote/_dnote (limited to 'plugins/dnote/_dnote') diff --git a/plugins/dnote/_dnote b/plugins/dnote/_dnote new file mode 100644 index 000000000..c8b33486a --- /dev/null +++ b/plugins/dnote/_dnote @@ -0,0 +1,39 @@ +#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 + -- cgit v1.2.3-70-g09d2