aboutsummaryrefslogtreecommitdiff
path: root/bash
diff options
context:
space:
mode:
authorTom Ryder <tom@sanctum.geek.nz>2017-02-12 23:04:23 +1300
committerTom Ryder <tom@sanctum.geek.nz>2017-02-12 23:04:23 +1300
commit995fd3ec04c3fd7f236a21aadf41da50f58f40d3 (patch)
treefb6d06204de4cf9722e00e1d86f3aa2c5351d004 /bash
parentUse bashdefault if available in more completions (diff)
downloaddotfiles-995fd3ec04c3fd7f236a21aadf41da50f58f40d3.tar.gz
dotfiles-995fd3ec04c3fd7f236a21aadf41da50f58f40d3.zip
Add mail(1)/mutt(1) abook address completion
Diffstat (limited to 'bash')
-rw-r--r--bash/bash_completion.d/_abook_addresses.bash10
-rw-r--r--bash/bash_completion.d/mail.bash10
-rw-r--r--bash/bash_completion.d/mutt.bash10
3 files changed, 30 insertions, 0 deletions
diff --git a/bash/bash_completion.d/_abook_addresses.bash b/bash/bash_completion.d/_abook_addresses.bash
new file mode 100644
index 00000000..8e341172
--- /dev/null
+++ b/bash/bash_completion.d/_abook_addresses.bash
@@ -0,0 +1,10 @@
+# Email addresses from abook(1)
+_abook_addresses() {
+ while IFS=$'\t' read -r address _ ; do
+ case $address in
+ "${COMP_WORDS[COMP_CWORD]}"*)
+ COMPREPLY[${#COMPREPLY[@]}]=$address
+ ;;
+ esac
+ done < <(abook --mutt-query \@)
+}
diff --git a/bash/bash_completion.d/mail.bash b/bash/bash_completion.d/mail.bash
new file mode 100644
index 00000000..4476df12
--- /dev/null
+++ b/bash/bash_completion.d/mail.bash
@@ -0,0 +1,10 @@
+# Completion for mail(1) with abook(1) email addresses
+declare -F _abook_addresses >/dev/null ||
+ source "$HOME"/.bash_completion.d/_abook_addresses.bash
+
+# bashdefault requires Bash >=3.0
+if ((BASH_VERSINFO[0] >= 3)) ; then
+ complete -F _abook_addresses -o bashdefault -o default mail
+else
+ complete -F _abook_addresses -o default mail
+fi
diff --git a/bash/bash_completion.d/mutt.bash b/bash/bash_completion.d/mutt.bash
new file mode 100644
index 00000000..d8bcc15d
--- /dev/null
+++ b/bash/bash_completion.d/mutt.bash
@@ -0,0 +1,10 @@
+# Completion for mutt(1) with abook(1) email addresses
+declare -F _abook_addresses >/dev/null ||
+ source "$HOME"/.bash_completion.d/_abook_addresses.bash
+
+# bashdefault requires Bash >=3.0
+if ((BASH_VERSINFO[0] >= 3)) ; then
+ complete -F _abook_addresses -o bashdefault -o default mutt
+else
+ complete -F _abook_addresses -o default mutt
+fi