. man.sh
man <TAB>
man section <TAB>

-- 
Lev V. CHIRIN
Enterprise Information Systems
_list_mans() {
    local cmd="$1" cur="$2"
    local prev

    case "$3" in 
        ?) prev="$3";;
        *) prev="";;
    esac

    COMPREPLY=(\
        $(/bin/ls {/usr/share/man,/usr/X11R6/man,/usr/local/man}/man$prev* 2>/dev/null 
|\
            perl -ne 'if (s/^('"$2"'.*?)(?:\.[^.]+(?:\.gz)?)$/$1/) { print }' |\
                grep -Ev ':$' ) \
            )
}

complete -F _list_mans man

Reply via email to