summaryrefslogtreecommitdiff
path: root/completions/function
blob: 6156e63db43cd35dfa3107b7b4eda30a89e7cbe2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# bash shell function completion                           -*- shell-script -*-

_function()
{
    local cur prev words cword
    _init_completion || return

    if [[ $1 == @(declare|typeset) ]]; then
        if [ "$prev" = -f ]; then
            COMPREPLY=( $( compgen -A function -- "$cur" ) )
        elif [[ "$cur" == -* ]]; then
            COMPREPLY=( $( compgen -W '-a -f -F -i -r -x -p' -- "$cur" ) )
        fi
    elif [ $cword -eq 1 ]; then
        COMPREPLY=( $( compgen -A function -- "$cur" ) )
    else
        COMPREPLY=( "() $( type -- ${words[1]} | sed -e 1,2d )" )
    fi
} &&
complete -F _function function declare typeset

# ex: ts=4 sw=4 et filetype=sh