You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
136 lines
3.7 KiB
136 lines
3.7 KiB
#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' |
|
'tag-remove' |
|
'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]' \ |
|
'(-uo|--url-only)'{-uo,--url-only}'[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-edit) |
|
_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
|
|
|