From 7351770679e2ef9bdc137e94e1b662aa085ec11f Mon Sep 17 00:00:00 2001 From: iStagnant Date: Fri, 10 Mar 2023 16:54:07 +0200 Subject: [PATCH 1/2] Added basic zsh completion --- completion/mutt-wizard-completion.zsh | 32 +++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 completion/mutt-wizard-completion.zsh diff --git a/completion/mutt-wizard-completion.zsh b/completion/mutt-wizard-completion.zsh new file mode 100644 index 0000000..119df07 --- /dev/null +++ b/completion/mutt-wizard-completion.zsh @@ -0,0 +1,32 @@ +#compdef mw + +_arguments \ + '1:flag:->flags' \ + '*:: :->args' + +case "$state" in + flags) + local -a opts + opts=( + '-a:Add an email address' + '-l:List email addresses configured' + '-d:Remove an already added address' + '-D:Force remove account without confirmation' + '-y:Sync mail for account by name' + '-Y:Sync mail for all accounts' + '-t:Toggle automatic mailsync every minutes' + '-T:Toggle automatic mailsync every 10 minutes' + '-r:order account numbers' + ) + _describe 'flags' opts + ;; + args) + case $line[1] in + -a) + _alternative \ + 'args: :((-u\:"Account login name if not full address" -n\:"Real name to be on the email account" -i\:"IMAP/POP server address" -I\:"IMAP/POP server port" -s\:"SMTP server address" -S\:"SMTP server port" -x\:"Password for account (recommended to be in double quotes)" -P\:"Pass Prefix (prefix of the file where password is stored)" -p\:"Add for a POP server instead of IMAP." -X\:"Delete an account'"'"'s local email too when deleting." -o\:"Configure address, but keep mail online." -f\:"Assume typical English mailboxes without attempting log-on."))' + ;; + -D|-y) + _values 'email list' $(mw -l | cut -f2) + esac +esac From a4e90d2c6f7d92f6c72fbbfcf377ab9d1829996e Mon Sep 17 00:00:00 2001 From: Luke Smith Date: Fri, 10 Mar 2023 10:14:36 -0500 Subject: [PATCH 2/2] actually install zsh completion --- Makefile | 5 +++++ completion/{mutt-wizard-completion.zsh => _mutt-wizard.zsh} | 0 2 files changed, 5 insertions(+) rename completion/{mutt-wizard-completion.zsh => _mutt-wizard.zsh} (100%) diff --git a/Makefile b/Makefile index 81b0c2e..a150447 100644 --- a/Makefile +++ b/Makefile @@ -34,10 +34,15 @@ install: sed -iba 's:/usr/local:$(PREFIX):' $(DESTDIR)$(PREFIX)/share/mutt-wizard/mailcap; \ rm -f $(DESTDIR)$(PREFIX)/share/mutt-wizard/mailcapba; \ fi + mkdir -p $(DESTDIR)$(PREFIX)/share/zsh/site-functions/ + chmod 755 $(DESTDIR)$(PREFIX)/share/zsh/site-functions/ + cp -f completion/_mutt-wizard.zsh $(DESTDIR)$(PREFIX)/share/zsh/site-functions/_mutt-wizard.zsh + chmod 644 $(DESTDIR)$(PREFIX)/share/zsh/site-functions/_mutt-wizard.zsh uninstall: rm -f $(DESTDIR)$(PREFIX)/bin/mw $(DESTDIR)$(PREFIX)/bin/mailsync $(DESTDIR)$(PREFIX)/lib/mutt-wizard/openfile rm -rf $(DESTDIR)$(PREFIX)/share/mutt-wizard $(DESTDIR)$(PREFIX)/lib/mutt-wizard rm -f $(DESTDIR)$(MANPREFIX)/man1/mw.1 $(DESTDIR)$(MANPREFIX)/man1/mailsync.1 + rm -f $(DESTDIR)$(PREFIX)/share/zsh/site-functions/_mutt-wizard.zsh .PHONY: install uninstall diff --git a/completion/mutt-wizard-completion.zsh b/completion/_mutt-wizard.zsh similarity index 100% rename from completion/mutt-wizard-completion.zsh rename to completion/_mutt-wizard.zsh