[PATCH 1/2] zsh: Initial zsh-completion for notmuch

classic Classic list List threaded Threaded
5 messages Options
Ingmar Vanhassel Ingmar Vanhassel
Reply | Threaded
Open this post in threaded view
|

[PATCH 1/2] zsh: Initial zsh-completion for notmuch

Signed-off-by: Ingmar Vanhassel <[hidden email]>
---
 _notmuch |   74 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 74 insertions(+), 0 deletions(-)
 create mode 100644 _notmuch

diff --git a/_notmuch b/_notmuch
new file mode 100644
index 0000000..00c9248
--- /dev/null
+++ b/_notmuch
@@ -0,0 +1,74 @@
+#compdef notmuch
+
+# ZSH completion for `notmuch`
+# Copyright 2009 Ingmar Vanhassel <[hidden email]>
+
+_notmuch_commands()
+{
+  local -a notmuch_commands
+  notmuch_commands=(
+    'setup:interactively set up notmuch for first use'
+    'new:find and import any new message to the database'
+    'search:search for messages matching the search terms, display matching threads as results'
+    'reply:constructs a reply template for a set of messages'
+    'show:show all messages matching the search terms'
+    'tag:add or remove tags for all messages matching the search terms'
+    'dump:creates a plain-text dump of the tags of each message'
+    'restore:restores the tags from the given file'
+    'help:show details on a command'
+  )
+
+  _describe -t command 'command' notmuch_commands
+}
+
+_notmuch_dump()
+{
+  _files
+}
+
+_notmuch_help_topics()
+{
+  local -a notmuch_help_topics
+  notmuch_help_topics=(
+    'search-terms:show common search-terms syntax'
+  )
+  _describe -t notmuch-help-topics 'topic' notmuch_help_topics
+}
+
+_notmuch_help()
+{
+  _alternative \
+    _notmuch_commands \
+    _notmuch_help_topics
+}
+
+_notmuch_restore()
+{
+  _files
+}
+
+_notmuch_search()
+{
+  _arguments -s : \
+    '--max-threads=[display only the first x threads from the search results]:number of threads to show: ' \
+    '--first=[omit the first x threads from the search results]:number of threads to omit: ' \
+    '--sort=[sort results]:sorting:((newest-first\:"reverse chronological order" oldest-first\:"chronological order"))'
+}
+
+_notmuch()
+{
+  if (( CURRENT > 2 )) ; then
+    local cmd=${words[2]}
+    curcontext="${curcontext%:*:*}:notmuch-$cmd"
+    (( CURRENT-- ))
+    shift words
+    _call_function ret _notmuch_$cmd
+    return ret
+  else
+    _notmuch_commands
+  fi
+}
+
+_notmuch "$@"
+
+# vim: set sw=2 sts=2 ts=2 et ft=zsh :
--
1.6.5.2.433.g23cdb


Carl Worth-2 Carl Worth-2
Reply | Threaded
Open this post in threaded view
|

Re: [PATCH 1/2] zsh: Initial zsh-completion for notmuch

On Wed, 18 Nov 2009 23:50:40 +0100, Ingmar Vanhassel <[hidden email]> wrote:
> Signed-off-by: Ingmar Vanhassel <[hidden email]>
> ---
>  _notmuch |   74 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
>  1 files changed, 74 insertions(+), 0 deletions(-)
>  create mode 100644 _notmuch

Looks nice. Could you also add a Makefile.local target to install this
in the right place so that it actually does something?

And I'd like it to have a more descriptive name in the source tree (such
as notmuch-completion.zsh).

Thanks,

-Carl

Ingmar Vanhassel Ingmar Vanhassel
Reply | Threaded
Open this post in threaded view
|

Re: [PATCH 1/2] zsh: Initial zsh-completion for notmuch

Excerpts from Carl Worth's message of Thu Nov 19 01:51:51 +0100 2009:
> On Wed, 18 Nov 2009 23:50:40 +0100, Ingmar Vanhassel <[hidden email]> wrote:
> > Signed-off-by: Ingmar Vanhassel <[hidden email]>
> > ---
> >  _notmuch |   74 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> >  1 files changed, 74 insertions(+), 0 deletions(-)
> >  create mode 100644 _notmuch
>
> Looks nice. Could you also add a Makefile.local target to install this
> in the right place so that it actually does something?

Sure, any suggestions on the name? Or did you mean to add it to the
install target?

> And I'd like it to have a more descriptive name in the source tree (such
> as notmuch-completion.zsh).

Alright, will do. I just named it what it'll be installed as, but either
works.

> Thanks,
>
> -Carl
--
Exherbo KDE, X.org maintainer

Ingmar Vanhassel Ingmar Vanhassel
Reply | Threaded
Open this post in threaded view
|

[PATCH 1/2] zsh-completion: Initial zsh-completion for notmuch

In reply to this post by Carl Worth-2
Signed-off-by: Ingmar Vanhassel <[hidden email]>
---
 contrib/notmuch-completion.zsh |   74 ++++++++++++++++++++++++++++++++++++++++
 1 files changed, 74 insertions(+), 0 deletions(-)
 create mode 100644 contrib/notmuch-completion.zsh

Moved & renamed as you suggested.

diff --git a/contrib/notmuch-completion.zsh b/contrib/notmuch-completion.zsh
new file mode 100644
index 0000000..67a9aba
--- /dev/null
+++ b/contrib/notmuch-completion.zsh
@@ -0,0 +1,74 @@
+#compdef notmuch
+
+# ZSH completion for `notmuch`
+# Copyright © 2009 Ingmar Vanhassel <[hidden email]>
+
+_notmuch_commands()
+{
+  local -a notmuch_commands
+  notmuch_commands=(
+    'setup:interactively set up notmuch for first use'
+    'new:find and import any new message to the database'
+    'search:search for messages matching the search terms, display matching threads as results'
+    'reply:constructs a reply template for a set of messages'
+    'show:show all messages matching the search terms'
+    'tag:add or remove tags for all messages matching the search terms'
+    'dump:creates a plain-text dump of the tags of each message'
+    'restore:restores the tags from the given file'
+    'help:show details on a command'
+  )
+
+  _describe -t command 'command' notmuch_commands
+}
+
+_notmuch_dump()
+{
+  _files
+}
+
+_notmuch_help_topics()
+{
+  local -a notmuch_help_topics
+  notmuch_help_topics=(
+    'search-terms:show common search-terms syntax'
+  )
+  _describe -t notmuch-help-topics 'topic' notmuch_help_topics
+}
+
+_notmuch_help()
+{
+  _alternative \
+    _notmuch_commands \
+    _notmuch_help_topics
+}
+
+_notmuch_restore()
+{
+  _files
+}
+
+_notmuch_search()
+{
+  _arguments -s : \
+    '--max-threads=[display only the first x threads from the search results]:number of threads to show: ' \
+    '--first=[omit the first x threads from the search results]:number of threads to omit: ' \
+    '--sort=[sort results]:sorting:((newest-first\:"reverse chronological order" oldest-first\:"chronological order"))'
+}
+
+_notmuch()
+{
+  if (( CURRENT > 2 )) ; then
+    local cmd=${words[2]}
+    curcontext="${curcontext%:*:*}:notmuch-$cmd"
+    (( CURRENT-- ))
+    shift words
+    _call_function ret _notmuch_$cmd
+    return ret
+  else
+    _notmuch_commands
+  fi
+}
+
+_notmuch "$@"
+
+# vim: set sw=2 sts=2 ts=2 et ft=zsh :
--
1.6.5.2.433.g23cdb


Ingmar Vanhassel Ingmar Vanhassel
Reply | Threaded
Open this post in threaded view
|

[PATCH 2/2] bash-completion: Move to contrib

In reply to this post by Carl Worth-2
Signed-off-by: Ingmar Vanhassel <[hidden email]>
---
 Makefile.local                                     |    2 +-
 .../notmuch-completion.bash                        |    0
 2 files changed, 1 insertions(+), 1 deletions(-)
 rename notmuch-completion.bash => contrib/notmuch-completion.bash (100%)

Move to contrib/ for consistency with zsh completion.

diff --git a/Makefile.local b/Makefile.local
index ecd4ceb..74a72aa 100644
--- a/Makefile.local
+++ b/Makefile.local
@@ -33,7 +33,7 @@ install: all notmuch.1.gz
  done ;
  install notmuch $(DESTDIR)$(prefix)/bin/
  install -m0644 notmuch.1.gz $(DESTDIR)$(prefix)/share/man/man1/
- install notmuch-completion.bash \
+ install contrib/notmuch-completion.bash \
  $(DESTDIR)/etc/bash_completion.d/notmuch
 
 install-emacs: install emacs
diff --git a/notmuch-completion.bash b/contrib/notmuch-completion.bash
similarity index 100%
rename from notmuch-completion.bash
rename to contrib/notmuch-completion.bash
--
1.6.5.2.433.g23cdb