136 lines
3.7 KiB
Plaintext
136 lines
3.7 KiB
Plaintext
#compdef geeknote
|
|
# --------------- ------------------------------------------------------------
|
|
# Name : _geeknote
|
|
# Synopsis : zsh completion for geeknote
|
|
# Author : Ján Koščo <3k.stanley@gmail.com>
|
|
# HomePage : http://www.geeknote.me
|
|
# Version : 0.1
|
|
# Tag : [ shell, zsh, completion, evernote ]
|
|
# Copyright : © 2014 by Ján Koščo,
|
|
# Released under current GPL license.
|
|
# --------------- ------------------------------------------------------------
|
|
|
|
local -a _1st_arguments
|
|
_1st_arguments=(
|
|
'login'
|
|
'logout'
|
|
'settings'
|
|
'create'
|
|
'edit'
|
|
'find'
|
|
'show'
|
|
'remove'
|
|
'notebook-list'
|
|
'notebook-create'
|
|
'notebook-edit'
|
|
'tag-list'
|
|
'tag-create'
|
|
'tag-edit'
|
|
'gnsync'
|
|
'user'
|
|
)
|
|
|
|
_arguments '*:: :->command'
|
|
|
|
if (( CURRENT == 1 )); then
|
|
_describe -t commands "geeknote command" _1st_arguments
|
|
return
|
|
fi
|
|
|
|
local -a _command_args
|
|
case "$words[1]" in
|
|
user)
|
|
_command_args=(
|
|
'(--full)--full' \
|
|
)
|
|
;;
|
|
logout)
|
|
_command_args=(
|
|
'(--force)--force' \
|
|
)
|
|
;;
|
|
settings)
|
|
_command_args=(
|
|
'(--editor)--editor' \
|
|
)
|
|
;;
|
|
create)
|
|
_command_args=(
|
|
'(-t|--title)'{-t,--title}'[note title]' \
|
|
'(-c|--content)'{-c,--content}'[note content]' \
|
|
'(-tg|--tags)'{-tg,--tags}'[one tag or the list of tags which will be added to the note]' \
|
|
'(-nb|--notebook)'{-nb,--notebook}'[name of notebook where to save note]' \
|
|
)
|
|
;;
|
|
edit)
|
|
_command_args=(
|
|
'(-n|--note)'{-n,--note}'[name or ID from the previous search of a note to edit]' \
|
|
'(-t|--title)'{-t,--title}'[note title]' \
|
|
'(-c|--content)'{-c,--content}'[note content]' \
|
|
'(-tg|--tags)'{-tg,--tags}'[one tag or the list of tags which will be added to the note]' \
|
|
'(-nb|--notebook)'{-nb,--notebook}'[name of notebook where to save note]' \
|
|
)
|
|
;;
|
|
remove)
|
|
_command_args=(
|
|
'(-n|--note)'{-n,--note}'[name or ID from the previous search of a note to edit]' \
|
|
'(--force)--force' \
|
|
)
|
|
;;
|
|
show)
|
|
_command_args=(
|
|
'(-n|--note)'{-n,--note}'[name or ID from the previous search of a note to edit]' \
|
|
)
|
|
;;
|
|
find)
|
|
_command_args=(
|
|
'(-s|--search)'{-s,--search}'[text to search]' \
|
|
'(-tg|--tags)'{-tg,--tags}'[notes with which tag/tags to search]' \
|
|
'(-nb|--notebook)'{-nb,--notebook}'[in which notebook search the note]' \
|
|
'(-d|--date)'{-d,--date}'[date in format dd.mm.yyyy or date range dd.mm.yyyy-dd.mm.yyyy]' \
|
|
'(-cn|--count)'{-cn,--count}'[how many notes show in the result list]' \
|
|
'(-wu|--with-url)'{-wu,--with-url}'[add direct url of each note in results to Evernote web-version]' \
|
|
'(-ee|--exact-entry)'{-ee,--exact-entry}'[search for exact entry of the request]' \
|
|
'(-cs|--content-search)'{-cs,--content-search}'[search by content, not by title]' \
|
|
)
|
|
;;
|
|
notebook-create)
|
|
_command_args=(
|
|
'(-t|--title)'{-t,--title}'[notebook title]' \
|
|
)
|
|
;;
|
|
notebook-edit)
|
|
_command_args=(
|
|
'(-nb|--notebook)'{-nb,--notebook}'[name of notebook to rename]' \
|
|
'(-t|--title)'{-t,--title}'[new notebook title]' \
|
|
)
|
|
;;
|
|
notebook-remove)
|
|
_command_args=(
|
|
'(-nb|--notebook)'{-nb,--notebook}'[name of notebook to remove]' \
|
|
'(--force)--force' \
|
|
)
|
|
;;
|
|
tag-create)
|
|
_command_args=(
|
|
'(-t|--title)'{-t,--title}'[title of tag]' \
|
|
)
|
|
;;
|
|
tag-create)
|
|
_command_args=(
|
|
'(-tgn|--tagname)'{-tgn,--tagname}'[tag to edit]' \
|
|
'(-t|--title)'{-t,--title}'[new tag name]' \
|
|
)
|
|
;;
|
|
tag-remove)
|
|
_command_args=(
|
|
'(-tgn|--tagname)'{-tgn,--tagname}'[tag to remove]' \
|
|
'(--force)--force' \
|
|
)
|
|
;;
|
|
esac
|
|
|
|
_arguments \
|
|
$_command_args \
|
|
&& return 0
|