Mercurial > public > mercurial-scm > hg-stable
annotate contrib/bash_completion @ 13741:b51bf961b3cb
wireproto: add getbundle() function
getbundle(common, heads) -> bundle
Returns the changegroup for all ancestors of heads which are not ancestors of common. For both
sets, the heads are included in the set.
Intended to eventually supercede changegroupsubset and changegroup. Uses heads of common region
to exclude unwanted changesets instead of bases of desired region, which is more useful and
easier to implement.
Designed to be extensible with new optional arguments (which will have to be guarded by
corresponding capabilities).
author | Peter Arrenbrecht <peter.arrenbrecht@gmail.com> |
---|---|
date | Wed, 23 Mar 2011 16:02:11 +0100 |
parents | 8aea95ec128f |
children | a2f0f61a6988 |
rev | line source |
---|---|
2041
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
1 # bash completion for the Mercurial distributed SCM |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
2 |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
3 # Docs: |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
4 # |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
5 # If you source this file from your .bashrc, bash should be able to |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
6 # complete a command line that uses hg with all the available commands |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
7 # and options and sometimes even arguments. |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
8 # |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
9 # Mercurial allows you to define additional commands through extensions. |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
10 # Bash should be able to automatically figure out the name of these new |
3485
26285469db9b
bash_completion: allow overriding completion for arguments that start with "-"
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3484
diff
changeset
|
11 # commands and their options. See below for how to define _hg_opt_foo |
26285469db9b
bash_completion: allow overriding completion for arguments that start with "-"
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3484
diff
changeset
|
12 # and _hg_cmd_foo functions to fine-tune the completion for option and |
26285469db9b
bash_completion: allow overriding completion for arguments that start with "-"
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3484
diff
changeset
|
13 # non-option arguments, respectively. |
2041
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
14 # |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
15 # |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
16 # Notes about completion for specific commands: |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
17 # |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
18 # - the completion function for the email command from the patchbomb |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
19 # extension will try to call _hg_emails to get a list of e-mail |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
20 # addresses. It's up to the user to define this function. For |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
21 # example, put the addresses of the lists that you usually patchbomb |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
22 # in ~/.patchbomb-to and the addresses that you usually use to send |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
23 # the patchbombs in ~/.patchbomb-from and use something like this: |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
24 # |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
25 # _hg_emails() |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
26 # { |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
27 # if [ -r ~/.patchbomb-$1 ]; then |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
28 # cat ~/.patchbomb-$1 |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
29 # fi |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
30 # } |
5081
ea7b982b6c08
Remove trailing spaces
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3993
diff
changeset
|
31 # |
2041
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
32 # |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
33 # Writing completion functions for additional commands: |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
34 # |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
35 # If it exists, the function _hg_cmd_foo will be called without |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
36 # arguments to generate the completion candidates for the hg command |
3485
26285469db9b
bash_completion: allow overriding completion for arguments that start with "-"
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3484
diff
changeset
|
37 # "foo". If the command receives some arguments that aren't options |
26285469db9b
bash_completion: allow overriding completion for arguments that start with "-"
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3484
diff
changeset
|
38 # even though they start with a "-", you can define a function called |
26285469db9b
bash_completion: allow overriding completion for arguments that start with "-"
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3484
diff
changeset
|
39 # _hg_opt_foo to generate the completion candidates. If _hg_opt_foo |
26285469db9b
bash_completion: allow overriding completion for arguments that start with "-"
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3484
diff
changeset
|
40 # doesn't return 0, regular completion for options is attempted. |
2041
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
41 # |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
42 # In addition to the regular completion variables provided by bash, |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
43 # the following variables are also set: |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
44 # - $hg - the hg program being used (e.g. /usr/bin/hg) |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
45 # - $cmd - the name of the hg command being completed |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
46 # - $cmd_index - the index of $cmd in $COMP_WORDS |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
47 # - $cur - the current argument being completed |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
48 # - $prev - the argument before $cur |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
49 # - $global_args - "|"-separated list of global options that accept |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
50 # an argument (e.g. '--cwd|-R|--repository') |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
51 # - $canonical - 1 if we canonicalized $cmd before calling the function |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
52 # 0 otherwise |
5081
ea7b982b6c08
Remove trailing spaces
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3993
diff
changeset
|
53 # |
2041
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
54 |
1311
db8bebb08f8f
bash_completion: extended patterns require extglob option
TK Soh <teekaysoh@yahoo.com>
parents:
1308
diff
changeset
|
55 shopt -s extglob |
db8bebb08f8f
bash_completion: extended patterns require extglob option
TK Soh <teekaysoh@yahoo.com>
parents:
1308
diff
changeset
|
56 |
11646
91af149b5cd7
bash/zsh completion: use HGPLAIN when invoking hg (issue2297)
Brodie Rao <brodie@bitheap.org>
parents:
10456
diff
changeset
|
57 _hg_cmd() |
91af149b5cd7
bash/zsh completion: use HGPLAIN when invoking hg (issue2297)
Brodie Rao <brodie@bitheap.org>
parents:
10456
diff
changeset
|
58 { |
91af149b5cd7
bash/zsh completion: use HGPLAIN when invoking hg (issue2297)
Brodie Rao <brodie@bitheap.org>
parents:
10456
diff
changeset
|
59 HGPLAIN=1 "$hg" "$@" 2>/dev/null |
91af149b5cd7
bash/zsh completion: use HGPLAIN when invoking hg (issue2297)
Brodie Rao <brodie@bitheap.org>
parents:
10456
diff
changeset
|
60 } |
91af149b5cd7
bash/zsh completion: use HGPLAIN when invoking hg (issue2297)
Brodie Rao <brodie@bitheap.org>
parents:
10456
diff
changeset
|
61 |
916 | 62 _hg_commands() |
63 { | |
1888
283d2ab1e020
Make bash_completion more robust for e.g. broken hgrc or old hg installations.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1887
diff
changeset
|
64 local commands |
11646
91af149b5cd7
bash/zsh completion: use HGPLAIN when invoking hg (issue2297)
Brodie Rao <brodie@bitheap.org>
parents:
10456
diff
changeset
|
65 commands="$(_hg_cmd debugcomplete "$cur")" || commands="" |
1887
913397c27cd8
new command debugcomplete
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1820
diff
changeset
|
66 COMPREPLY=(${COMPREPLY[@]:-} $(compgen -W '$commands' -- "$cur")) |
916 | 67 } |
68 | |
69 _hg_paths() | |
70 { | |
11646
91af149b5cd7
bash/zsh completion: use HGPLAIN when invoking hg (issue2297)
Brodie Rao <brodie@bitheap.org>
parents:
10456
diff
changeset
|
71 local paths="$(_hg_cmd paths | sed -e 's/ = .*$//')" |
1684
cf930b2452d3
Cleanup of spacing in bash_completion
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1683
diff
changeset
|
72 COMPREPLY=(${COMPREPLY[@]:-} $(compgen -W '$paths' -- "$cur")) |
916 | 73 } |
74 | |
1587
851bc33ff545
Less annoying directory completion (see http://bugs.debian.org/343458)
Daniel Kobras <kobras@debian.org>
parents:
1556
diff
changeset
|
75 _hg_repos() |
851bc33ff545
Less annoying directory completion (see http://bugs.debian.org/343458)
Daniel Kobras <kobras@debian.org>
parents:
1556
diff
changeset
|
76 { |
851bc33ff545
Less annoying directory completion (see http://bugs.debian.org/343458)
Daniel Kobras <kobras@debian.org>
parents:
1556
diff
changeset
|
77 local i |
1684
cf930b2452d3
Cleanup of spacing in bash_completion
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1683
diff
changeset
|
78 for i in $(compgen -d -- "$cur"); do |
cf930b2452d3
Cleanup of spacing in bash_completion
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1683
diff
changeset
|
79 test ! -d "$i"/.hg || COMPREPLY=(${COMPREPLY[@]:-} "$i") |
1587
851bc33ff545
Less annoying directory completion (see http://bugs.debian.org/343458)
Daniel Kobras <kobras@debian.org>
parents:
1556
diff
changeset
|
80 done |
851bc33ff545
Less annoying directory completion (see http://bugs.debian.org/343458)
Daniel Kobras <kobras@debian.org>
parents:
1556
diff
changeset
|
81 } |
851bc33ff545
Less annoying directory completion (see http://bugs.debian.org/343458)
Daniel Kobras <kobras@debian.org>
parents:
1556
diff
changeset
|
82 |
935
925563ff1b18
bash: Add smarter completion of add/commit/remove/forget/diff/revert
mpm@selenic.com
parents:
929
diff
changeset
|
83 _hg_status() |
925563ff1b18
bash: Add smarter completion of add/commit/remove/forget/diff/revert
mpm@selenic.com
parents:
929
diff
changeset
|
84 { |
11646
91af149b5cd7
bash/zsh completion: use HGPLAIN when invoking hg (issue2297)
Brodie Rao <brodie@bitheap.org>
parents:
10456
diff
changeset
|
85 local files="$(_hg_cmd status -n$1 .)" |
6232
59200a2de7bf
Fixed bash completion for filenames containing spaces.
Jonas Diemer <diemer@gmx.de>
parents:
5507
diff
changeset
|
86 local IFS=$'\n' |
1684
cf930b2452d3
Cleanup of spacing in bash_completion
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1683
diff
changeset
|
87 COMPREPLY=(${COMPREPLY[@]:-} $(compgen -W '$files' -- "$cur")) |
935
925563ff1b18
bash: Add smarter completion of add/commit/remove/forget/diff/revert
mpm@selenic.com
parents:
929
diff
changeset
|
88 } |
925563ff1b18
bash: Add smarter completion of add/commit/remove/forget/diff/revert
mpm@selenic.com
parents:
929
diff
changeset
|
89 |
916 | 90 _hg_tags() |
91 { | |
11646
91af149b5cd7
bash/zsh completion: use HGPLAIN when invoking hg (issue2297)
Brodie Rao <brodie@bitheap.org>
parents:
10456
diff
changeset
|
92 local tags="$(_hg_cmd tags -q)" |
2035
107dc72880f8
Make 'hg tags -q' only list tag names without revision numbers and hashes,
Thomas Arendsen Hein <thomas@intevation.de>
parents:
2034
diff
changeset
|
93 local IFS=$'\n' |
1684
cf930b2452d3
Cleanup of spacing in bash_completion
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1683
diff
changeset
|
94 COMPREPLY=(${COMPREPLY[@]:-} $(compgen -W '$tags' -- "$cur")) |
916 | 95 } |
96 | |
8719
b5e9ed63913b
Support branch names in contrib/bash_completion
Steve Losh <steve@stevelosh.com>
parents:
8718
diff
changeset
|
97 _hg_branches() |
b5e9ed63913b
Support branch names in contrib/bash_completion
Steve Losh <steve@stevelosh.com>
parents:
8718
diff
changeset
|
98 { |
11646
91af149b5cd7
bash/zsh completion: use HGPLAIN when invoking hg (issue2297)
Brodie Rao <brodie@bitheap.org>
parents:
10456
diff
changeset
|
99 local branches="$(_hg_cmd branches -q)" |
8719
b5e9ed63913b
Support branch names in contrib/bash_completion
Steve Losh <steve@stevelosh.com>
parents:
8718
diff
changeset
|
100 local IFS=$'\n' |
b5e9ed63913b
Support branch names in contrib/bash_completion
Steve Losh <steve@stevelosh.com>
parents:
8718
diff
changeset
|
101 COMPREPLY=(${COMPREPLY[@]:-} $(compgen -W '$branches' -- "$cur")) |
b5e9ed63913b
Support branch names in contrib/bash_completion
Steve Losh <steve@stevelosh.com>
parents:
8718
diff
changeset
|
102 } |
b5e9ed63913b
Support branch names in contrib/bash_completion
Steve Losh <steve@stevelosh.com>
parents:
8718
diff
changeset
|
103 |
13509
8aea95ec128f
bash_completion: complete bookmarks
Kevin Bullock <kbullock@ringworld.org>
parents:
13243
diff
changeset
|
104 _hg_bookmarks() |
8aea95ec128f
bash_completion: complete bookmarks
Kevin Bullock <kbullock@ringworld.org>
parents:
13243
diff
changeset
|
105 { |
8aea95ec128f
bash_completion: complete bookmarks
Kevin Bullock <kbullock@ringworld.org>
parents:
13243
diff
changeset
|
106 local bookmarks="$(_hg_cmd bookmarks -q)" |
8aea95ec128f
bash_completion: complete bookmarks
Kevin Bullock <kbullock@ringworld.org>
parents:
13243
diff
changeset
|
107 local IFS=$'\n' |
8aea95ec128f
bash_completion: complete bookmarks
Kevin Bullock <kbullock@ringworld.org>
parents:
13243
diff
changeset
|
108 COMPREPLY=(${COMPREPLY[@]:-} $(compgen -W '$bookmarks' -- "$cur")) |
8aea95ec128f
bash_completion: complete bookmarks
Kevin Bullock <kbullock@ringworld.org>
parents:
13243
diff
changeset
|
109 } |
8aea95ec128f
bash_completion: complete bookmarks
Kevin Bullock <kbullock@ringworld.org>
parents:
13243
diff
changeset
|
110 |
8aea95ec128f
bash_completion: complete bookmarks
Kevin Bullock <kbullock@ringworld.org>
parents:
13243
diff
changeset
|
111 _hg_labels() |
8aea95ec128f
bash_completion: complete bookmarks
Kevin Bullock <kbullock@ringworld.org>
parents:
13243
diff
changeset
|
112 { |
8aea95ec128f
bash_completion: complete bookmarks
Kevin Bullock <kbullock@ringworld.org>
parents:
13243
diff
changeset
|
113 _hg_tags |
8aea95ec128f
bash_completion: complete bookmarks
Kevin Bullock <kbullock@ringworld.org>
parents:
13243
diff
changeset
|
114 _hg_branches |
8aea95ec128f
bash_completion: complete bookmarks
Kevin Bullock <kbullock@ringworld.org>
parents:
13243
diff
changeset
|
115 _hg_bookmarks |
8aea95ec128f
bash_completion: complete bookmarks
Kevin Bullock <kbullock@ringworld.org>
parents:
13243
diff
changeset
|
116 } |
8aea95ec128f
bash_completion: complete bookmarks
Kevin Bullock <kbullock@ringworld.org>
parents:
13243
diff
changeset
|
117 |
916 | 118 # this is "kind of" ugly... |
119 _hg_count_non_option() | |
120 { | |
121 local i count=0 | |
122 local filters="$1" | |
123 | |
1684
cf930b2452d3
Cleanup of spacing in bash_completion
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1683
diff
changeset
|
124 for ((i=1; $i<=$COMP_CWORD; i++)); do |
916 | 125 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
|
126 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
|
127 continue |
ff560ce0c635
bash_completion: small cleanup and bugfix
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
1151
diff
changeset
|
128 fi |
916 | 129 count=$(($count + 1)) |
130 fi | |
131 done | |
132 | |
133 echo $(($count - 1)) | |
134 } | |
135 | |
136 _hg() | |
137 { | |
2041
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
138 local cur prev cmd cmd_index opts i |
1151
10b4f2a5ce17
teach bash_completion about --cwd
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
1150
diff
changeset
|
139 # global options that receive an argument |
10b4f2a5ce17
teach bash_completion about --cwd
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
1150
diff
changeset
|
140 local global_args='--cwd|-R|--repository' |
1683
063e04831a09
Use user specified path to hg in bash_completion
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1643
diff
changeset
|
141 local hg="$1" |
3485
26285469db9b
bash_completion: allow overriding completion for arguments that start with "-"
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3484
diff
changeset
|
142 local canonical=0 |
916 | 143 |
144 COMPREPLY=() | |
145 cur="$2" | |
146 prev="$3" | |
147 | |
1308
2073e5a71008
Cleanup of tabs and trailing spaces.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1263
diff
changeset
|
148 # searching for the command |
1151
10b4f2a5ce17
teach bash_completion about --cwd
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
1150
diff
changeset
|
149 # (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
|
150 # receives an argument) |
1684
cf930b2452d3
Cleanup of spacing in bash_completion
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1683
diff
changeset
|
151 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
|
152 if [[ ${COMP_WORDS[i]} != -* ]]; then |
10b4f2a5ce17
teach bash_completion about --cwd
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
1150
diff
changeset
|
153 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
|
154 cmd="${COMP_WORDS[i]}" |
2041
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
155 cmd_index=$i |
1151
10b4f2a5ce17
teach bash_completion about --cwd
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
1150
diff
changeset
|
156 break |
10b4f2a5ce17
teach bash_completion about --cwd
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
1150
diff
changeset
|
157 fi |
916 | 158 fi |
159 done | |
160 | |
161 if [[ "$cur" == -* ]]; then | |
3485
26285469db9b
bash_completion: allow overriding completion for arguments that start with "-"
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3484
diff
changeset
|
162 if [ "$(type -t "_hg_opt_$cmd")" = function ] && "_hg_opt_$cmd"; then |
26285469db9b
bash_completion: allow overriding completion for arguments that start with "-"
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3484
diff
changeset
|
163 return |
26285469db9b
bash_completion: allow overriding completion for arguments that start with "-"
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3484
diff
changeset
|
164 fi |
26285469db9b
bash_completion: allow overriding completion for arguments that start with "-"
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3484
diff
changeset
|
165 |
11646
91af149b5cd7
bash/zsh completion: use HGPLAIN when invoking hg (issue2297)
Brodie Rao <brodie@bitheap.org>
parents:
10456
diff
changeset
|
166 opts=$(_hg_cmd debugcomplete --options "$cmd") |
916 | 167 |
1684
cf930b2452d3
Cleanup of spacing in bash_completion
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1683
diff
changeset
|
168 COMPREPLY=(${COMPREPLY[@]:-} $(compgen -W '$opts' -- "$cur")) |
916 | 169 return |
170 fi | |
171 | |
1151
10b4f2a5ce17
teach bash_completion about --cwd
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
1150
diff
changeset
|
172 # global options |
10b4f2a5ce17
teach bash_completion about --cwd
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
1150
diff
changeset
|
173 case "$prev" in |
10b4f2a5ce17
teach bash_completion about --cwd
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
1150
diff
changeset
|
174 -R|--repository) |
3992
d86ab4ba5ae6
Yield entries from [paths], too, when completing -R/--repository.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3486
diff
changeset
|
175 _hg_paths |
1587
851bc33ff545
Less annoying directory completion (see http://bugs.debian.org/343458)
Daniel Kobras <kobras@debian.org>
parents:
1556
diff
changeset
|
176 _hg_repos |
1151
10b4f2a5ce17
teach bash_completion about --cwd
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
1150
diff
changeset
|
177 return |
10b4f2a5ce17
teach bash_completion about --cwd
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
1150
diff
changeset
|
178 ;; |
10b4f2a5ce17
teach bash_completion about --cwd
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
1150
diff
changeset
|
179 --cwd) |
1587
851bc33ff545
Less annoying directory completion (see http://bugs.debian.org/343458)
Daniel Kobras <kobras@debian.org>
parents:
1556
diff
changeset
|
180 # Stick with default bash completion |
1151
10b4f2a5ce17
teach bash_completion about --cwd
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
1150
diff
changeset
|
181 return |
10b4f2a5ce17
teach bash_completion about --cwd
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
1150
diff
changeset
|
182 ;; |
10b4f2a5ce17
teach bash_completion about --cwd
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
1150
diff
changeset
|
183 esac |
916 | 184 |
185 if [ -z "$cmd" ] || [ $COMP_CWORD -eq $i ]; then | |
186 _hg_commands | |
187 return | |
188 fi | |
189 | |
2039
0c438fd25e6e
bash_completion: small optimization
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2035
diff
changeset
|
190 # try to generate completion candidates for whatever command the user typed |
0c438fd25e6e
bash_completion: small optimization
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2035
diff
changeset
|
191 local help |
0c438fd25e6e
bash_completion: small optimization
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2035
diff
changeset
|
192 if _hg_command_specific; then |
0c438fd25e6e
bash_completion: small optimization
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2035
diff
changeset
|
193 return |
0c438fd25e6e
bash_completion: small optimization
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2035
diff
changeset
|
194 fi |
1150
4ee09418c8e5
bash_completion: better handling of aliases
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
1149
diff
changeset
|
195 |
2039
0c438fd25e6e
bash_completion: small optimization
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2035
diff
changeset
|
196 # canonicalize the command name and try again |
11646
91af149b5cd7
bash/zsh completion: use HGPLAIN when invoking hg (issue2297)
Brodie Rao <brodie@bitheap.org>
parents:
10456
diff
changeset
|
197 help=$(_hg_cmd help "$cmd") |
2039
0c438fd25e6e
bash_completion: small optimization
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2035
diff
changeset
|
198 if [ $? -ne 0 ]; then |
0c438fd25e6e
bash_completion: small optimization
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2035
diff
changeset
|
199 # Probably either the command doesn't exist or it's ambiguous |
916 | 200 return |
201 fi | |
2039
0c438fd25e6e
bash_completion: small optimization
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2035
diff
changeset
|
202 cmd=${help#hg } |
0c438fd25e6e
bash_completion: small optimization
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2035
diff
changeset
|
203 cmd=${cmd%%[$' \n']*} |
0c438fd25e6e
bash_completion: small optimization
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2035
diff
changeset
|
204 canonical=1 |
0c438fd25e6e
bash_completion: small optimization
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2035
diff
changeset
|
205 _hg_command_specific |
0c438fd25e6e
bash_completion: small optimization
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2035
diff
changeset
|
206 } |
0c438fd25e6e
bash_completion: small optimization
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2035
diff
changeset
|
207 |
0c438fd25e6e
bash_completion: small optimization
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2035
diff
changeset
|
208 _hg_command_specific() |
0c438fd25e6e
bash_completion: small optimization
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2035
diff
changeset
|
209 { |
2041
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
210 if [ "$(type -t "_hg_cmd_$cmd")" = function ]; then |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
211 "_hg_cmd_$cmd" |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
212 return 0 |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
213 fi |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
214 |
2039
0c438fd25e6e
bash_completion: small optimization
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2035
diff
changeset
|
215 if [ "$cmd" != status ] && [ "$prev" = -r ] || [ "$prev" == --rev ]; then |
0c438fd25e6e
bash_completion: small optimization
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2035
diff
changeset
|
216 if [ $canonical = 1 ]; then |
13509
8aea95ec128f
bash_completion: complete bookmarks
Kevin Bullock <kbullock@ringworld.org>
parents:
13243
diff
changeset
|
217 _hg_labels |
2039
0c438fd25e6e
bash_completion: small optimization
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2035
diff
changeset
|
218 return 0 |
0c438fd25e6e
bash_completion: small optimization
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2035
diff
changeset
|
219 elif [[ status != "$cmd"* ]]; then |
13509
8aea95ec128f
bash_completion: complete bookmarks
Kevin Bullock <kbullock@ringworld.org>
parents:
13243
diff
changeset
|
220 _hg_labels |
2039
0c438fd25e6e
bash_completion: small optimization
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2035
diff
changeset
|
221 return 0 |
0c438fd25e6e
bash_completion: small optimization
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2035
diff
changeset
|
222 else |
0c438fd25e6e
bash_completion: small optimization
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2035
diff
changeset
|
223 return 1 |
0c438fd25e6e
bash_completion: small optimization
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2035
diff
changeset
|
224 fi |
0c438fd25e6e
bash_completion: small optimization
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2035
diff
changeset
|
225 fi |
916 | 226 |
227 case "$cmd" in | |
228 help) | |
229 _hg_commands | |
230 ;; | |
3481
13a9a2136dd7
bash_completion: make export fall back to tags when there's no mq patch applied
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3480
diff
changeset
|
231 export) |
13a9a2136dd7
bash_completion: make export fall back to tags when there's no mq patch applied
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3480
diff
changeset
|
232 if _hg_ext_mq_patchlist qapplied && [ "${COMPREPLY[*]}" ]; then |
13a9a2136dd7
bash_completion: make export fall back to tags when there's no mq patch applied
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3480
diff
changeset
|
233 return 0 |
13a9a2136dd7
bash_completion: make export fall back to tags when there's no mq patch applied
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3480
diff
changeset
|
234 fi |
13509
8aea95ec128f
bash_completion: complete bookmarks
Kevin Bullock <kbullock@ringworld.org>
parents:
13243
diff
changeset
|
235 _hg_labels |
3481
13a9a2136dd7
bash_completion: make export fall back to tags when there's no mq patch applied
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3480
diff
changeset
|
236 ;; |
13a9a2136dd7
bash_completion: make export fall back to tags when there's no mq patch applied
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3480
diff
changeset
|
237 manifest|update) |
13509
8aea95ec128f
bash_completion: complete bookmarks
Kevin Bullock <kbullock@ringworld.org>
parents:
13243
diff
changeset
|
238 _hg_labels |
916 | 239 ;; |
1150
4ee09418c8e5
bash_completion: better handling of aliases
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
1149
diff
changeset
|
240 pull|push|outgoing|incoming) |
916 | 241 _hg_paths |
1587
851bc33ff545
Less annoying directory completion (see http://bugs.debian.org/343458)
Daniel Kobras <kobras@debian.org>
parents:
1556
diff
changeset
|
242 _hg_repos |
916 | 243 ;; |
244 paths) | |
245 _hg_paths | |
246 ;; | |
935
925563ff1b18
bash: Add smarter completion of add/commit/remove/forget/diff/revert
mpm@selenic.com
parents:
929
diff
changeset
|
247 add) |
925563ff1b18
bash: Add smarter completion of add/commit/remove/forget/diff/revert
mpm@selenic.com
parents:
929
diff
changeset
|
248 _hg_status "u" |
925563ff1b18
bash: Add smarter completion of add/commit/remove/forget/diff/revert
mpm@selenic.com
parents:
929
diff
changeset
|
249 ;; |
8718
3463b28681ee
Support merge in contrib/bash_completion
Steve Losh <steve@stevelosh.com>
parents:
6232
diff
changeset
|
250 merge) |
13509
8aea95ec128f
bash_completion: complete bookmarks
Kevin Bullock <kbullock@ringworld.org>
parents:
13243
diff
changeset
|
251 _hg_labels |
8718
3463b28681ee
Support merge in contrib/bash_completion
Steve Losh <steve@stevelosh.com>
parents:
6232
diff
changeset
|
252 ;; |
13243
159651b3c9ec
bash_completion: support record command
Patrick Mezard <pmezard@gmail.com>
parents:
11968
diff
changeset
|
253 commit|record) |
1639
dbfc04a55607
_hg_status improvements in bash_completion:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1638
diff
changeset
|
254 _hg_status "mar" |
935
925563ff1b18
bash: Add smarter completion of add/commit/remove/forget/diff/revert
mpm@selenic.com
parents:
929
diff
changeset
|
255 ;; |
925563ff1b18
bash: Add smarter completion of add/commit/remove/forget/diff/revert
mpm@selenic.com
parents:
929
diff
changeset
|
256 remove) |
1639
dbfc04a55607
_hg_status improvements in bash_completion:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1638
diff
changeset
|
257 _hg_status "d" |
935
925563ff1b18
bash: Add smarter completion of add/commit/remove/forget/diff/revert
mpm@selenic.com
parents:
929
diff
changeset
|
258 ;; |
925563ff1b18
bash: Add smarter completion of add/commit/remove/forget/diff/revert
mpm@selenic.com
parents:
929
diff
changeset
|
259 forget) |
925563ff1b18
bash: Add smarter completion of add/commit/remove/forget/diff/revert
mpm@selenic.com
parents:
929
diff
changeset
|
260 _hg_status "a" |
925563ff1b18
bash: Add smarter completion of add/commit/remove/forget/diff/revert
mpm@selenic.com
parents:
929
diff
changeset
|
261 ;; |
925563ff1b18
bash: Add smarter completion of add/commit/remove/forget/diff/revert
mpm@selenic.com
parents:
929
diff
changeset
|
262 diff) |
1639
dbfc04a55607
_hg_status improvements in bash_completion:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1638
diff
changeset
|
263 _hg_status "mar" |
935
925563ff1b18
bash: Add smarter completion of add/commit/remove/forget/diff/revert
mpm@selenic.com
parents:
929
diff
changeset
|
264 ;; |
925563ff1b18
bash: Add smarter completion of add/commit/remove/forget/diff/revert
mpm@selenic.com
parents:
929
diff
changeset
|
265 revert) |
1639
dbfc04a55607
_hg_status improvements in bash_completion:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1638
diff
changeset
|
266 _hg_status "mard" |
935
925563ff1b18
bash: Add smarter completion of add/commit/remove/forget/diff/revert
mpm@selenic.com
parents:
929
diff
changeset
|
267 ;; |
916 | 268 clone) |
269 local count=$(_hg_count_non_option) | |
270 if [ $count = 1 ]; then | |
271 _hg_paths | |
272 fi | |
1684
cf930b2452d3
Cleanup of spacing in bash_completion
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1683
diff
changeset
|
273 _hg_repos |
916 | 274 ;; |
1115
89f54e72581d
bash_completion: add debugindex and debugdata support
mpm@selenic.com
parents:
1018
diff
changeset
|
275 debugindex|debugindexdot) |
1684
cf930b2452d3
Cleanup of spacing in bash_completion
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1683
diff
changeset
|
276 COMPREPLY=(${COMPREPLY[@]:-} $(compgen -f -X "!*.i" -- "$cur")) |
1115
89f54e72581d
bash_completion: add debugindex and debugdata support
mpm@selenic.com
parents:
1018
diff
changeset
|
277 ;; |
89f54e72581d
bash_completion: add debugindex and debugdata support
mpm@selenic.com
parents:
1018
diff
changeset
|
278 debugdata) |
1684
cf930b2452d3
Cleanup of spacing in bash_completion
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1683
diff
changeset
|
279 COMPREPLY=(${COMPREPLY[@]:-} $(compgen -f -X "!*.d" -- "$cur")) |
1115
89f54e72581d
bash_completion: add debugindex and debugdata support
mpm@selenic.com
parents:
1018
diff
changeset
|
280 ;; |
2039
0c438fd25e6e
bash_completion: small optimization
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2035
diff
changeset
|
281 *) |
0c438fd25e6e
bash_completion: small optimization
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2035
diff
changeset
|
282 return 1 |
0c438fd25e6e
bash_completion: small optimization
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2035
diff
changeset
|
283 ;; |
916 | 284 esac |
285 | |
2039
0c438fd25e6e
bash_completion: small optimization
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2035
diff
changeset
|
286 return 0 |
916 | 287 } |
288 | |
11646
91af149b5cd7
bash/zsh completion: use HGPLAIN when invoking hg (issue2297)
Brodie Rao <brodie@bitheap.org>
parents:
10456
diff
changeset
|
289 complete -o bashdefault -o default -F _hg hg \ |
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
|
290 || complete -o default -F _hg hg |
2041
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
291 |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
292 |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
293 # Completion for commands provided by extensions |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
294 |
9460
552c5a5a3502
contrib/bash_completion: add tab completion for some bookmark commands
Steve Losh <steve@stevelosh.com>
parents:
8719
diff
changeset
|
295 # bookmarks |
552c5a5a3502
contrib/bash_completion: add tab completion for some bookmark commands
Steve Losh <steve@stevelosh.com>
parents:
8719
diff
changeset
|
296 _hg_bookmarks() |
552c5a5a3502
contrib/bash_completion: add tab completion for some bookmark commands
Steve Losh <steve@stevelosh.com>
parents:
8719
diff
changeset
|
297 { |
11646
91af149b5cd7
bash/zsh completion: use HGPLAIN when invoking hg (issue2297)
Brodie Rao <brodie@bitheap.org>
parents:
10456
diff
changeset
|
298 local bookmarks="$(_hg_cmd bookmarks --quiet )" |
9460
552c5a5a3502
contrib/bash_completion: add tab completion for some bookmark commands
Steve Losh <steve@stevelosh.com>
parents:
8719
diff
changeset
|
299 local IFS=$'\n' |
552c5a5a3502
contrib/bash_completion: add tab completion for some bookmark commands
Steve Losh <steve@stevelosh.com>
parents:
8719
diff
changeset
|
300 COMPREPLY=(${COMPREPLY[@]:-} $(compgen -W '$bookmarks' -- "$cur")) |
552c5a5a3502
contrib/bash_completion: add tab completion for some bookmark commands
Steve Losh <steve@stevelosh.com>
parents:
8719
diff
changeset
|
301 } |
552c5a5a3502
contrib/bash_completion: add tab completion for some bookmark commands
Steve Losh <steve@stevelosh.com>
parents:
8719
diff
changeset
|
302 |
552c5a5a3502
contrib/bash_completion: add tab completion for some bookmark commands
Steve Losh <steve@stevelosh.com>
parents:
8719
diff
changeset
|
303 _hg_cmd_bookmarks() |
552c5a5a3502
contrib/bash_completion: add tab completion for some bookmark commands
Steve Losh <steve@stevelosh.com>
parents:
8719
diff
changeset
|
304 { |
552c5a5a3502
contrib/bash_completion: add tab completion for some bookmark commands
Steve Losh <steve@stevelosh.com>
parents:
8719
diff
changeset
|
305 if [[ "$prev" = @(-d|--delete|-m|--rename) ]]; then |
552c5a5a3502
contrib/bash_completion: add tab completion for some bookmark commands
Steve Losh <steve@stevelosh.com>
parents:
8719
diff
changeset
|
306 _hg_bookmarks |
552c5a5a3502
contrib/bash_completion: add tab completion for some bookmark commands
Steve Losh <steve@stevelosh.com>
parents:
8719
diff
changeset
|
307 return |
552c5a5a3502
contrib/bash_completion: add tab completion for some bookmark commands
Steve Losh <steve@stevelosh.com>
parents:
8719
diff
changeset
|
308 fi |
552c5a5a3502
contrib/bash_completion: add tab completion for some bookmark commands
Steve Losh <steve@stevelosh.com>
parents:
8719
diff
changeset
|
309 } |
552c5a5a3502
contrib/bash_completion: add tab completion for some bookmark commands
Steve Losh <steve@stevelosh.com>
parents:
8719
diff
changeset
|
310 |
2041
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
311 # mq |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
312 _hg_ext_mq_patchlist() |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
313 { |
3480
03932425cfd8
bash_completion: don't complete export with "garbage" when mq is not around
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2695
diff
changeset
|
314 local patches |
11646
91af149b5cd7
bash/zsh completion: use HGPLAIN when invoking hg (issue2297)
Brodie Rao <brodie@bitheap.org>
parents:
10456
diff
changeset
|
315 patches=$(_hg_cmd $1) |
3480
03932425cfd8
bash_completion: don't complete export with "garbage" when mq is not around
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2695
diff
changeset
|
316 if [ $? -eq 0 ] && [ "$patches" ]; then |
03932425cfd8
bash_completion: don't complete export with "garbage" when mq is not around
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2695
diff
changeset
|
317 COMPREPLY=(${COMPREPLY[@]:-} $(compgen -W '$patches' -- "$cur")) |
03932425cfd8
bash_completion: don't complete export with "garbage" when mq is not around
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2695
diff
changeset
|
318 return 0 |
03932425cfd8
bash_completion: don't complete export with "garbage" when mq is not around
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2695
diff
changeset
|
319 fi |
03932425cfd8
bash_completion: don't complete export with "garbage" when mq is not around
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2695
diff
changeset
|
320 return 1 |
2041
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
321 } |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
322 |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
323 _hg_ext_mq_queues() |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
324 { |
11646
91af149b5cd7
bash/zsh completion: use HGPLAIN when invoking hg (issue2297)
Brodie Rao <brodie@bitheap.org>
parents:
10456
diff
changeset
|
325 local root=$(_hg_cmd root) |
2041
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
326 local n |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
327 for n in $(cd "$root"/.hg && compgen -d -- "$cur"); do |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
328 # I think we're usually not interested in the regular "patches" queue |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
329 # so just filter it. |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
330 if [ "$n" != patches ] && [ -e "$root/.hg/$n/series" ]; then |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
331 COMPREPLY=(${COMPREPLY[@]:-} "$n") |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
332 fi |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
333 done |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
334 } |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
335 |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
336 _hg_cmd_qpop() |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
337 { |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
338 if [[ "$prev" = @(-n|--name) ]]; then |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
339 _hg_ext_mq_queues |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
340 return |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
341 fi |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
342 _hg_ext_mq_patchlist qapplied |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
343 } |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
344 |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
345 _hg_cmd_qpush() |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
346 { |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
347 if [[ "$prev" = @(-n|--name) ]]; then |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
348 _hg_ext_mq_queues |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
349 return |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
350 fi |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
351 _hg_ext_mq_patchlist qunapplied |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
352 } |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
353 |
5507
bb417470d62a
Support qgoto in contrib/bash_completion.
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
5081
diff
changeset
|
354 _hg_cmd_qgoto() |
bb417470d62a
Support qgoto in contrib/bash_completion.
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
5081
diff
changeset
|
355 { |
bb417470d62a
Support qgoto in contrib/bash_completion.
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
5081
diff
changeset
|
356 if [[ "$prev" = @(-n|--name) ]]; then |
bb417470d62a
Support qgoto in contrib/bash_completion.
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
5081
diff
changeset
|
357 _hg_ext_mq_queues |
bb417470d62a
Support qgoto in contrib/bash_completion.
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
5081
diff
changeset
|
358 return |
bb417470d62a
Support qgoto in contrib/bash_completion.
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
5081
diff
changeset
|
359 fi |
bb417470d62a
Support qgoto in contrib/bash_completion.
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
5081
diff
changeset
|
360 _hg_ext_mq_patchlist qseries |
bb417470d62a
Support qgoto in contrib/bash_completion.
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
5081
diff
changeset
|
361 } |
bb417470d62a
Support qgoto in contrib/bash_completion.
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
5081
diff
changeset
|
362 |
2041
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
363 _hg_cmd_qdelete() |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
364 { |
3482
e762c0e95eac
bash_completion: qdelete --rev
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3481
diff
changeset
|
365 local qcmd=qunapplied |
e762c0e95eac
bash_completion: qdelete --rev
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3481
diff
changeset
|
366 if [[ "$prev" = @(-r|--rev) ]]; then |
e762c0e95eac
bash_completion: qdelete --rev
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3481
diff
changeset
|
367 qcmd=qapplied |
e762c0e95eac
bash_completion: qdelete --rev
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3481
diff
changeset
|
368 fi |
e762c0e95eac
bash_completion: qdelete --rev
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3481
diff
changeset
|
369 _hg_ext_mq_patchlist $qcmd |
2041
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
370 } |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
371 |
9840
18d5935c0c62
Add missing bash_completion for qfinish
Thomas Arendsen Hein <thomas@intevation.de>
parents:
9602
diff
changeset
|
372 _hg_cmd_qfinish() |
18d5935c0c62
Add missing bash_completion for qfinish
Thomas Arendsen Hein <thomas@intevation.de>
parents:
9602
diff
changeset
|
373 { |
18d5935c0c62
Add missing bash_completion for qfinish
Thomas Arendsen Hein <thomas@intevation.de>
parents:
9602
diff
changeset
|
374 if [[ "$prev" = @(-a|--applied) ]]; then |
18d5935c0c62
Add missing bash_completion for qfinish
Thomas Arendsen Hein <thomas@intevation.de>
parents:
9602
diff
changeset
|
375 return |
18d5935c0c62
Add missing bash_completion for qfinish
Thomas Arendsen Hein <thomas@intevation.de>
parents:
9602
diff
changeset
|
376 fi |
18d5935c0c62
Add missing bash_completion for qfinish
Thomas Arendsen Hein <thomas@intevation.de>
parents:
9602
diff
changeset
|
377 _hg_ext_mq_patchlist qapplied |
18d5935c0c62
Add missing bash_completion for qfinish
Thomas Arendsen Hein <thomas@intevation.de>
parents:
9602
diff
changeset
|
378 } |
18d5935c0c62
Add missing bash_completion for qfinish
Thomas Arendsen Hein <thomas@intevation.de>
parents:
9602
diff
changeset
|
379 |
2041
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
380 _hg_cmd_qsave() |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
381 { |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
382 if [[ "$prev" = @(-n|--name) ]]; then |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
383 _hg_ext_mq_queues |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
384 return |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
385 fi |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
386 } |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
387 |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
388 _hg_cmd_strip() |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
389 { |
13509
8aea95ec128f
bash_completion: complete bookmarks
Kevin Bullock <kbullock@ringworld.org>
parents:
13243
diff
changeset
|
390 _hg_labels |
2041
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
391 } |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
392 |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
393 _hg_cmd_qcommit() |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
394 { |
11646
91af149b5cd7
bash/zsh completion: use HGPLAIN when invoking hg (issue2297)
Brodie Rao <brodie@bitheap.org>
parents:
10456
diff
changeset
|
395 local root=$(_hg_cmd root) |
2041
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
396 # this is run in a sub-shell, so we can't use _hg_status |
11646
91af149b5cd7
bash/zsh completion: use HGPLAIN when invoking hg (issue2297)
Brodie Rao <brodie@bitheap.org>
parents:
10456
diff
changeset
|
397 local files=$(cd "$root/.hg/patches" && _hg_cmd status -nmar) |
2041
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
398 COMPREPLY=(${COMPREPLY[@]:-} $(compgen -W '$files' -- "$cur")) |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
399 } |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
400 |
3484
a8823e6824fc
bash_completion: qfold, qrename, qheader, qclone and qselect
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3483
diff
changeset
|
401 _hg_cmd_qfold() |
a8823e6824fc
bash_completion: qfold, qrename, qheader, qclone and qselect
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3483
diff
changeset
|
402 { |
a8823e6824fc
bash_completion: qfold, qrename, qheader, qclone and qselect
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3483
diff
changeset
|
403 _hg_ext_mq_patchlist qunapplied |
a8823e6824fc
bash_completion: qfold, qrename, qheader, qclone and qselect
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3483
diff
changeset
|
404 } |
a8823e6824fc
bash_completion: qfold, qrename, qheader, qclone and qselect
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3483
diff
changeset
|
405 |
a8823e6824fc
bash_completion: qfold, qrename, qheader, qclone and qselect
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3483
diff
changeset
|
406 _hg_cmd_qrename() |
a8823e6824fc
bash_completion: qfold, qrename, qheader, qclone and qselect
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3483
diff
changeset
|
407 { |
a8823e6824fc
bash_completion: qfold, qrename, qheader, qclone and qselect
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3483
diff
changeset
|
408 _hg_ext_mq_patchlist qseries |
a8823e6824fc
bash_completion: qfold, qrename, qheader, qclone and qselect
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3483
diff
changeset
|
409 } |
a8823e6824fc
bash_completion: qfold, qrename, qheader, qclone and qselect
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3483
diff
changeset
|
410 |
a8823e6824fc
bash_completion: qfold, qrename, qheader, qclone and qselect
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3483
diff
changeset
|
411 _hg_cmd_qheader() |
a8823e6824fc
bash_completion: qfold, qrename, qheader, qclone and qselect
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3483
diff
changeset
|
412 { |
a8823e6824fc
bash_completion: qfold, qrename, qheader, qclone and qselect
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3483
diff
changeset
|
413 _hg_ext_mq_patchlist qseries |
a8823e6824fc
bash_completion: qfold, qrename, qheader, qclone and qselect
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3483
diff
changeset
|
414 } |
a8823e6824fc
bash_completion: qfold, qrename, qheader, qclone and qselect
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3483
diff
changeset
|
415 |
a8823e6824fc
bash_completion: qfold, qrename, qheader, qclone and qselect
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3483
diff
changeset
|
416 _hg_cmd_qclone() |
a8823e6824fc
bash_completion: qfold, qrename, qheader, qclone and qselect
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3483
diff
changeset
|
417 { |
a8823e6824fc
bash_completion: qfold, qrename, qheader, qclone and qselect
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3483
diff
changeset
|
418 local count=$(_hg_count_non_option) |
a8823e6824fc
bash_completion: qfold, qrename, qheader, qclone and qselect
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3483
diff
changeset
|
419 if [ $count = 1 ]; then |
a8823e6824fc
bash_completion: qfold, qrename, qheader, qclone and qselect
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3483
diff
changeset
|
420 _hg_paths |
a8823e6824fc
bash_completion: qfold, qrename, qheader, qclone and qselect
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3483
diff
changeset
|
421 fi |
a8823e6824fc
bash_completion: qfold, qrename, qheader, qclone and qselect
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3483
diff
changeset
|
422 _hg_repos |
a8823e6824fc
bash_completion: qfold, qrename, qheader, qclone and qselect
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3483
diff
changeset
|
423 } |
a8823e6824fc
bash_completion: qfold, qrename, qheader, qclone and qselect
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3483
diff
changeset
|
424 |
a8823e6824fc
bash_completion: qfold, qrename, qheader, qclone and qselect
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3483
diff
changeset
|
425 _hg_ext_mq_guards() |
a8823e6824fc
bash_completion: qfold, qrename, qheader, qclone and qselect
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3483
diff
changeset
|
426 { |
11646
91af149b5cd7
bash/zsh completion: use HGPLAIN when invoking hg (issue2297)
Brodie Rao <brodie@bitheap.org>
parents:
10456
diff
changeset
|
427 _hg_cmd qselect --series | sed -e 's/^.//' |
3484
a8823e6824fc
bash_completion: qfold, qrename, qheader, qclone and qselect
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3483
diff
changeset
|
428 } |
a8823e6824fc
bash_completion: qfold, qrename, qheader, qclone and qselect
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3483
diff
changeset
|
429 |
a8823e6824fc
bash_completion: qfold, qrename, qheader, qclone and qselect
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3483
diff
changeset
|
430 _hg_cmd_qselect() |
a8823e6824fc
bash_completion: qfold, qrename, qheader, qclone and qselect
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3483
diff
changeset
|
431 { |
a8823e6824fc
bash_completion: qfold, qrename, qheader, qclone and qselect
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3483
diff
changeset
|
432 local guards=$(_hg_ext_mq_guards) |
a8823e6824fc
bash_completion: qfold, qrename, qheader, qclone and qselect
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3483
diff
changeset
|
433 COMPREPLY=(${COMPREPLY[@]:-} $(compgen -W '$guards' -- "$cur")) |
a8823e6824fc
bash_completion: qfold, qrename, qheader, qclone and qselect
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3483
diff
changeset
|
434 } |
a8823e6824fc
bash_completion: qfold, qrename, qheader, qclone and qselect
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3483
diff
changeset
|
435 |
3486
f699d4eb25d9
bash_completion: qguard
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3485
diff
changeset
|
436 _hg_cmd_qguard() |
f699d4eb25d9
bash_completion: qguard
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3485
diff
changeset
|
437 { |
f699d4eb25d9
bash_completion: qguard
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3485
diff
changeset
|
438 local prefix='' |
f699d4eb25d9
bash_completion: qguard
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3485
diff
changeset
|
439 |
f699d4eb25d9
bash_completion: qguard
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3485
diff
changeset
|
440 if [[ "$cur" == +* ]]; then |
f699d4eb25d9
bash_completion: qguard
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3485
diff
changeset
|
441 prefix=+ |
f699d4eb25d9
bash_completion: qguard
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3485
diff
changeset
|
442 elif [[ "$cur" == -* ]]; then |
f699d4eb25d9
bash_completion: qguard
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3485
diff
changeset
|
443 prefix=- |
f699d4eb25d9
bash_completion: qguard
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3485
diff
changeset
|
444 fi |
f699d4eb25d9
bash_completion: qguard
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3485
diff
changeset
|
445 local ncur=${cur#[-+]} |
f699d4eb25d9
bash_completion: qguard
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3485
diff
changeset
|
446 |
f699d4eb25d9
bash_completion: qguard
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3485
diff
changeset
|
447 if ! [ "$prefix" ]; then |
f699d4eb25d9
bash_completion: qguard
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3485
diff
changeset
|
448 _hg_ext_mq_patchlist qseries |
f699d4eb25d9
bash_completion: qguard
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3485
diff
changeset
|
449 return |
f699d4eb25d9
bash_completion: qguard
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3485
diff
changeset
|
450 fi |
f699d4eb25d9
bash_completion: qguard
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3485
diff
changeset
|
451 |
f699d4eb25d9
bash_completion: qguard
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3485
diff
changeset
|
452 local guards=$(_hg_ext_mq_guards) |
f699d4eb25d9
bash_completion: qguard
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3485
diff
changeset
|
453 COMPREPLY=(${COMPREPLY[@]:-} $(compgen -P $prefix -W '$guards' -- "$ncur")) |
f699d4eb25d9
bash_completion: qguard
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3485
diff
changeset
|
454 } |
f699d4eb25d9
bash_completion: qguard
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3485
diff
changeset
|
455 |
f699d4eb25d9
bash_completion: qguard
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3485
diff
changeset
|
456 _hg_opt_qguard() |
f699d4eb25d9
bash_completion: qguard
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3485
diff
changeset
|
457 { |
f699d4eb25d9
bash_completion: qguard
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3485
diff
changeset
|
458 local i |
f699d4eb25d9
bash_completion: qguard
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3485
diff
changeset
|
459 for ((i=cmd_index+1; i<=COMP_CWORD; i++)); do |
f699d4eb25d9
bash_completion: qguard
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3485
diff
changeset
|
460 if [[ ${COMP_WORDS[i]} != -* ]]; then |
f699d4eb25d9
bash_completion: qguard
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3485
diff
changeset
|
461 if [[ ${COMP_WORDS[i-1]} != @($global_args) ]]; then |
f699d4eb25d9
bash_completion: qguard
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3485
diff
changeset
|
462 _hg_cmd_qguard |
f699d4eb25d9
bash_completion: qguard
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3485
diff
changeset
|
463 return 0 |
f699d4eb25d9
bash_completion: qguard
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3485
diff
changeset
|
464 fi |
f699d4eb25d9
bash_completion: qguard
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3485
diff
changeset
|
465 elif [ "${COMP_WORDS[i]}" = -- ]; then |
f699d4eb25d9
bash_completion: qguard
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3485
diff
changeset
|
466 _hg_cmd_qguard |
f699d4eb25d9
bash_completion: qguard
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3485
diff
changeset
|
467 return 0 |
f699d4eb25d9
bash_completion: qguard
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3485
diff
changeset
|
468 fi |
f699d4eb25d9
bash_completion: qguard
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3485
diff
changeset
|
469 done |
f699d4eb25d9
bash_completion: qguard
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3485
diff
changeset
|
470 return 1 |
f699d4eb25d9
bash_completion: qguard
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3485
diff
changeset
|
471 } |
f699d4eb25d9
bash_completion: qguard
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3485
diff
changeset
|
472 |
11768
dc5ce9c95d00
mq/qqueue: enable bash completion
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
parents:
11646
diff
changeset
|
473 _hg_cmd_qqueue() |
dc5ce9c95d00
mq/qqueue: enable bash completion
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
parents:
11646
diff
changeset
|
474 { |
dc5ce9c95d00
mq/qqueue: enable bash completion
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
parents:
11646
diff
changeset
|
475 local q |
dc5ce9c95d00
mq/qqueue: enable bash completion
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
parents:
11646
diff
changeset
|
476 local queues |
11968
66521d25c2a6
mq/qqueue: update bash completion
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
parents:
11768
diff
changeset
|
477 local opts="--list --create --rename --delete --purge" |
11768
dc5ce9c95d00
mq/qqueue: enable bash completion
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
parents:
11646
diff
changeset
|
478 |
dc5ce9c95d00
mq/qqueue: enable bash completion
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
parents:
11646
diff
changeset
|
479 queues=$( _hg_cmd qqueue --quiet ) |
dc5ce9c95d00
mq/qqueue: enable bash completion
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
parents:
11646
diff
changeset
|
480 |
dc5ce9c95d00
mq/qqueue: enable bash completion
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
parents:
11646
diff
changeset
|
481 COMPREPLY=( $( compgen -W "${opts} ${queues}" "${cur}" ) ) |
dc5ce9c95d00
mq/qqueue: enable bash completion
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
parents:
11646
diff
changeset
|
482 } |
dc5ce9c95d00
mq/qqueue: enable bash completion
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
parents:
11646
diff
changeset
|
483 |
2041
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
484 |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
485 # hbisect |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
486 _hg_cmd_bisect() |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
487 { |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
488 local i subcmd |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
489 |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
490 # find the sub-command |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
491 for ((i=cmd_index+1; i<=COMP_CWORD; i++)); do |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
492 if [[ ${COMP_WORDS[i]} != -* ]]; then |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
493 if [[ ${COMP_WORDS[i-1]} != @($global_args) ]]; then |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
494 subcmd="${COMP_WORDS[i]}" |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
495 break |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
496 fi |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
497 fi |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
498 done |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
499 |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
500 if [ -z "$subcmd" ] || [ $COMP_CWORD -eq $i ] || [ "$subcmd" = help ]; then |
5081
ea7b982b6c08
Remove trailing spaces
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3993
diff
changeset
|
501 COMPREPLY=(${COMPREPLY[@]:-} |
2041
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
502 $(compgen -W 'bad good help init next reset' -- "$cur")) |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
503 return |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
504 fi |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
505 |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
506 case "$subcmd" in |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
507 good|bad) |
13509
8aea95ec128f
bash_completion: complete bookmarks
Kevin Bullock <kbullock@ringworld.org>
parents:
13243
diff
changeset
|
508 _hg_labels |
2041
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
509 ;; |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
510 esac |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
511 |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
512 return |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
513 } |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
514 |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
515 |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
516 # patchbomb |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
517 _hg_cmd_email() |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
518 { |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
519 case "$prev" in |
3483
34cc82c6c7c2
bash_completion: email --bcc
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3482
diff
changeset
|
520 -c|--cc|-t|--to|-f|--from|--bcc) |
5081
ea7b982b6c08
Remove trailing spaces
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3993
diff
changeset
|
521 # we need an e-mail address. let the user provide a function |
2041
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
522 # to get them |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
523 if [ "$(type -t _hg_emails)" = function ]; then |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
524 local arg=to |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
525 if [[ "$prev" == @(-f|--from) ]]; then |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
526 arg=from |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
527 fi |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
528 local addresses=$(_hg_emails $arg) |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
529 COMPREPLY=(${COMPREPLY[@]:-} |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
530 $(compgen -W '$addresses' -- "$cur")) |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
531 fi |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
532 return |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
533 ;; |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
534 -m|--mbox) |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
535 # fallback to standard filename completion |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
536 return |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
537 ;; |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
538 -s|--subject) |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
539 # free form string |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
540 return |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
541 ;; |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
542 esac |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
543 |
13509
8aea95ec128f
bash_completion: complete bookmarks
Kevin Bullock <kbullock@ringworld.org>
parents:
13243
diff
changeset
|
544 _hg_labels |
2041
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
545 return |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
546 } |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
547 |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
548 |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
549 # gpg |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
550 _hg_cmd_sign() |
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
551 { |
13509
8aea95ec128f
bash_completion: complete bookmarks
Kevin Bullock <kbullock@ringworld.org>
parents:
13243
diff
changeset
|
552 _hg_labels |
2041
077a2da7f1de
bash_completion: completion for commands provided by extensions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2039
diff
changeset
|
553 } |
3993
04d919cdf263
expanded bash_completion for transplant extension
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3992
diff
changeset
|
554 |
04d919cdf263
expanded bash_completion for transplant extension
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3992
diff
changeset
|
555 |
04d919cdf263
expanded bash_completion for transplant extension
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3992
diff
changeset
|
556 # transplant |
04d919cdf263
expanded bash_completion for transplant extension
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3992
diff
changeset
|
557 _hg_cmd_transplant() |
04d919cdf263
expanded bash_completion for transplant extension
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3992
diff
changeset
|
558 { |
04d919cdf263
expanded bash_completion for transplant extension
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3992
diff
changeset
|
559 case "$prev" in |
04d919cdf263
expanded bash_completion for transplant extension
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3992
diff
changeset
|
560 -s|--source) |
04d919cdf263
expanded bash_completion for transplant extension
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3992
diff
changeset
|
561 _hg_paths |
04d919cdf263
expanded bash_completion for transplant extension
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3992
diff
changeset
|
562 _hg_repos |
04d919cdf263
expanded bash_completion for transplant extension
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3992
diff
changeset
|
563 return |
04d919cdf263
expanded bash_completion for transplant extension
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3992
diff
changeset
|
564 ;; |
04d919cdf263
expanded bash_completion for transplant extension
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3992
diff
changeset
|
565 --filter) |
04d919cdf263
expanded bash_completion for transplant extension
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3992
diff
changeset
|
566 # standard filename completion |
04d919cdf263
expanded bash_completion for transplant extension
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3992
diff
changeset
|
567 return |
04d919cdf263
expanded bash_completion for transplant extension
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3992
diff
changeset
|
568 ;; |
04d919cdf263
expanded bash_completion for transplant extension
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3992
diff
changeset
|
569 esac |
04d919cdf263
expanded bash_completion for transplant extension
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3992
diff
changeset
|
570 |
04d919cdf263
expanded bash_completion for transplant extension
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3992
diff
changeset
|
571 # all other transplant options values and command parameters are revisions |
13509
8aea95ec128f
bash_completion: complete bookmarks
Kevin Bullock <kbullock@ringworld.org>
parents:
13243
diff
changeset
|
572 _hg_labels |
3993
04d919cdf263
expanded bash_completion for transplant extension
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3992
diff
changeset
|
573 return |
04d919cdf263
expanded bash_completion for transplant extension
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3992
diff
changeset
|
574 } |
04d919cdf263
expanded bash_completion for transplant extension
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3992
diff
changeset
|
575 |
9511
33033af09308
bash_completion: add completions for shelve extension
Kevin Bullock <kbullock@ringworld.org>
parents:
8719
diff
changeset
|
576 # shelve |
33033af09308
bash_completion: add completions for shelve extension
Kevin Bullock <kbullock@ringworld.org>
parents:
8719
diff
changeset
|
577 _hg_shelves() |
33033af09308
bash_completion: add completions for shelve extension
Kevin Bullock <kbullock@ringworld.org>
parents:
8719
diff
changeset
|
578 { |
11646
91af149b5cd7
bash/zsh completion: use HGPLAIN when invoking hg (issue2297)
Brodie Rao <brodie@bitheap.org>
parents:
10456
diff
changeset
|
579 local shelves="$(_hg_cmd unshelve -l .)" |
9511
33033af09308
bash_completion: add completions for shelve extension
Kevin Bullock <kbullock@ringworld.org>
parents:
8719
diff
changeset
|
580 local IFS=$'\n' |
33033af09308
bash_completion: add completions for shelve extension
Kevin Bullock <kbullock@ringworld.org>
parents:
8719
diff
changeset
|
581 COMPREPLY=(${COMPREPLY[@]:-} $(compgen -W '$shelves' -- "$cur")) |
33033af09308
bash_completion: add completions for shelve extension
Kevin Bullock <kbullock@ringworld.org>
parents:
8719
diff
changeset
|
582 } |
33033af09308
bash_completion: add completions for shelve extension
Kevin Bullock <kbullock@ringworld.org>
parents:
8719
diff
changeset
|
583 |
33033af09308
bash_completion: add completions for shelve extension
Kevin Bullock <kbullock@ringworld.org>
parents:
8719
diff
changeset
|
584 _hg_cmd_shelve() |
33033af09308
bash_completion: add completions for shelve extension
Kevin Bullock <kbullock@ringworld.org>
parents:
8719
diff
changeset
|
585 { |
33033af09308
bash_completion: add completions for shelve extension
Kevin Bullock <kbullock@ringworld.org>
parents:
8719
diff
changeset
|
586 _hg_status "mard" |
33033af09308
bash_completion: add completions for shelve extension
Kevin Bullock <kbullock@ringworld.org>
parents:
8719
diff
changeset
|
587 } |
33033af09308
bash_completion: add completions for shelve extension
Kevin Bullock <kbullock@ringworld.org>
parents:
8719
diff
changeset
|
588 |
33033af09308
bash_completion: add completions for shelve extension
Kevin Bullock <kbullock@ringworld.org>
parents:
8719
diff
changeset
|
589 _hg_cmd_unshelve() |
33033af09308
bash_completion: add completions for shelve extension
Kevin Bullock <kbullock@ringworld.org>
parents:
8719
diff
changeset
|
590 { |
33033af09308
bash_completion: add completions for shelve extension
Kevin Bullock <kbullock@ringworld.org>
parents:
8719
diff
changeset
|
591 _hg_shelves |
33033af09308
bash_completion: add completions for shelve extension
Kevin Bullock <kbullock@ringworld.org>
parents:
8719
diff
changeset
|
592 } |