File: bash-completion

package info (click to toggle)
liquidsoap 2.1.3-2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 12,924 kB
  • sloc: ml: 73,577; javascript: 24,836; sh: 3,440; makefile: 764; xml: 114; ansic: 96; lisp: 62; python: 35; perl: 8; ruby: 8
file content (41 lines) | stat: -rw-r--r-- 1,059 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
if [ -z "$BASH_VERSION" ]; then return 0; fi

_liquidsoap_add()
{
    IFS=$'\n' _liquidsoap_reply+=("$@")
}

_liquidsoap_add_f()
{
    local cmd
    cmd=$1; shift
    _liquidsoap_add "$($cmd "$@" 2>/dev/null)"
}

_liquidsoap()
{
    local IFS cmd cur compgen_opt

    cmd=${COMP_WORDS[1]}
    cur=${COMP_WORDS[COMP_CWORD]}
    prev=${COMP_WORDS[COMP_CWORD-1]}
    compgen_opt=()
    _liquidsoap_reply=()

    case "$prev" in
        "-h"|"-help"|"--help")
            _liquidsoap_add_f liquidsoap --list-functions
            ;;

        *)
            _liquidsoap_reply+=("-c --check --list-settings -d --daemon --debug -h --help -i --interactive --list-functions --list-functions-md --list-extra-functions-md --list-plugins --list-protocols-md --no-stdlib --parse-only --profile --quiet -r --strict --version -v --verbose")
            compgen_opt+=(-o filenames -f)
            ;;
    esac

    COMPREPLY=($(compgen -W "${_liquidsoap_reply[*]}" "${compgen_opt[@]}" -- "$cur"))
    unset _liquidsoap_reply
    return 0
}

complete -F _liquidsoap liquidsoap