[Bash-completion-commits] [SCM] bash-completion branch, master, updated. 1.3-151-g1709686

Ville Skyttä ville.skytta at iki.fi
Thu Apr 28 18:45:59 UTC 2011


The following commit has been merged in the master branch:
commit efeb1a22ddfd59a1bb9daac08a2d3740257fb100
Author: Ville Skyttä <ville.skytta at iki.fi>
Date:   Wed Apr 27 23:56:08 2011 +0300

    man: Add option parsing and completion.

diff --git a/completions/man b/completions/man
index 2515f2d..75f63fc 100644
--- a/completions/man
+++ b/completions/man
@@ -4,16 +4,48 @@
 _man()
 {
     local cur prev words cword
-    _init_completion -n : || return
+    _init_completion -n := || return
+
+    local split=false
+    _split_longopt && split=true
 
     local i sect manpath manext mansect uname
 
     manext="@([0-9lnp]|[0-9][px]|man|3pm)?(.@([gx]z|bz2|lzma|Z))"
     mansect="@([0-9lnp]|[0-9][px]|3pm)"
 
-    if [[ "$prev" == -l ]]; then
-        _filedir $manext
-        return 0
+    case $prev in
+        -C|--config-file)
+            _filedir conf
+            return
+            ;;
+        -l|--local-file)
+            _filedir $manext
+            return
+            ;;
+        -M|--manpath)
+            _filedir -d
+            return
+            ;;
+        -P|--pager)
+            COMPREPLY=( $( compgen -c -- "$cur" ) )
+            return
+            ;;
+        -p|--preprocessor)
+            COMPREPLY=( $( compgen -W 'e p t g r v' -- "$cur" ) )
+            return
+            ;;
+        -L|--locale|-m|--systems|-e|--extension|-r|--prompt|-R|--recode|\
+        -E|--encoding)
+            return
+            ;;
+    esac
+
+    $split && return
+
+    if [[ $cur == -* ]]; then
+        COMPREPLY=( $( compgen -W '$( _parse_help "$1" -h )' -- "$cur" ) )
+        return
     fi
 
     _expand || return 0

-- 
bash-completion



More information about the Bash-completion-commits mailing list