1
0
mirror of https://github.com/ohmyzsh/ohmyzsh.git synced 2024-11-25 17:57:34 +08:00
ohmyzsh/plugins/geeknote/_geeknote
Ján Koščo 3e16d64347
geeknote: update completion (#4986)
Fixes Completion only working for first parameter
2020-02-28 17:29:11 +01:00

158 lines
3.9 KiB
Plaintext

#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