summaryrefslogtreecommitdiff
path: root/plugins
diff options
context:
space:
mode:
authorJán Koščo <640131+s7anley@users.noreply.github.com>2020-02-28 17:29:11 +0100
committerGitHub <noreply@github.com>2020-02-28 17:29:11 +0100
commit3e16d6434778ee9e1d7d5369c53d1e9c6b0517cb (patch)
treec181e36b356af4fc4ce16ce687c22a0dad6275d3 /plugins
parent08b04f5df2b9a4747b8f8975785bdcd523d85445 (diff)
downloadzsh-3e16d6434778ee9e1d7d5369c53d1e9c6b0517cb.tar.gz
zsh-3e16d6434778ee9e1d7d5369c53d1e9c6b0517cb.tar.bz2
zsh-3e16d6434778ee9e1d7d5369c53d1e9c6b0517cb.zip
geeknote: update completion (#4986)
Fixes Completion only working for first parameter
Diffstat (limited to 'plugins')
-rw-r--r--plugins/geeknote/README.md17
-rw-r--r--plugins/geeknote/_geeknote267
2 files changed, 156 insertions, 128 deletions
diff --git a/plugins/geeknote/README.md b/plugins/geeknote/README.md
index 3f2353112..99c1fbf5b 100644
--- a/plugins/geeknote/README.md
+++ b/plugins/geeknote/README.md
@@ -1,12 +1,19 @@
-## ZSH-Geeknote
+ZSH-Geeknote
+============
[Geeknote](https://github.com/VitaliyRodnenko/geeknote) plugin for oh-my-zsh.
Plugins provides:
-- auto completion of commands and their options
-- alias `gn`
+* auto completion of commands and their options
+* alias `gn`
-You can find information how to install Geeknote and it's available commands on the [project website](http://www.geeknote.me/).
+## Installation
-Maintainer : Ján Koščo ([@s7anley](https://twitter.com/s7anley))
+### oh-my-zsh
+This plugin is already bundled in oh-my-zsh. To enable just configure plugin definition
+
+ plugins=( ... geeknote ...)
+
+### Antigen
+Use [Antigen's](https://github.com/zsh-users/antigen) bundle command to install by adding `antigen bundle s7anley/zsh-geeknote` to your `.zshrc` along with your other plugins.
diff --git a/plugins/geeknote/_geeknote b/plugins/geeknote/_geeknote
index cf1a187d2..a34be59b1 100644
--- a/plugins/geeknote/_geeknote
+++ b/plugins/geeknote/_geeknote
@@ -1,136 +1,157 @@
#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.
-# --------------- ------------------------------------------------------------
+
+# 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'
- 'logout'
- 'settings'
- 'create'
- 'edit'
- 'find'
- 'show'
- 'remove'
- 'notebook-list'
- 'notebook-create'
- 'notebook-edit'
- 'tag-list'
- 'tag-create'
- 'tag-edit'
- 'tag-remove'
- 'gnsync'
- 'user'
+ '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
+ _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
+ 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