summaryrefslogtreecommitdiff
path: root/plugins/dnote/_dnote
diff options
context:
space:
mode:
authorTuowen Zhao <ztuowen@gmail.com>2019-09-11 18:19:51 -0600
committerTuowen Zhao <ztuowen@gmail.com>2019-09-11 18:19:51 -0600
commitd676c1553254309beca5bb9a8edb43fbe09a7169 (patch)
treed0bb04b6487e6fedbb2b2370a894fccd19d4c567 /plugins/dnote/_dnote
parentfb141c2257f648cd29b64cbd3f2ca9123f6e427f (diff)
parentddd359dd668f448856438304bedfe952d1749efd (diff)
downloadzsh-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/_dnote39
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
+