|
Lines 6-12
Link Here
|
| 6 |
# |
6 |
# |
| 7 |
# usage with bash |
7 |
# usage with bash |
| 8 |
# |
8 |
# |
| 9 |
# COMP_WORDBREAKS="${COMP_WORDBREAKS//:}" |
|
|
| 10 |
# complete -C osc.complete osc |
9 |
# complete -C osc.complete osc |
| 11 |
# |
10 |
# |
| 12 |
# Author: Werner Fink <werner@suse.de> |
11 |
# Author: Werner Fink <werner@suse.de> |
|
Lines 35-42
if test "/proc/$PPID/exe" -ef /bin/tcsh ; then
Link Here
|
| 35 |
let colon=0 |
34 |
let colon=0 |
| 36 |
else |
35 |
else |
| 37 |
COMMAND_LINE="${COMP_LINE:0:$COMP_POINT}" |
36 |
COMMAND_LINE="${COMP_LINE:0:$COMP_POINT}" |
| 38 |
# let colon=1 |
|
|
| 39 |
let colon=0 |
37 |
let colon=0 |
|
|
38 |
case "$COMP_WORDBREAKS" in |
| 39 |
*:*) let colon=1 |
| 40 |
esac |
| 40 |
[[ $COMMAND_LINE =~ \\: ]] && COMMAND_LINE="${COMMAND_LINE//\\:/:}" |
41 |
[[ $COMMAND_LINE =~ \\: ]] && COMMAND_LINE="${COMMAND_LINE//\\:/:}" |
| 41 |
fi |
42 |
fi |
| 42 |
IFS="${IFS}=" |
43 |
IFS="${IFS}=" |
|
Lines 104-110
projects ()
Link Here
|
| 104 |
local -a list |
105 |
local -a list |
| 105 |
local -a argv |
106 |
local -a argv |
| 106 |
local -i argc=0 |
107 |
local -i argc=0 |
| 107 |
local arg |
108 |
local arg cur |
| 108 |
for arg; do |
109 |
for arg; do |
| 109 |
if test $arg == "--" ; then |
110 |
if test $arg == "--" ; then |
| 110 |
let argc++ |
111 |
let argc++ |
|
Lines 113-127
projects ()
Link Here
|
| 113 |
argv[argc++]=$arg |
114 |
argv[argc++]=$arg |
| 114 |
done |
115 |
done |
| 115 |
shift $argc |
116 |
shift $argc |
| 116 |
if test -n "$1" ; then |
117 |
cur="$1" |
| 117 |
list=($(command grep -E "^$1" ~/.osc.projects)) |
118 |
if test -n "${cur}" ; then |
|
|
119 |
list=($(command grep -E "^${cur}" ~/.osc.projects)) |
| 118 |
else |
120 |
else |
| 119 |
list=($(command cat ~/.osc.projects)) |
121 |
list=($(command cat ~/.osc.projects)) |
| 120 |
fi |
122 |
fi |
| 121 |
if ((colon)) ; then |
123 |
if ((colon)) ; then |
| 122 |
builtin compgen -W "${list[*]}" "$1"|sed -r 's@([^\\]):@\1\\:@g' |
124 |
local colon_word |
|
|
125 |
colon_word=${cur%${cur##*:}} |
| 126 |
builtin compgen -W "${list[*]}" -- "${cur}" | sed -r "s@^${colon_word}@@g" |
| 123 |
else |
127 |
else |
| 124 |
builtin compgen -W "${list[*]}" -- ${1+"$@"} |
128 |
builtin compgen -W "${list[*]}" -- "${cur}" |
| 125 |
fi |
129 |
fi |
| 126 |
} |
130 |
} |
| 127 |
|
131 |
|
|
Lines 130-136
packages ()
Link Here
|
| 130 |
local -a list |
134 |
local -a list |
| 131 |
local -a argv |
135 |
local -a argv |
| 132 |
local -i argc=0 |
136 |
local -i argc=0 |
| 133 |
local arg |
137 |
local arg cur |
| 134 |
for arg; do |
138 |
for arg; do |
| 135 |
if test $arg == "--" ; then |
139 |
if test $arg == "--" ; then |
| 136 |
let argc++ |
140 |
let argc++ |
|
Lines 139-150
packages ()
Link Here
|
| 139 |
argv[argc++]=$arg |
143 |
argv[argc++]=$arg |
| 140 |
done |
144 |
done |
| 141 |
shift $argc |
145 |
shift $argc |
| 142 |
if test -n "$1" ; then |
146 |
cur="$1" |
| 143 |
list=($(command osc ls ${argv[@]}|command grep -E "^$1")) |
147 |
if test -n "${cur}" ; then |
|
|
148 |
list=($(command osc ls ${argv[@]}|command grep -E "^${cur}")) |
| 144 |
else |
149 |
else |
| 145 |
list=($(command osc ls ${argv[@]})) |
150 |
list=($(command osc ls ${argv[@]})) |
| 146 |
fi |
151 |
fi |
| 147 |
builtin compgen -W "${list[*]}" -- ${1+"$@"} |
152 |
builtin compgen -W "${list[*]}" -- "${cur}" |
| 148 |
} |
153 |
} |
| 149 |
|
154 |
|
| 150 |
repositories () |
155 |
repositories () |
| 151 |
- |
|
|