blob: e7af0011277c225ab768469659aebad042d4399c (
plain)
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
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
|
#
# bash_completion file for Pd.
#
# Save as: /etc/bash_completion.d/pd or ~/.bash_completion and enjoy never
# having to type any full command line option anymore. Instead you can press
# <TAB>.
#
# If you want to help, these are fine introductions to bash's completion
# feature:
#
# http://www.debian-administration.org/articles/316
# http://www.debian-administration.org/articles/317
#
# First version written by Frank Barknecht <fbar AT footils.org> Dec 26 2005
have pd &&
_pd()
{
local cur prev opts
COMPREPLY=()
cur="${COMP_WORDS[COMP_CWORD]}"
prev="${COMP_WORDS[COMP_CWORD-1]}"
# Pd's options:
opts="-help \
-r \
-audioindev \
-audiooutdev \
-audiodev \
-inchannels \
-outchannels \
-channels \
-audiobuf \
-blocksize \
-sleepgrain \
-nodac \
-noadc \
-noaudio \
-listdev \
-oss \
-32bit \
-alsa \
-alsaadd \
-jack \
-midiindev \
-midioutdev \
-mididev \
-nomidiin \
-nomidiout \
-nomidi \
-alsamidi \
-path \
-nostdpath \
-stdpath \
-helppath \
-open \
-lib \
-font \
-typeface \
-verbose \
-version \
-d \
-noloadbang \
-stderr \
-nogui \
-guiport \
-guicmd \
-send \
-rt \
-realtime \
-nrt"
# options that require an argument:
case "${prev}" in
# directory argument:
# TODO: colon-separated paths as in "/usr/lib/pd/extra:/home/user/pd"
-path)
COMPREPLY=( $(compgen -d ${cur}) )
return 0
;;
-helppath)
COMPREPLY=( $(compgen -d ${cur}) )
return 0
;;
# patch file argument:
-open)
_filedir '@(pd|pat)'
return 0
;;
*)
;;
esac
if [[ ${cur} == -* ]] ; then
COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) )
else
_filedir '@(pd|pat)'
fi
}
[ "${have:-}" ] && complete -F _pd $filenames pd
|