[PATCH] completion: update bash completion
Tomi Ollila
tomi.ollila at iki.fi
Thu Nov 7 05:30:10 PST 2013
On Wed, Nov 06 2013, Jani Nikula <jani at nikula.org> wrote:
> Update bash completion to cover new commands and options:
>
> notmuch compact --quiet --backup=DIR
> notmuch count --output=files --batch --input=FILE
> notmuch insert --folder=DIR --create-folder
> notmuch search --exclude=all --duplicate=N
> notmuch show --include-html
> notmuch tag --batch --input=FILE --remove-all
These changes looks sensible and consistent to me. +1
Tomi
>
> ---
>
> This logically depends on id:cover.1383481295.git.jani at nikula.org
> which adds --quiet and --backup=DIR parameters to compact.
> ---
> completion/notmuch-completion.bash | 89 +++++++++++++++++++++++++++++++++++---
> 1 file changed, 82 insertions(+), 7 deletions(-)
>
> diff --git a/completion/notmuch-completion.bash b/completion/notmuch-completion.bash
> index 7bd7745..04324bb 100644
> --- a/completion/notmuch-completion.bash
> +++ b/completion/notmuch-completion.bash
> @@ -59,6 +59,29 @@ _notmuch_search_terms()
> __ltrim_colon_completions "${cur}"
> }
>
> +_notmuch_compact()
> +{
> + local cur prev words cword split
> + _init_completion -s || return
> +
> + $split &&
> + case "${prev}" in
> + --backup)
> + _filedir
> + return
> + ;;
> + esac
> +
> + ! $split &&
> + case "${cur}" in
> + -*)
> + local options="--backup= --quiet"
> + compopt -o nospace
> + COMPREPLY=( $(compgen -W "$options" -- ${cur}) )
> + ;;
> + esac
> +}
> +
> _notmuch_config()
> {
> local cur prev words cword split
> @@ -89,19 +112,23 @@ _notmuch_count()
> $split &&
> case "${prev}" in
> --output)
> - COMPREPLY=( $( compgen -W "messages threads" -- "${cur}" ) )
> + COMPREPLY=( $( compgen -W "messages threads files" -- "${cur}" ) )
> return
> ;;
> --exclude)
> COMPREPLY=( $( compgen -W "true false" -- "${cur}" ) )
> return
> ;;
> + --input)
> + _filedir
> + return
> + ;;
> esac
>
> ! $split &&
> case "${cur}" in
> -*)
> - local options="--output= --exclude="
> + local options="--output= --exclude= --batch --input="
> compopt -o nospace
> COMPREPLY=( $(compgen -W "$options" -- ${cur}) )
> ;;
> @@ -141,6 +168,39 @@ _notmuch_dump()
> esac
> }
>
> +_notmuch_insert()
> +{
> + local cur prev words cword split
> + # handle tags with colons and equal signs
> + _init_completion -s -n := || return
> +
> + $split &&
> + case "${prev}" in
> + --folder)
> + _filedir
> + return
> + ;;
> + esac
> +
> + ! $split &&
> + case "${cur}" in
> + --*)
> + local options="--create-folder --folder="
> + compopt -o nospace
> + COMPREPLY=( $(compgen -W "$options" -- ${cur}) )
> + return
> + ;;
> + +*)
> + COMPREPLY=( $(compgen -P "+" -W "`notmuch search --output=tags \*`" -- ${cur##+}) )
> + ;;
> + -*)
> + COMPREPLY=( $(compgen -P "-" -W "`notmuch search --output=tags \*`" -- ${cur##-}) )
> + ;;
> + esac
> + # handle tags with colons
> + __ltrim_colon_completions "${cur}"
> +}
> +
> _notmuch_new()
> {
> local cur prev words cword split
> @@ -231,7 +291,7 @@ _notmuch_search()
> return
> ;;
> --exclude)
> - COMPREPLY=( $( compgen -W "true false flag" -- "${cur}" ) )
> + COMPREPLY=( $( compgen -W "true false flag all" -- "${cur}" ) )
> return
> ;;
> esac
> @@ -239,7 +299,7 @@ _notmuch_search()
> ! $split &&
> case "${cur}" in
> -*)
> - local options="--format= --output= --sort= --offset= --limit= --exclude="
> + local options="--format= --output= --sort= --offset= --limit= --exclude= --duplicate="
> compopt -o nospace
> COMPREPLY=( $(compgen -W "$options" -- ${cur}) )
> ;;
> @@ -273,7 +333,7 @@ _notmuch_show()
> ! $split &&
> case "${cur}" in
> -*)
> - local options="--entire-thread= --format= --exclude= --body= --format-version= --part= --verify --decrypt"
> + local options="--entire-thread= --format= --exclude= --body= --format-version= --part= --verify --decrypt --include-html"
> compopt -o nospace
> COMPREPLY=( $(compgen -W "$options" -- ${cur}) )
> ;;
> @@ -287,9 +347,24 @@ _notmuch_tag()
> {
> local cur prev words cword split
> # handle tags with colons and equal signs
> - _init_completion -n := || return
> + _init_completion -s -n := || return
> +
> + $split &&
> + case "${prev}" in
> + --input)
> + _filedir
> + return
> + ;;
> + esac
>
> + ! $split &&
> case "${cur}" in
> + --*)
> + local options="--batch --input= --remove-all"
> + compopt -o nospace
> + COMPREPLY=( $(compgen -W "$options" -- ${cur}) )
> + return
> + ;;
> +*)
> COMPREPLY=( $(compgen -P "+" -W "`notmuch search --output=tags \*`" -- ${cur##+}) )
> ;;
> @@ -307,7 +382,7 @@ _notmuch_tag()
>
> _notmuch()
> {
> - local _notmuch_commands="config count dump help new reply restore search setup show tag"
> + local _notmuch_commands="compact config count dump help insert new reply restore search setup show tag"
> local arg cur prev words cword split
> _init_completion || return
>
> --
> 1.8.4.rc3
>
> _______________________________________________
> notmuch mailing list
> notmuch at notmuchmail.org
> http://notmuchmail.org/mailman/listinfo/notmuch
More information about the notmuch
mailing list