diff options
author | Patrick Totzke <patricktotzke@gmail.com> | 2012-09-09 19:38:06 +0200 |
---|---|---|
committer | Patrick Totzke <patricktotzke@gmail.com> | 2012-09-09 19:38:06 +0200 |
commit | 2e213c05aee22163ff0e6c3b24497d14364cb79a (patch) | |
tree | 078d938b4de7d964d9b04898bdafc613531292fb /extra | |
parent | dbf65a6dc95451a9ae475d6dd6a91eacf9909363 (diff) |
extra: zsh completion file
cf issue #511
Diffstat (limited to 'extra')
-rw-r--r-- | extra/completion/alot-completion.zsh | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/extra/completion/alot-completion.zsh b/extra/completion/alot-completion.zsh new file mode 100644 index 00000000..2f2da2a3 --- /dev/null +++ b/extra/completion/alot-completion.zsh @@ -0,0 +1,52 @@ +#compdef alot + +# ZSH completion for `alot`, Shamelessly copied from notmuch's zsh completion file +# Copyright © 2009 Ingmar Vanhassel <ingmar@exherbo.org> +# Copyright © 2012 Patrick Totzke <patricktotzke@gmail.com> + +_alot_subcommands() +{ + local -a alot_subcommands + alot_subcommands=( + 'search:search for messages matching the search terms, display matching threads as results' + 'compose:compose a new message' + ) + + _describe -t command 'command' alot_subcommands +} + +_alot_search() +{ + _arguments -s : \ + '--sort=[sort results]:sorting:((newest_first\:"reverse chronological order" oldest_first\:"chronological order" message_id\:"lexicographically by Message Id"))' +} + +_alot_compose() +{ + _arguments -s : \ + '--omit_signature[do not add signature]' \ + '--sender=[From header]' \ + '--subject=[Subject header]' \ + '--cc=[Carbon Copy header]' \ + '--bcc=[Blind Carbon Copy header]' \ + '--template=[template file to use]' \ + '--attach=[Attach files]:attach:_files -/'\ +} + +_alot() +{ + if (( CURRENT > 2 )) ; then + local cmd=${words[2]} + curcontext="${curcontext%:*:*}:alot-$cmd" + (( CURRENT-- )) + shift words + _call_function ret _alot_$cmd + return ret + else + _alot_subcommands + fi +} + +_alot "$@" + +# vim: set sw=2 sts=2 ts=2 et ft=zsh : |