diff options
author | Tuowen Zhao <ztuowen@gmail.com> | 2019-09-11 18:19:51 -0600 |
---|---|---|
committer | Tuowen Zhao <ztuowen@gmail.com> | 2019-09-11 18:19:51 -0600 |
commit | d676c1553254309beca5bb9a8edb43fbe09a7169 (patch) | |
tree | d0bb04b6487e6fedbb2b2370a894fccd19d4c567 /plugins/dnote/_dnote | |
parent | fb141c2257f648cd29b64cbd3f2ca9123f6e427f (diff) | |
parent | ddd359dd668f448856438304bedfe952d1749efd (diff) | |
download | zsh-d676c1553254309beca5bb9a8edb43fbe09a7169.tar.gz zsh-d676c1553254309beca5bb9a8edb43fbe09a7169.tar.bz2 zsh-d676c1553254309beca5bb9a8edb43fbe09a7169.zip |
Merge remote-tracking branch 'orig/master'
Diffstat (limited to 'plugins/dnote/_dnote')
-rw-r--r-- | plugins/dnote/_dnote | 39 |
1 files changed, 39 insertions, 0 deletions
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 + |