From: Carl Worth Date: Tue, 6 Apr 2010 17:48:21 +0000 (-0700) Subject: Rename the "contrib" directory to "completion". X-Git-Tag: debian-0.1-1~22 X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=commitdiff_plain;h=e1a84ab1733c78fce8afeef8f022122988fc8a10 Rename the "contrib" directory to "completion". The original "contrib" name is lousy. Everything in notmuch has been contributed, and we are integrating as much of it as possible, (rather than making users grub through contrib looking for useful pieces to install). Meanwhile, the only things we have in contrib are command-line completion scripts, so "completion" makes more sense as a name, (and helps make "./configure" slightly less ambiguous). --- diff --git a/completion/README b/completion/README new file mode 100644 index 00000000..40a30e5f --- /dev/null +++ b/completion/README @@ -0,0 +1,10 @@ +notmuch completion + +This directory contains support for various shells to automatically +complete partially entered notmuch command lines. + +notmuch-completion.bash Command-line completion for the bash shell + +notmuch-completion.tcsh Command-line completion for the tcsh shell + +notmuch-completion.zsh Command-line completion for the zsh shell diff --git a/completion/notmuch-completion.bash b/completion/notmuch-completion.bash new file mode 100644 index 00000000..8665268c --- /dev/null +++ b/completion/notmuch-completion.bash @@ -0,0 +1,71 @@ +# Bash completion for notmuch +# +# Copyright © 2009 Carl Worth +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see http://www.gnu.org/licenses/ . +# +# Author: Carl Worth +# +# Based on "notmuch help" as follows: +# +# Usage: notmuch [args...] +# +# Where and [args...] are as follows: +# +# setup +# +# new +# +# search [options] [...] +# +# show +# +# reply +# +# tag +|- [...] [--] [...] +# +# dump [] +# +# restore +# +# help [] + +_notmuch() +{ + local current previous commands help_options + + previous=${COMP_WORDS[COMP_CWORD-1]} + current="${COMP_WORDS[COMP_CWORD]}" + + commands="setup new search show reply tag dump restore help" + help_options="setup new search show reply tag dump restore search-terms" + search_options="--max-threads= --first= --sort=" + + COMPREPLY=() + + case $COMP_CWORD in + 1) + COMPREPLY=( $(compgen -W "${commands}" -- ${current}) ) ;; + 2) + case $previous in + help) + COMPREPLY=( $(compgen -W "${help_options}" -- ${current}) ) ;; + search) + COMPREPLY=( $(compgen -W "${search_options}" -- ${current}) ) ;; + esac + ;; + esac +} + +complete -o default -o bashdefault -F _notmuch notmuch diff --git a/completion/notmuch-completion.tcsh b/completion/notmuch-completion.tcsh new file mode 100644 index 00000000..c0d3a446 --- /dev/null +++ b/completion/notmuch-completion.tcsh @@ -0,0 +1,2 @@ +set NOTMUCH_CMD=`notmuch help | awk '/\t/' | cut -f2 |grep -v '^$'` +complete notmuch 'p/1/$NOTMUCH_CMD/' diff --git a/completion/notmuch-completion.zsh b/completion/notmuch-completion.zsh new file mode 100644 index 00000000..67a9aba8 --- /dev/null +++ b/completion/notmuch-completion.zsh @@ -0,0 +1,74 @@ +#compdef notmuch + +# ZSH completion for `notmuch` +# Copyright © 2009 Ingmar Vanhassel + +_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 : diff --git a/contrib/notmuch-completion.bash b/contrib/notmuch-completion.bash deleted file mode 100644 index 8665268c..00000000 --- a/contrib/notmuch-completion.bash +++ /dev/null @@ -1,71 +0,0 @@ -# Bash completion for notmuch -# -# Copyright © 2009 Carl Worth -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see http://www.gnu.org/licenses/ . -# -# Author: Carl Worth -# -# Based on "notmuch help" as follows: -# -# Usage: notmuch [args...] -# -# Where and [args...] are as follows: -# -# setup -# -# new -# -# search [options] [...] -# -# show -# -# reply -# -# tag +|- [...] [--] [...] -# -# dump [] -# -# restore -# -# help [] - -_notmuch() -{ - local current previous commands help_options - - previous=${COMP_WORDS[COMP_CWORD-1]} - current="${COMP_WORDS[COMP_CWORD]}" - - commands="setup new search show reply tag dump restore help" - help_options="setup new search show reply tag dump restore search-terms" - search_options="--max-threads= --first= --sort=" - - COMPREPLY=() - - case $COMP_CWORD in - 1) - COMPREPLY=( $(compgen -W "${commands}" -- ${current}) ) ;; - 2) - case $previous in - help) - COMPREPLY=( $(compgen -W "${help_options}" -- ${current}) ) ;; - search) - COMPREPLY=( $(compgen -W "${search_options}" -- ${current}) ) ;; - esac - ;; - esac -} - -complete -o default -o bashdefault -F _notmuch notmuch diff --git a/contrib/notmuch-completion.tcsh b/contrib/notmuch-completion.tcsh deleted file mode 100644 index c0d3a446..00000000 --- a/contrib/notmuch-completion.tcsh +++ /dev/null @@ -1,2 +0,0 @@ -set NOTMUCH_CMD=`notmuch help | awk '/\t/' | cut -f2 |grep -v '^$'` -complete notmuch 'p/1/$NOTMUCH_CMD/' diff --git a/contrib/notmuch-completion.zsh b/contrib/notmuch-completion.zsh deleted file mode 100644 index 67a9aba8..00000000 --- a/contrib/notmuch-completion.zsh +++ /dev/null @@ -1,74 +0,0 @@ -#compdef notmuch - -# ZSH completion for `notmuch` -# Copyright © 2009 Ingmar Vanhassel - -_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 :