annotate contrib/bash_completion @ 1555:01a5121a005a

bash_completion: use hg --debug help to get the list of debug commands. Also, try completing with the debug commands only when there's no other candidates. Based on an idea by TK Soh.
author Alexis S. L. Carvalho <alexis@cecm.usp.br>
date Wed, 23 Nov 2005 08:02:35 +0100
parents f351d1a07d75
children 561b17b7d3a2
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1311
db8bebb08f8f bash_completion: extended patterns require extglob option
TK Soh <teekaysoh@yahoo.com>
parents: 1308
diff changeset
1 shopt -s extglob
db8bebb08f8f bash_completion: extended patterns require extglob option
TK Soh <teekaysoh@yahoo.com>
parents: 1308
diff changeset
2
916
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
3 _hg_commands()
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
4 {
1555
01a5121a005a bash_completion: use hg --debug help to get the list of debug commands.
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 1339
diff changeset
5 local all commands result
01a5121a005a bash_completion: use hg --debug help to get the list of debug commands.
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 1339
diff changeset
6
01a5121a005a bash_completion: use hg --debug help to get the list of debug commands.
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 1339
diff changeset
7 all=($(hg --debug help | sed -e '1,/^list of commands:/d' \
01a5121a005a bash_completion: use hg --debug help to get the list of debug commands.
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 1339
diff changeset
8 -e '/^global options:/,$d' \
01a5121a005a bash_completion: use hg --debug help to get the list of debug commands.
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 1339
diff changeset
9 -e '/^ [^ ]/!d; s/^ //; s/[,:]//g;'))
01a5121a005a bash_completion: use hg --debug help to get the list of debug commands.
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 1339
diff changeset
10
01a5121a005a bash_completion: use hg --debug help to get the list of debug commands.
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 1339
diff changeset
11 commands="${all[*]##debug*}"
01a5121a005a bash_completion: use hg --debug help to get the list of debug commands.
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 1339
diff changeset
12 result=$(compgen -W "${commands[*]}" -- "$cur")
1308
2073e5a71008 Cleanup of tabs and trailing spaces.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 1263
diff changeset
13
2073e5a71008 Cleanup of tabs and trailing spaces.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 1263
diff changeset
14 # hide debug commands from users, but complete them if
1555
01a5121a005a bash_completion: use hg --debug help to get the list of debug commands.
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 1339
diff changeset
15 # there is no other possible command
01a5121a005a bash_completion: use hg --debug help to get the list of debug commands.
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 1339
diff changeset
16 if [ "$result" = "" ]; then
01a5121a005a bash_completion: use hg --debug help to get the list of debug commands.
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 1339
diff changeset
17 local debug
01a5121a005a bash_completion: use hg --debug help to get the list of debug commands.
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 1339
diff changeset
18 debug=(${all[*]##!(debug*)})
01a5121a005a bash_completion: use hg --debug help to get the list of debug commands.
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 1339
diff changeset
19 debug="${debug[*]/g/debug}"
01a5121a005a bash_completion: use hg --debug help to get the list of debug commands.
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 1339
diff changeset
20 result=$(compgen -W "$debug" -- "$cur")
916
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
21 fi
1555
01a5121a005a bash_completion: use hg --debug help to get the list of debug commands.
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 1339
diff changeset
22
01a5121a005a bash_completion: use hg --debug help to get the list of debug commands.
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 1339
diff changeset
23 COMPREPLY=(${COMPREPLY[@]:-} $result)
916
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
24 }
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
25
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
26 _hg_paths()
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
27 {
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
28 local paths="$(hg paths | sed -e 's/ = .*$//')"
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
29 COMPREPLY=(${COMPREPLY[@]:-} $( compgen -W "$paths" -- "$cur" ))
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
30 }
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
31
935
925563ff1b18 bash: Add smarter completion of add/commit/remove/forget/diff/revert
mpm@selenic.com
parents: 929
diff changeset
32 _hg_status()
925563ff1b18 bash: Add smarter completion of add/commit/remove/forget/diff/revert
mpm@selenic.com
parents: 929
diff changeset
33 {
925563ff1b18 bash: Add smarter completion of add/commit/remove/forget/diff/revert
mpm@selenic.com
parents: 929
diff changeset
34 local files="$( hg status -$1 | cut -b 3- )"
925563ff1b18 bash: Add smarter completion of add/commit/remove/forget/diff/revert
mpm@selenic.com
parents: 929
diff changeset
35 COMPREPLY=(${COMPREPLY[@]:-} $( compgen -W "$files" -- "$cur" ))
925563ff1b18 bash: Add smarter completion of add/commit/remove/forget/diff/revert
mpm@selenic.com
parents: 929
diff changeset
36 }
925563ff1b18 bash: Add smarter completion of add/commit/remove/forget/diff/revert
mpm@selenic.com
parents: 929
diff changeset
37
916
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
38 _hg_tags()
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
39 {
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
40 local tags="$(hg tags | sed -e 's/[0-9]*:[a-f0-9]\{40\}$//; s/ *$//')"
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
41 COMPREPLY=( ${COMPREPLY[@]:-} $(compgen -W "$tags" -- "$cur") )
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
42 }
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
43
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
44 # this is "kind of" ugly...
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
45 _hg_count_non_option()
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
46 {
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
47 local i count=0
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
48 local filters="$1"
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
49
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
50 for (( i=1; $i<=$COMP_CWORD; i++ )); do
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
51 if [[ "${COMP_WORDS[i]}" != -* ]]; then
1152
ff560ce0c635 bash_completion: small cleanup and bugfix
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 1151
diff changeset
52 if [[ ${COMP_WORDS[i-1]} == @($filters|$global_args) ]]; then
ff560ce0c635 bash_completion: small cleanup and bugfix
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 1151
diff changeset
53 continue
ff560ce0c635 bash_completion: small cleanup and bugfix
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 1151
diff changeset
54 fi
916
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
55 count=$(($count + 1))
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
56 fi
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
57 done
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
58
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
59 echo $(($count - 1))
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
60 }
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
61
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
62 _hg()
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
63 {
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
64 local cur prev cmd opts i
1151
10b4f2a5ce17 teach bash_completion about --cwd
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 1150
diff changeset
65 # global options that receive an argument
10b4f2a5ce17 teach bash_completion about --cwd
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 1150
diff changeset
66 local global_args='--cwd|-R|--repository'
916
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
67
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
68 COMPREPLY=()
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
69 cur="$2"
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
70 prev="$3"
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
71
1308
2073e5a71008 Cleanup of tabs and trailing spaces.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 1263
diff changeset
72 # searching for the command
1151
10b4f2a5ce17 teach bash_completion about --cwd
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 1150
diff changeset
73 # (first non-option argument that doesn't follow a global option that
10b4f2a5ce17 teach bash_completion about --cwd
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 1150
diff changeset
74 # receives an argument)
916
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
75 for (( i=1; $i<=$COMP_CWORD; i++ )); do
1151
10b4f2a5ce17 teach bash_completion about --cwd
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 1150
diff changeset
76 if [[ ${COMP_WORDS[i]} != -* ]]; then
10b4f2a5ce17 teach bash_completion about --cwd
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 1150
diff changeset
77 if [[ ${COMP_WORDS[i-1]} != @($global_args) ]]; then
10b4f2a5ce17 teach bash_completion about --cwd
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 1150
diff changeset
78 cmd="${COMP_WORDS[i]}"
10b4f2a5ce17 teach bash_completion about --cwd
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 1150
diff changeset
79 break
10b4f2a5ce17 teach bash_completion about --cwd
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 1150
diff changeset
80 fi
916
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
81 fi
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
82 done
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
83
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
84 if [[ "$cur" == -* ]]; then
1149
f82b084bd904 bash_completion: update for new help output format
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 1115
diff changeset
85 # this assumes that there are no commands with spaces in the name
f82b084bd904 bash_completion: update for new help output format
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 1115
diff changeset
86 opts=$(hg -v help $cmd | sed -e '/^ *-/!d; s/ [^- ].*//')
916
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
87
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
88 COMPREPLY=( ${COMPREPLY[@]:-} $(compgen -W "$opts" -- "$cur") )
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
89 return
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
90 fi
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
91
1151
10b4f2a5ce17 teach bash_completion about --cwd
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 1150
diff changeset
92 # global options
10b4f2a5ce17 teach bash_completion about --cwd
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 1150
diff changeset
93 case "$prev" in
10b4f2a5ce17 teach bash_completion about --cwd
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 1150
diff changeset
94 -R|--repository)
10b4f2a5ce17 teach bash_completion about --cwd
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 1150
diff changeset
95 COMPREPLY=(${COMPREPLY[@]:-} $( compgen -d -- "$cur" ))
10b4f2a5ce17 teach bash_completion about --cwd
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 1150
diff changeset
96 return
10b4f2a5ce17 teach bash_completion about --cwd
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 1150
diff changeset
97 ;;
10b4f2a5ce17 teach bash_completion about --cwd
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 1150
diff changeset
98 --cwd)
10b4f2a5ce17 teach bash_completion about --cwd
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 1150
diff changeset
99 COMPREPLY=(${COMPREPLY[@]:-} $( compgen -d -- "$cur" ))
10b4f2a5ce17 teach bash_completion about --cwd
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 1150
diff changeset
100 return
10b4f2a5ce17 teach bash_completion about --cwd
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 1150
diff changeset
101 ;;
10b4f2a5ce17 teach bash_completion about --cwd
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 1150
diff changeset
102 esac
916
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
103
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
104 if [ -z "$cmd" ] || [ $COMP_CWORD -eq $i ]; then
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
105 _hg_commands
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
106 return
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
107 fi
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
108
1150
4ee09418c8e5 bash_completion: better handling of aliases
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 1149
diff changeset
109 # canonicalize command name
4ee09418c8e5 bash_completion: better handling of aliases
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 1149
diff changeset
110 cmd=$(hg -q help "$cmd" | sed -e 's/^hg //; s/ .*//; 1q')
4ee09418c8e5 bash_completion: better handling of aliases
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 1149
diff changeset
111
916
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
112 if [ "$cmd" != status ] && [ "$prev" = -r ] || [ "$prev" = --rev ]; then
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
113 _hg_tags
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
114 return
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
115 fi
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
116
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
117 case "$cmd" in
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
118 help)
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
119 _hg_commands
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
120 ;;
1150
4ee09418c8e5 bash_completion: better handling of aliases
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 1149
diff changeset
121 export|manifest|update)
916
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
122 _hg_tags
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
123 ;;
1150
4ee09418c8e5 bash_completion: better handling of aliases
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 1149
diff changeset
124 pull|push|outgoing|incoming)
916
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
125 _hg_paths
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
126 COMPREPLY=(${COMPREPLY[@]:-} $( compgen -d -- "$cur" ))
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
127 ;;
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
128 paths)
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
129 _hg_paths
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
130 ;;
935
925563ff1b18 bash: Add smarter completion of add/commit/remove/forget/diff/revert
mpm@selenic.com
parents: 929
diff changeset
131 add)
925563ff1b18 bash: Add smarter completion of add/commit/remove/forget/diff/revert
mpm@selenic.com
parents: 929
diff changeset
132 _hg_status "u"
925563ff1b18 bash: Add smarter completion of add/commit/remove/forget/diff/revert
mpm@selenic.com
parents: 929
diff changeset
133 ;;
1150
4ee09418c8e5 bash_completion: better handling of aliases
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 1149
diff changeset
134 commit)
935
925563ff1b18 bash: Add smarter completion of add/commit/remove/forget/diff/revert
mpm@selenic.com
parents: 929
diff changeset
135 _hg_status "mra"
925563ff1b18 bash: Add smarter completion of add/commit/remove/forget/diff/revert
mpm@selenic.com
parents: 929
diff changeset
136 ;;
925563ff1b18 bash: Add smarter completion of add/commit/remove/forget/diff/revert
mpm@selenic.com
parents: 929
diff changeset
137 remove)
925563ff1b18 bash: Add smarter completion of add/commit/remove/forget/diff/revert
mpm@selenic.com
parents: 929
diff changeset
138 _hg_status "r"
925563ff1b18 bash: Add smarter completion of add/commit/remove/forget/diff/revert
mpm@selenic.com
parents: 929
diff changeset
139 ;;
925563ff1b18 bash: Add smarter completion of add/commit/remove/forget/diff/revert
mpm@selenic.com
parents: 929
diff changeset
140 forget)
925563ff1b18 bash: Add smarter completion of add/commit/remove/forget/diff/revert
mpm@selenic.com
parents: 929
diff changeset
141 _hg_status "a"
925563ff1b18 bash: Add smarter completion of add/commit/remove/forget/diff/revert
mpm@selenic.com
parents: 929
diff changeset
142 ;;
925563ff1b18 bash: Add smarter completion of add/commit/remove/forget/diff/revert
mpm@selenic.com
parents: 929
diff changeset
143 diff)
925563ff1b18 bash: Add smarter completion of add/commit/remove/forget/diff/revert
mpm@selenic.com
parents: 929
diff changeset
144 _hg_status "mra"
925563ff1b18 bash: Add smarter completion of add/commit/remove/forget/diff/revert
mpm@selenic.com
parents: 929
diff changeset
145 ;;
925563ff1b18 bash: Add smarter completion of add/commit/remove/forget/diff/revert
mpm@selenic.com
parents: 929
diff changeset
146 revert)
925563ff1b18 bash: Add smarter completion of add/commit/remove/forget/diff/revert
mpm@selenic.com
parents: 929
diff changeset
147 _hg_status "mra"
925563ff1b18 bash: Add smarter completion of add/commit/remove/forget/diff/revert
mpm@selenic.com
parents: 929
diff changeset
148 ;;
916
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
149 clone)
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
150 local count=$(_hg_count_non_option)
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
151 if [ $count = 1 ]; then
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
152 _hg_paths
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
153 fi
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
154 COMPREPLY=(${COMPREPLY[@]:-} $( compgen -d -- "$cur" ))
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
155 ;;
1115
89f54e72581d bash_completion: add debugindex and debugdata support
mpm@selenic.com
parents: 1018
diff changeset
156 debugindex|debugindexdot)
89f54e72581d bash_completion: add debugindex and debugdata support
mpm@selenic.com
parents: 1018
diff changeset
157 COMPREPLY=(${COMPREPLY[@]:-} $( compgen -f -X "!*.i" -- "$cur" ))
89f54e72581d bash_completion: add debugindex and debugdata support
mpm@selenic.com
parents: 1018
diff changeset
158 ;;
89f54e72581d bash_completion: add debugindex and debugdata support
mpm@selenic.com
parents: 1018
diff changeset
159 debugdata)
89f54e72581d bash_completion: add debugindex and debugdata support
mpm@selenic.com
parents: 1018
diff changeset
160 COMPREPLY=(${COMPREPLY[@]:-} $( compgen -f -X "!*.d" -- "$cur" ))
89f54e72581d bash_completion: add debugindex and debugdata support
mpm@selenic.com
parents: 1018
diff changeset
161 ;;
916
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
162 cat)
1152
ff560ce0c635 bash_completion: small cleanup and bugfix
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 1151
diff changeset
163 local count=$(_hg_count_non_option '-o|--output')
916
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
164 if [ $count = 2 ]; then
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
165 _hg_tags
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
166 else
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
167 COMPREPLY=(${COMPREPLY[@]:-} $( compgen -f -- "$cur" ))
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
168 fi
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
169 ;;
1308
2073e5a71008 Cleanup of tabs and trailing spaces.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 1263
diff changeset
170 *)
916
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
171 COMPREPLY=(${COMPREPLY[@]:-} $( compgen -f -- "$cur" ))
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
172 ;;
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
173 esac
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
174
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
175 }
fe094cca9915 Add bash_completion to contrib
mpm@selenic.com
parents:
diff changeset
176
1153
fa9ae7df88a9 bash_completion: try to use bash3 features if they're available
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 1152
diff changeset
177 complete -o bashdefault -o default -F _hg hg 2> /dev/null \
fa9ae7df88a9 bash_completion: try to use bash3 features if they're available
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 1152
diff changeset
178 || complete -o default -F _hg hg