File: bash_completion

package info (click to toggle)
muroar 0.1.2-2
  • links: PTS
  • area: main
  • in suites: squeeze
  • size: 196 kB
  • ctags: 140
  • sloc: ansic: 569; sh: 236; makefile: 128
file content (70 lines) | stat: -rw-r--r-- 2,037 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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
# Debian GNU/Linux muroarstream(1) completion
# Copyright 2002      Baruch Even <baruch@debian.org>
# Copyright 2009-2010 Philipp Schafft <lion@lion.leolix.org>
# License: GNU GPL v3 or later

####################################################
# This is a copy from the RoarAudio package.       #
# Only the names are changed so we do not conflict #
####################################################

_muroar_server() {
    COMPREPLY=( $(_roar_server_exec "$1") )
}

_muroar_server_exec() {
 local cur link words nodes stdsocks x11sock
 cur="$1"
 link=$(readlink /etc/roarserver 2> /dev/null)

 nodes=$(grep '^\(node\|executor\)' /etc/decnet.conf 2> /dev/null | sed 's/^.*\tname\t\t*//; s/\t.*$//; s/$/::/')

 stdsocks="/tmp/roar $HOME/.roar localhost 0.0";

 x11sock=$(xprop -root 2>/dev/null | grep '^ROAR_SERVER(STRING) = ' | sed 's/^[^"]*"//; s/"$//')

 words="$link $nodes $stdsocks $x11sock +slp +fork"

 compgen -A hostname $cur
 compgen -W "$words" $cur
}

####################################################
# end of copy.                                     #
####################################################

_muroarstream() {
    local cur prev opts
    COMPREPLY=()
    cur="${COMP_WORDS[COMP_CWORD]}"
    prev="${COMP_WORDS[COMP_CWORD-1]}"

    opts="--help --server --rate -R --channels -C --bits -B --wave --midi --light"

    case "${prev}" in
        '--bits'|'-B')
            COMPREPLY=($(compgen -W "8 16 24 32" -- ${cur}))
            return 0
            ;;
        '--channels'|'-C')
            COMPREPLY=($(compgen -W "1 2 3 4 5 6 7 8 9" -- ${cur}))
            return 0
            ;;
        '--rate'|'-R')
            COMPREPLY=($(compgen -W "8000 16000 32000 11025 22050 44100 48000 96000" -- ${cur}))
            return 0
            ;;
        '--server')
            _muroar_server "${COMP_WORDS[COMP_CWORD]}"
            return 0
            ;;
        *)
        ;;
    esac

   COMPREPLY=($(compgen -W "${opts}" -- ${cur}))
   return 0
}
complete -F _muroarstream muroarstream

# vim:ft=sh: