The following commit has been merged in the master branch:
commit 6a9c2b191b207b8950484cbd5c372d8c6e52cfaf
Author: David Paleino <[email protected]>
Date:   Fri Jun 5 08:23:47 2009 +0200

    Split mutt completion to contrib/mutt

diff --git a/CHANGES b/CHANGES
index df99934..0462a23 100644
--- a/CHANGES
+++ b/CHANGES
@@ -13,6 +13,7 @@ bash-completion (1.x)
     (Debian: #531343)
   * Don't assume "sed" being GNU sed, use "gsed" whenever available
     (Debian: #501479, Alioth: #311393)
+  * Split mutt completion to contrib/mutt
 
   [ Ville Skyttä ]
   * Split yum and yum-arch completion into contrib/yum.
diff --git a/Makefile.am b/Makefile.am
index d73b912..bac647b 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -63,6 +63,7 @@ bashcomp_DATA = contrib/ant \
                contrib/mysqladmin \
                contrib/mtx \
                contrib/munin-node \
+               contrib/mutt \
                contrib/ncftp \
                contrib/net-tools \
                contrib/ntpdate \
diff --git a/bash_completion b/bash_completion
index 15e9b34..4f8d673 100644
--- a/bash_completion
+++ b/bash_completion
@@ -3028,147 +3028,6 @@ _pineaddr()
 } &&
 complete -F _pineaddr $default pine
 
-# mutt completion
-#
-# Mutt doesn't have an "addressbook" like Pine, but it has aliases and
-# a "query" function to retrieve addresses, so that's what we use here.
-have mutt || have muttng && {
-_muttaddr()
-{
-       _muttaliases
-       _muttquery
-
-       cur=`_get_cword`
-       COMPREPLY=( "${comprep...@]}" $( compgen -u -- $cur ) )
-
-       return 0
-}
-
-_muttconffiles()
-{
-       local file sofar
-       local -a newconffiles
-
-       sofar=" $1 "
-       shift
-       while [[ "$1" ]]; do
-           newconffiles=( $(sed -rn 
's|^source[[:space:]]+([^[:space:]]+).*$|\1|p' $(eval echo $1) ) )
-           for file in "${newconffil...@]}"; do
-               [[ ! "$file" ]] || [[ "${sofar/ ${file} / }" != "$sofar" ]] &&
-                   continue
-               sofar="$sofar $file"
-               sofar=" $(eval _muttconffiles \"$sofar\" $file) "
-           done
-           shift
-       done
-       echo $sofar
-}
-
-_muttaliases()
-{
-       local cur muttrc
-       local -a conffiles aliases
-       cur=`_get_cword =`
-
-       [ -f ~/.${muttcmd}/${muttcmd}rc ] && muttrc="~/.${muttcmd}/${muttcmd}rc"
-       [ -f ~/.${muttcmd}rc ] && muttrc="~/.${muttcmd}rc"
-       [ -z "$muttrc" ] && return 0
-
-       conffiles=( $(eval _muttconffiles $muttrc $muttrc) )
-       aliases=( $( sed -rn 's|^alias[[:space:]]+([^[:space:]]+).*$|\1|p' \
-                       $(eval echo "${conffil...@]}") ) )
-       COMPREPLY=( "${comprep...@]}" $( compgen -W "${aliases[*]}" -- $cur ) )
-
-       return 0
-}
-
-_muttquery()
-{
-       local cur querycmd
-       local -a queryresults
-       cur=`_get_cword`
-
-       querycmd="$( $muttcmd -Q query_command  | sed -r 
's|^query_command=\"(.*)\"$|\1|; s|%s|'$cur'|' )"
-       if [ -z "$cur" -o -z "$querycmd" ]; then
-           queryresults=()
-       else
-           queryresults=( $( $querycmd | \
-             sed -nr '2,$s|^([^[:space:]]+).*|\1|p' ) )
-       fi
-
-       COMPREPLY=( "${comprep...@]}" $( compgen -W "${queryresults[*]}" \
-                       -- $cur ) )
-
-       return 0
-}
-
-_muttfiledir()
-{
-       local cur folder spoolfile
-       cur=`_get_cword`
-
-       # This is currently not working so well. Perhaps this function should
-       # just call _filedir() for the moment.
-       if [[ $cur == [=+]* ]]; then
-               folder="$( $muttcmd -Q folder | sed -r 
's|^folder=\"(.*)\"$|\1|' )"
-               : folder:=~/Mail
-
-               # Match any file in $folder beginning with $cur
-               # (minus the leading '=' sign).
-               COMPREPLY=( $( compgen -f -- "$folder/${cur:1}" ) )
-               COMPREPLY=( ${comprep...@]#$folder/} )
-               return 0
-       elif [ "$cur" == !* ]; then
-               spoolfile="$( $muttcmd -Q spoolfile | sed -r 
's|^spoolfile=\"(.*)\"$|\1|' )"
-               [ ! -z "$spoolfile" ] && eval cur="${cur/^!/$spoolfile}";
-       fi
-       _filedir
-
-       return 0
-}
-
-_mutt()
-{
-       local cur prev
-       cur=`_get_cword`
-       prev=${COMP_WORDS[COMP_CWORD-1]}
-
-       COMPREPLY=()
-
-       [ ${COMP_WORDS[0]} == muttng ] && muttcmd="muttng" || muttcmd="mutt"
-
-       case "$cur" in
-       -*)
-               COMPREPLY=( $( compgen -W '-A -a -b -c -e -f -F -H -i -m -n \
-                                           -p -Q -R -s -v -x -y -z -Z -h' \
-                                           -- $cur ) )
-               return 0
-               ;;
-       *)
-           case "$prev" in
-           -@(a|f|F|H|i))
-                   _muttfiledir
-                   return 0
-                   ;;
-           -A)
-                   _muttaliases
-                   return 0
-                   ;;
-           -@(e|m|Q|s|h|p|R|v|y|z|Z))
-                   return 0
-                   ;;
-           *)
-                   _muttaddr
-                   return 0
-                   ;;
-           esac
-           ;;
-       esac
-
-}
-complete -F _mutt $default $filenames mutt muttng
-}
-
 _configure_func()
 {
        local cur
diff --git a/contrib/mutt b/contrib/mutt
new file mode 100644
index 0000000..e3803d0
--- /dev/null
+++ b/contrib/mutt
@@ -0,0 +1,140 @@
+# mutt completion
+#
+# Mutt doesn't have an "addressbook" like Pine, but it has aliases and
+# a "query" function to retrieve addresses, so that's what we use here.
+have mutt || have muttng && {
+_muttaddr()
+{
+       _muttaliases
+       _muttquery
+
+       cur=`_get_cword`
+       COMPREPLY=( "${comprep...@]}" $( compgen -u -- $cur ) )
+
+       return 0
+}
+
+_muttconffiles()
+{
+       local file sofar
+       local -a newconffiles
+
+       sofar=" $1 "
+       shift
+       while [[ "$1" ]]; do
+           newconffiles=( $(sed -rn 
's|^source[[:space:]]+([^[:space:]]+).*$|\1|p' $(eval echo $1) ) )
+           for file in "${newconffil...@]}"; do
+               [[ ! "$file" ]] || [[ "${sofar/ ${file} / }" != "$sofar" ]] &&
+                   continue
+               sofar="$sofar $file"
+               sofar=" $(eval _muttconffiles \"$sofar\" $file) "
+           done
+           shift
+       done
+       echo $sofar
+}
+
+_muttaliases()
+{
+       local cur muttrc
+       local -a conffiles aliases
+       cur=`_get_cword =`
+
+       [ -f ~/.${muttcmd}/${muttcmd}rc ] && muttrc="~/.${muttcmd}/${muttcmd}rc"
+       [ -f ~/.${muttcmd}rc ] && muttrc="~/.${muttcmd}rc"
+       [ -z "$muttrc" ] && return 0
+
+       conffiles=( $(eval _muttconffiles $muttrc $muttrc) )
+       aliases=( $( sed -rn 's|^alias[[:space:]]+([^[:space:]]+).*$|\1|p' \
+                       $(eval echo "${conffil...@]}") ) )
+       COMPREPLY=( "${comprep...@]}" $( compgen -W "${aliases[*]}" -- $cur ) )
+
+       return 0
+}
+
+_muttquery()
+{
+       local cur querycmd
+       local -a queryresults
+       cur=`_get_cword`
+
+       querycmd="$( $muttcmd -Q query_command  | sed -r 
's|^query_command=\"(.*)\"$|\1|; s|%s|'$cur'|' )"
+       if [ -z "$cur" -o -z "$querycmd" ]; then
+           queryresults=()
+       else
+           queryresults=( $( $querycmd | \
+             sed -nr '2,$s|^([^[:space:]]+).*|\1|p' ) )
+       fi
+
+       COMPREPLY=( "${comprep...@]}" $( compgen -W "${queryresults[*]}" \
+                       -- $cur ) )
+
+       return 0
+}
+
+_muttfiledir()
+{
+       local cur folder spoolfile
+       cur=`_get_cword`
+
+       # This is currently not working so well. Perhaps this function should
+       # just call _filedir() for the moment.
+       if [[ $cur == [=+]* ]]; then
+               folder="$( $muttcmd -Q folder | sed -r 
's|^folder=\"(.*)\"$|\1|' )"
+               : folder:=~/Mail
+
+               # Match any file in $folder beginning with $cur
+               # (minus the leading '=' sign).
+               COMPREPLY=( $( compgen -f -- "$folder/${cur:1}" ) )
+               COMPREPLY=( ${comprep...@]#$folder/} )
+               return 0
+       elif [ "$cur" == !* ]; then
+               spoolfile="$( $muttcmd -Q spoolfile | sed -r 
's|^spoolfile=\"(.*)\"$|\1|' )"
+               [ ! -z "$spoolfile" ] && eval cur="${cur/^!/$spoolfile}";
+       fi
+       _filedir
+
+       return 0
+}
+
+_mutt()
+{
+       local cur prev
+       cur=`_get_cword`
+       prev=${COMP_WORDS[COMP_CWORD-1]}
+
+       COMPREPLY=()
+
+       [ ${COMP_WORDS[0]} == muttng ] && muttcmd="muttng" || muttcmd="mutt"
+
+       case "$cur" in
+       -*)
+               COMPREPLY=( $( compgen -W '-A -a -b -c -e -f -F -H -i -m -n \
+                                           -p -Q -R -s -v -x -y -z -Z -h' \
+                                           -- $cur ) )
+               return 0
+               ;;
+       *)
+           case "$prev" in
+           -@(a|f|F|H|i))
+                   _muttfiledir
+                   return 0
+                   ;;
+           -A)
+                   _muttaliases
+                   return 0
+                   ;;
+           -@(e|m|Q|s|h|p|R|v|y|z|Z))
+                   return 0
+                   ;;
+           *)
+                   _muttaddr
+                   return 0
+                   ;;
+           esac
+           ;;
+       esac
+
+}
+complete -F _mutt $default $filenames mutt muttng
+}

-- 
bash-completion

_______________________________________________
Bash-completion-commits mailing list
[email protected]
http://lists.alioth.debian.org/mailman/listinfo/bash-completion-commits

Reply via email to