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.
157 lines
3.9 KiB
157 lines
3.9 KiB
#compdef geeknote |
|
|
|
# Geeknote Autocomplete plugin for Zsh |
|
# Requires: Geeknote installed |
|
# Author : Ján Koščo (@s7anley) |
|
|
|
__login() { |
|
# no arguments |
|
} |
|
|
|
__logout() { |
|
_arguments \ |
|
'--force[Do not ask about logging out.]' |
|
} |
|
|
|
__settings() { |
|
_arguments \ |
|
"--editor+[Set the editor, which use to edit and create notes.]::" |
|
} |
|
|
|
__create() { |
|
_arguments \ |
|
'--title+[The note title.]::' \ |
|
'--content+[The note content.]::' \ |
|
'--tags+[One tag or the list of tags which will be added to the note.]::' \ |
|
'--notebook+[Set the notebook where to save note.]::' \ |
|
'--resource+[Add a resource to the note.]::' |
|
} |
|
|
|
__edit() { |
|
_arguments \ |
|
'--note+[The name or ID from the previous search of a note to edit.]::' \ |
|
'--title+[Set new title of the note.]::' \ |
|
'--content+[Set new content of the note.]::' \ |
|
'--tags+[Set new list o tags for the note.]::' \ |
|
'--notebook+[Assign new notebook for the note.]::' \ |
|
'--resource+[Add a resource to the note.]::' |
|
} |
|
|
|
__find() { |
|
_arguments \ |
|
'--search+[Text to search.]::' \ |
|
'--tags+[Notes with which tag/tags to search.]::' \ |
|
'--notebook+[In which notebook search the note.]::' \ |
|
'--date+[Set date in format dd.mm.yyyy or date range dd.mm.yyyy-dd.mm.yyyy.]::' \ |
|
'--count+[How many notes show in the result list.]::' \ |
|
'--with-url[Add direct url of each note in results to Evernote web-version.]' \ |
|
'--content-search[Search by content, not by title.]' \ |
|
'--exact-entry[Search for exact entry of the request.]' |
|
} |
|
|
|
__show() { |
|
_arguments \ |
|
'--note+[The name or ID from the previous search of a note to show.]::' \ |
|
'--raw[Show the raw note body.]' |
|
} |
|
|
|
__remove() { |
|
_arguments \ |
|
'--note+[The name or ID from the previous search of a note to remove.]::' \ |
|
'--force[Do not ask about removing.]' |
|
} |
|
|
|
__notebook-list() { |
|
# no arguments |
|
} |
|
|
|
__notebook-create() { |
|
_arguments \ |
|
'--title+[Set the title of new notebook.]::' |
|
} |
|
|
|
__notebook-edit() { |
|
_arguments \ |
|
'--title+[Set the title of new notebook.]::' \ |
|
'--notebook+[The name of a notebook to rename.]::' |
|
} |
|
|
|
__tag-list() { |
|
# no arguments |
|
} |
|
|
|
__tag-create() { |
|
_arguments \ |
|
'--title+[Set the title of new tag.]::' |
|
} |
|
|
|
__tag-edit() { |
|
_arguments \ |
|
'--tagname+[The name of a tag to rename.]::' \ |
|
'--title+[Set the new name of tag.]::' |
|
} |
|
|
|
__user() { |
|
_arguments \ |
|
'--full[Show full information.]' |
|
} |
|
|
|
local -a _1st_arguments |
|
_1st_arguments=( |
|
'login':'Authorize in Evernote.' |
|
'logout':'Logout from Evernote.' |
|
'settings':'Show and edit current settings.' |
|
'create':'Create note in Evernote.' |
|
'edit':'Edit note in Evernote.' |
|
'find':'Search notes in Evernote.' |
|
'show':'Output note in the terminal.' |
|
'remove':'Remove note from Evernote.' |
|
'notebook-list':'Show the list of existing notebooks in your Evernote.' |
|
'notebook-create':'Create new notebook.' |
|
'notebook-edit':'Edit/rename notebook.' |
|
'tag-list':'Show the list of existing tags in your Evernote.' |
|
'tag-create':'Create new tag.' |
|
'tag-edit':'Edit/rename tag.' |
|
'user':'Show information about active user.' |
|
) |
|
|
|
_arguments '*:: :->command' |
|
|
|
if (( CURRENT == 1 )); then |
|
_describe -t commands "geeknote command" _1st_arguments |
|
return |
|
fi |
|
|
|
local -a _command_args |
|
case "$words[1]" in |
|
login) |
|
__login ;; |
|
logout) |
|
__logout ;; |
|
settings) |
|
__settings ;; |
|
create) |
|
__create ;; |
|
edit) |
|
__edit ;; |
|
find) |
|
__find ;; |
|
show) |
|
__show ;; |
|
remove) |
|
__remove ;; |
|
notebook-list) |
|
__notebook-list ;; |
|
notebook-create) |
|
__notebook-create ;; |
|
notebook-edit) |
|
__notebook-edit ;; |
|
tag-list) |
|
__tag-list ;; |
|
tag-create) |
|
__tag-create ;; |
|
tag-edit) |
|
__tag-edit ;; |
|
user) |
|
__user ;; |
|
esac
|
|
|