annotate contrib/zsh_completion @ 17126:8fa8717b47b6

obsolete: write obsolete marker inside a transaction Marker are now written as soon as possible but within a transaction. Using a transaction ensure a proper behavior on error and rollback compatibility. Flush logic are not necessary anymore and are dropped from lock release. With this changeset, the obsstore is open, written and closed for every single added marker. This is expected to be highly inefficient and batched write should be implemented "quickly". Another issue is that every flush of the file will invalidate the obsstore filecache and trigger a full re instantiation of the repo.obsstore attribute (including, reading and parsing entry). This is also expected to be highly inefficient and proper filecache operation should be implemented "quickly" too. A side benefit of the filecache issue is that repo.obsstore object is properly invalidated on transaction abortion.
author Pierre-Yves David <pierre-yves.david@ens-lyon.org>
date Wed, 04 Jul 2012 02:21:04 +0200
parents a1d86396d8c1
children aaaeea31482a
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1362
246e1a00af6f zsh completion function for hg
Steve Borho <steve@borho.org>
parents:
diff changeset
1 #compdef hg
246e1a00af6f zsh completion function for hg
Steve Borho <steve@borho.org>
parents:
diff changeset
2
246e1a00af6f zsh completion function for hg
Steve Borho <steve@borho.org>
parents:
diff changeset
3 # Zsh completion script for mercurial. Rename this file to _hg and copy
246e1a00af6f zsh completion function for hg
Steve Borho <steve@borho.org>
parents:
diff changeset
4 # it into your zsh function path (/usr/share/zsh/site-functions for
246e1a00af6f zsh completion function for hg
Steve Borho <steve@borho.org>
parents:
diff changeset
5 # instance)
246e1a00af6f zsh completion function for hg
Steve Borho <steve@borho.org>
parents:
diff changeset
6 #
8616
704833724ff6 zsh-comp: explain how to use for non-global install
Martin Geisler <mg@lazybytes.net>
parents: 7510
diff changeset
7 # If you do not want to install it globally, you can copy it somewhere
704833724ff6 zsh-comp: explain how to use for non-global install
Martin Geisler <mg@lazybytes.net>
parents: 7510
diff changeset
8 # else and add that directory to $fpath. This must be done before
704833724ff6 zsh-comp: explain how to use for non-global install
Martin Geisler <mg@lazybytes.net>
parents: 7510
diff changeset
9 # compinit is called. If the file is copied to ~/.zsh.d, your ~/.zshrc
704833724ff6 zsh-comp: explain how to use for non-global install
Martin Geisler <mg@lazybytes.net>
parents: 7510
diff changeset
10 # file could look like this:
704833724ff6 zsh-comp: explain how to use for non-global install
Martin Geisler <mg@lazybytes.net>
parents: 7510
diff changeset
11 #
704833724ff6 zsh-comp: explain how to use for non-global install
Martin Geisler <mg@lazybytes.net>
parents: 7510
diff changeset
12 # fpath=("$HOME/.zsh.d" $fpath)
704833724ff6 zsh-comp: explain how to use for non-global install
Martin Geisler <mg@lazybytes.net>
parents: 7510
diff changeset
13 # autoload -U compinit
704833724ff6 zsh-comp: explain how to use for non-global install
Martin Geisler <mg@lazybytes.net>
parents: 7510
diff changeset
14 # compinit
704833724ff6 zsh-comp: explain how to use for non-global install
Martin Geisler <mg@lazybytes.net>
parents: 7510
diff changeset
15 #
8961
c963d49ac7a1 Relicense zsh completion script under zsh license.
Brendan Cully <brendan@kublai.com>
parents: 8616
diff changeset
16 # Copyright (C) 2005, 2006 Steve Borho <steve@borho.org>
12168
ff4597f521a4 zsh completion: patchbomb support
Brendan Cully <brendan@kublai.com>
parents: 11760
diff changeset
17 # Copyright (C) 2006-10 Brendan Cully <brendan@kublai.com>
8961
c963d49ac7a1 Relicense zsh completion script under zsh license.
Brendan Cully <brendan@kublai.com>
parents: 8616
diff changeset
18 #
c963d49ac7a1 Relicense zsh completion script under zsh license.
Brendan Cully <brendan@kublai.com>
parents: 8616
diff changeset
19 # Permission is hereby granted, without written agreement and without
c963d49ac7a1 Relicense zsh completion script under zsh license.
Brendan Cully <brendan@kublai.com>
parents: 8616
diff changeset
20 # licence or royalty fees, to use, copy, modify, and distribute this
c963d49ac7a1 Relicense zsh completion script under zsh license.
Brendan Cully <brendan@kublai.com>
parents: 8616
diff changeset
21 # software and to distribute modified versions of this software for any
c963d49ac7a1 Relicense zsh completion script under zsh license.
Brendan Cully <brendan@kublai.com>
parents: 8616
diff changeset
22 # purpose, provided that the above copyright notice and the following
c963d49ac7a1 Relicense zsh completion script under zsh license.
Brendan Cully <brendan@kublai.com>
parents: 8616
diff changeset
23 # two paragraphs appear in all copies of this software.
1362
246e1a00af6f zsh completion function for hg
Steve Borho <steve@borho.org>
parents:
diff changeset
24 #
8961
c963d49ac7a1 Relicense zsh completion script under zsh license.
Brendan Cully <brendan@kublai.com>
parents: 8616
diff changeset
25 # In no event shall the authors be liable to any party for direct,
c963d49ac7a1 Relicense zsh completion script under zsh license.
Brendan Cully <brendan@kublai.com>
parents: 8616
diff changeset
26 # indirect, special, incidental, or consequential damages arising out of
c963d49ac7a1 Relicense zsh completion script under zsh license.
Brendan Cully <brendan@kublai.com>
parents: 8616
diff changeset
27 # the use of this software and its documentation, even if the authors
c963d49ac7a1 Relicense zsh completion script under zsh license.
Brendan Cully <brendan@kublai.com>
parents: 8616
diff changeset
28 # have been advised of the possibility of such damage.
c963d49ac7a1 Relicense zsh completion script under zsh license.
Brendan Cully <brendan@kublai.com>
parents: 8616
diff changeset
29 #
c963d49ac7a1 Relicense zsh completion script under zsh license.
Brendan Cully <brendan@kublai.com>
parents: 8616
diff changeset
30 # The authors specifically disclaim any warranties, including, but not
c963d49ac7a1 Relicense zsh completion script under zsh license.
Brendan Cully <brendan@kublai.com>
parents: 8616
diff changeset
31 # limited to, the implied warranties of merchantability and fitness for
c963d49ac7a1 Relicense zsh completion script under zsh license.
Brendan Cully <brendan@kublai.com>
parents: 8616
diff changeset
32 # a particular purpose. The software provided hereunder is on an "as
c963d49ac7a1 Relicense zsh completion script under zsh license.
Brendan Cully <brendan@kublai.com>
parents: 8616
diff changeset
33 # is" basis, and the authors have no obligation to provide maintenance,
c963d49ac7a1 Relicense zsh completion script under zsh license.
Brendan Cully <brendan@kublai.com>
parents: 8616
diff changeset
34 # support, updates, enhancements, or modifications.
1362
246e1a00af6f zsh completion function for hg
Steve Borho <steve@borho.org>
parents:
diff changeset
35
5868
838fa52abcc1 [PATCH] zsh_completion tag/mq fixes
Nicholas Riley <njriley@uiuc.edu>
parents: 5309
diff changeset
36 emulate -LR zsh
838fa52abcc1 [PATCH] zsh_completion tag/mq fixes
Nicholas Riley <njriley@uiuc.edu>
parents: 5309
diff changeset
37 setopt extendedglob
838fa52abcc1 [PATCH] zsh_completion tag/mq fixes
Nicholas Riley <njriley@uiuc.edu>
parents: 5309
diff changeset
38
1362
246e1a00af6f zsh completion function for hg
Steve Borho <steve@borho.org>
parents:
diff changeset
39 local curcontext="$curcontext" state line
3537
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
40 typeset -A _hg_cmd_globals
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
41
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
42 _hg() {
3603
ef9c515836ae zsh: compute repository root instead of forking hg
Brendan Cully <brendan@kublai.com>
parents: 3602
diff changeset
43 local cmd _hg_root
3537
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
44 integer i=2
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
45 _hg_cmd_globals=()
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
46
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
47 while (( i < $#words ))
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
48 do
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
49 case "$words[$i]" in
3603
ef9c515836ae zsh: compute repository root instead of forking hg
Brendan Cully <brendan@kublai.com>
parents: 3602
diff changeset
50 -R|--repository)
3605
9d815b074dcb zsh: perform ~ expansion on _hg_root
Brendan Cully <brendan@kublai.com>
parents: 3603
diff changeset
51 eval _hg_root="$words[$i+1]"
3603
ef9c515836ae zsh: compute repository root instead of forking hg
Brendan Cully <brendan@kublai.com>
parents: 3602
diff changeset
52 _hg_cmd_globals+=("$words[$i]" "$_hg_root")
3537
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
53 (( i += 2 ))
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
54 continue
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
55 ;;
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
56 -R*)
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
57 _hg_cmd_globals+="$words[$i]"
3605
9d815b074dcb zsh: perform ~ expansion on _hg_root
Brendan Cully <brendan@kublai.com>
parents: 3603
diff changeset
58 eval _hg_root="${words[$i]#-R}"
3537
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
59 (( i++ ))
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
60 continue
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
61 ;;
3603
ef9c515836ae zsh: compute repository root instead of forking hg
Brendan Cully <brendan@kublai.com>
parents: 3602
diff changeset
62 --cwd|--config)
ef9c515836ae zsh: compute repository root instead of forking hg
Brendan Cully <brendan@kublai.com>
parents: 3602
diff changeset
63 # pass along arguments to hg completer
ef9c515836ae zsh: compute repository root instead of forking hg
Brendan Cully <brendan@kublai.com>
parents: 3602
diff changeset
64 _hg_cmd_globals+=("$words[$i]" "$words[$i+1]")
ef9c515836ae zsh: compute repository root instead of forking hg
Brendan Cully <brendan@kublai.com>
parents: 3602
diff changeset
65 (( i += 2 ))
ef9c515836ae zsh: compute repository root instead of forking hg
Brendan Cully <brendan@kublai.com>
parents: 3602
diff changeset
66 continue
ef9c515836ae zsh: compute repository root instead of forking hg
Brendan Cully <brendan@kublai.com>
parents: 3602
diff changeset
67 ;;
3537
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
68 -*)
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
69 # skip option
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
70 (( i++ ))
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
71 continue
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
72 ;;
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
73 esac
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
74 if [[ -z "$cmd" ]]
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
75 then
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
76 cmd="$words[$i]"
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
77 words[$i]=()
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
78 (( CURRENT-- ))
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
79 fi
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
80 (( i++ ))
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
81 done
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
82
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
83 if [[ -z "$cmd" ]]
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
84 then
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
85 _arguments -s -w : $_hg_global_opts \
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
86 ':mercurial command:_hg_commands'
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
87 return
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
88 fi
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
89
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
90 # resolve abbreviations and aliases
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
91 if ! (( $+functions[_hg_cmd_${cmd}] ))
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
92 then
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
93 local cmdexp
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
94 (( $#_hg_cmd_list )) || _hg_get_commands
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
95
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
96 cmdexp=$_hg_cmd_list[(r)${cmd}*]
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
97 if [[ $cmdexp == $_hg_cmd_list[(R)${cmd}*] ]]
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
98 then
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
99 # might be nice to rewrite the command line with the expansion
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
100 cmd="$cmdexp"
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
101 fi
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
102 if [[ -n $_hg_alias_list[$cmd] ]]
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
103 then
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
104 cmd=$_hg_alias_list[$cmd]
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
105 fi
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
106 fi
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
107
3600
932dadd2e614 zsh: add optional remote directory cache
Brendan Cully <brendan@kublai.com>
parents: 3598
diff changeset
108 curcontext="${curcontext%:*:*}:hg-${cmd}:"
932dadd2e614 zsh: add optional remote directory cache
Brendan Cully <brendan@kublai.com>
parents: 3598
diff changeset
109
932dadd2e614 zsh: add optional remote directory cache
Brendan Cully <brendan@kublai.com>
parents: 3598
diff changeset
110 zstyle -s ":completion:$curcontext:" cache-policy update_policy
932dadd2e614 zsh: add optional remote directory cache
Brendan Cully <brendan@kublai.com>
parents: 3598
diff changeset
111
932dadd2e614 zsh: add optional remote directory cache
Brendan Cully <brendan@kublai.com>
parents: 3598
diff changeset
112 if [[ -z "$update_policy" ]]
932dadd2e614 zsh: add optional remote directory cache
Brendan Cully <brendan@kublai.com>
parents: 3598
diff changeset
113 then
932dadd2e614 zsh: add optional remote directory cache
Brendan Cully <brendan@kublai.com>
parents: 3598
diff changeset
114 zstyle ":completion:$curcontext:" cache-policy _hg_cache_policy
932dadd2e614 zsh: add optional remote directory cache
Brendan Cully <brendan@kublai.com>
parents: 3598
diff changeset
115 fi
932dadd2e614 zsh: add optional remote directory cache
Brendan Cully <brendan@kublai.com>
parents: 3598
diff changeset
116
3537
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
117 if (( $+functions[_hg_cmd_${cmd}] ))
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
118 then
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
119 _hg_cmd_${cmd}
3597
0d253ec988a6 zsh: complete unknown commands normally
Brendan Cully <brendan@kublai.com>
parents: 3587
diff changeset
120 else
0d253ec988a6 zsh: complete unknown commands normally
Brendan Cully <brendan@kublai.com>
parents: 3587
diff changeset
121 # complete unknown commands normally
0d253ec988a6 zsh: complete unknown commands normally
Brendan Cully <brendan@kublai.com>
parents: 3587
diff changeset
122 _arguments -s -w : $_hg_global_opts \
3603
ef9c515836ae zsh: compute repository root instead of forking hg
Brendan Cully <brendan@kublai.com>
parents: 3602
diff changeset
123 '*:files:_hg_files'
3537
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
124 fi
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
125 }
3497
459e7cd943d4 zsh: complete according to the -R option if specified
Brendan Cully <brendan@kublai.com>
parents: 3496
diff changeset
126
3600
932dadd2e614 zsh: add optional remote directory cache
Brendan Cully <brendan@kublai.com>
parents: 3598
diff changeset
127 _hg_cache_policy() {
932dadd2e614 zsh: add optional remote directory cache
Brendan Cully <brendan@kublai.com>
parents: 3598
diff changeset
128 typeset -a old
932dadd2e614 zsh: add optional remote directory cache
Brendan Cully <brendan@kublai.com>
parents: 3598
diff changeset
129
932dadd2e614 zsh: add optional remote directory cache
Brendan Cully <brendan@kublai.com>
parents: 3598
diff changeset
130 # cache for a minute
932dadd2e614 zsh: add optional remote directory cache
Brendan Cully <brendan@kublai.com>
parents: 3598
diff changeset
131 old=( "$1"(mm+10) )
932dadd2e614 zsh: add optional remote directory cache
Brendan Cully <brendan@kublai.com>
parents: 3598
diff changeset
132 (( $#old )) && return 0
932dadd2e614 zsh: add optional remote directory cache
Brendan Cully <brendan@kublai.com>
parents: 3598
diff changeset
133
932dadd2e614 zsh: add optional remote directory cache
Brendan Cully <brendan@kublai.com>
parents: 3598
diff changeset
134 return 1
932dadd2e614 zsh: add optional remote directory cache
Brendan Cully <brendan@kublai.com>
parents: 3598
diff changeset
135 }
932dadd2e614 zsh: add optional remote directory cache
Brendan Cully <brendan@kublai.com>
parents: 3598
diff changeset
136
3537
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
137 _hg_get_commands() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
138 typeset -ga _hg_cmd_list
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
139 typeset -gA _hg_alias_list
7510
21009e85ee78 Update zsh completion to use debugcomplete -v instead of parsing help
Brendan Cully <brendan@kublai.com>
parents: 7466
diff changeset
140 local hline cmd cmdalias
7466
05010666fb19 Update zsh completion for new help format
Brendan Cully <brendan@kublai.com>
parents: 7386
diff changeset
141
8983
0701044ad156 zsh completion: basic merge support
Brendan Cully <brendan@kublai.com>
parents: 8982
diff changeset
142 _call_program hg hg debugcomplete -v | while read -A hline
7510
21009e85ee78 Update zsh completion to use debugcomplete -v instead of parsing help
Brendan Cully <brendan@kublai.com>
parents: 7466
diff changeset
143 do
21009e85ee78 Update zsh completion to use debugcomplete -v instead of parsing help
Brendan Cully <brendan@kublai.com>
parents: 7466
diff changeset
144 cmd=$hline[1]
21009e85ee78 Update zsh completion to use debugcomplete -v instead of parsing help
Brendan Cully <brendan@kublai.com>
parents: 7466
diff changeset
145 _hg_cmd_list+=($cmd)
21009e85ee78 Update zsh completion to use debugcomplete -v instead of parsing help
Brendan Cully <brendan@kublai.com>
parents: 7466
diff changeset
146
21009e85ee78 Update zsh completion to use debugcomplete -v instead of parsing help
Brendan Cully <brendan@kublai.com>
parents: 7466
diff changeset
147 for cmdalias in $hline[2,-1]
21009e85ee78 Update zsh completion to use debugcomplete -v instead of parsing help
Brendan Cully <brendan@kublai.com>
parents: 7466
diff changeset
148 do
21009e85ee78 Update zsh completion to use debugcomplete -v instead of parsing help
Brendan Cully <brendan@kublai.com>
parents: 7466
diff changeset
149 _hg_cmd_list+=($cmdalias)
21009e85ee78 Update zsh completion to use debugcomplete -v instead of parsing help
Brendan Cully <brendan@kublai.com>
parents: 7466
diff changeset
150 _hg_alias_list+=($cmdalias $cmd)
21009e85ee78 Update zsh completion to use debugcomplete -v instead of parsing help
Brendan Cully <brendan@kublai.com>
parents: 7466
diff changeset
151 done
3537
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
152 done
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
153 }
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
154
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
155 _hg_commands() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
156 (( $#_hg_cmd_list )) || _hg_get_commands
3548
811e6c95485c zsh: use standard tags where possible
Brendan Cully <brendan@kublai.com>
parents: 3543
diff changeset
157 _describe -t commands 'mercurial command' _hg_cmd_list
3537
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
158 }
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
159
3550
ef80b13df85a zsh: add revrange completion
Brendan Cully <brendan@kublai.com>
parents: 3549
diff changeset
160 _hg_revrange() {
ef80b13df85a zsh: add revrange completion
Brendan Cully <brendan@kublai.com>
parents: 3549
diff changeset
161 compset -P 1 '*:'
13511
392b5684d0b4 zsh completion: complete bookmarks where they are accepted
Augie Fackler <durin42@gmail.com>
parents: 12169
diff changeset
162 _hg_labels "$@"
392b5684d0b4 zsh completion: complete bookmarks where they are accepted
Augie Fackler <durin42@gmail.com>
parents: 12169
diff changeset
163 }
392b5684d0b4 zsh completion: complete bookmarks where they are accepted
Augie Fackler <durin42@gmail.com>
parents: 12169
diff changeset
164
392b5684d0b4 zsh completion: complete bookmarks where they are accepted
Augie Fackler <durin42@gmail.com>
parents: 12169
diff changeset
165 _hg_labels() {
3550
ef80b13df85a zsh: add revrange completion
Brendan Cully <brendan@kublai.com>
parents: 3549
diff changeset
166 _hg_tags "$@"
13511
392b5684d0b4 zsh completion: complete bookmarks where they are accepted
Augie Fackler <durin42@gmail.com>
parents: 12169
diff changeset
167 _hg_bookmarks "$@"
15100
a051f8a6a7cc contrib: some support for named branches in zsh_completion (issue2988)
Ben Hockey <neonstalwart@gmail.com>
parents: 13562
diff changeset
168 _hg_branches "$@"
3550
ef80b13df85a zsh: add revrange completion
Brendan Cully <brendan@kublai.com>
parents: 3549
diff changeset
169 }
ef80b13df85a zsh: add revrange completion
Brendan Cully <brendan@kublai.com>
parents: 3549
diff changeset
170
3537
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
171 _hg_tags() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
172 typeset -a tags
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
173 local tag rev
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
174
8983
0701044ad156 zsh completion: basic merge support
Brendan Cully <brendan@kublai.com>
parents: 8982
diff changeset
175 _hg_cmd tags | while read tag
3537
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
176 do
5868
838fa52abcc1 [PATCH] zsh_completion tag/mq fixes
Nicholas Riley <njriley@uiuc.edu>
parents: 5309
diff changeset
177 tags+=(${tag/ # [0-9]#:*})
3537
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
178 done
3548
811e6c95485c zsh: use standard tags where possible
Brendan Cully <brendan@kublai.com>
parents: 3543
diff changeset
179 (( $#tags )) && _describe -t tags 'tags' tags
3537
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
180 }
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
181
13511
392b5684d0b4 zsh completion: complete bookmarks where they are accepted
Augie Fackler <durin42@gmail.com>
parents: 12169
diff changeset
182 _hg_bookmarks() {
392b5684d0b4 zsh completion: complete bookmarks where they are accepted
Augie Fackler <durin42@gmail.com>
parents: 12169
diff changeset
183 typeset -a bookmark bookmarks
392b5684d0b4 zsh completion: complete bookmarks where they are accepted
Augie Fackler <durin42@gmail.com>
parents: 12169
diff changeset
184
392b5684d0b4 zsh completion: complete bookmarks where they are accepted
Augie Fackler <durin42@gmail.com>
parents: 12169
diff changeset
185 _hg_cmd bookmarks | while read -A bookmark
392b5684d0b4 zsh completion: complete bookmarks where they are accepted
Augie Fackler <durin42@gmail.com>
parents: 12169
diff changeset
186 do
392b5684d0b4 zsh completion: complete bookmarks where they are accepted
Augie Fackler <durin42@gmail.com>
parents: 12169
diff changeset
187 if test -z ${bookmark[-1]:#[0-9]*}
392b5684d0b4 zsh completion: complete bookmarks where they are accepted
Augie Fackler <durin42@gmail.com>
parents: 12169
diff changeset
188 then
392b5684d0b4 zsh completion: complete bookmarks where they are accepted
Augie Fackler <durin42@gmail.com>
parents: 12169
diff changeset
189 bookmarks+=($bookmark[-2])
392b5684d0b4 zsh completion: complete bookmarks where they are accepted
Augie Fackler <durin42@gmail.com>
parents: 12169
diff changeset
190 fi
392b5684d0b4 zsh completion: complete bookmarks where they are accepted
Augie Fackler <durin42@gmail.com>
parents: 12169
diff changeset
191 done
392b5684d0b4 zsh completion: complete bookmarks where they are accepted
Augie Fackler <durin42@gmail.com>
parents: 12169
diff changeset
192 (( $#bookmarks )) && _describe -t bookmarks 'bookmarks' bookmarks
392b5684d0b4 zsh completion: complete bookmarks where they are accepted
Augie Fackler <durin42@gmail.com>
parents: 12169
diff changeset
193 }
392b5684d0b4 zsh completion: complete bookmarks where they are accepted
Augie Fackler <durin42@gmail.com>
parents: 12169
diff changeset
194
15100
a051f8a6a7cc contrib: some support for named branches in zsh_completion (issue2988)
Ben Hockey <neonstalwart@gmail.com>
parents: 13562
diff changeset
195 _hg_branches() {
a051f8a6a7cc contrib: some support for named branches in zsh_completion (issue2988)
Ben Hockey <neonstalwart@gmail.com>
parents: 13562
diff changeset
196 typeset -a branches
a051f8a6a7cc contrib: some support for named branches in zsh_completion (issue2988)
Ben Hockey <neonstalwart@gmail.com>
parents: 13562
diff changeset
197 local branch
a051f8a6a7cc contrib: some support for named branches in zsh_completion (issue2988)
Ben Hockey <neonstalwart@gmail.com>
parents: 13562
diff changeset
198
a051f8a6a7cc contrib: some support for named branches in zsh_completion (issue2988)
Ben Hockey <neonstalwart@gmail.com>
parents: 13562
diff changeset
199 _hg_cmd branches | while read branch
a051f8a6a7cc contrib: some support for named branches in zsh_completion (issue2988)
Ben Hockey <neonstalwart@gmail.com>
parents: 13562
diff changeset
200 do
a051f8a6a7cc contrib: some support for named branches in zsh_completion (issue2988)
Ben Hockey <neonstalwart@gmail.com>
parents: 13562
diff changeset
201 branches+=(${branch/ # [0-9]#:*})
a051f8a6a7cc contrib: some support for named branches in zsh_completion (issue2988)
Ben Hockey <neonstalwart@gmail.com>
parents: 13562
diff changeset
202 done
a051f8a6a7cc contrib: some support for named branches in zsh_completion (issue2988)
Ben Hockey <neonstalwart@gmail.com>
parents: 13562
diff changeset
203 (( $#branches )) && _describe -t branches 'branches' branches
a051f8a6a7cc contrib: some support for named branches in zsh_completion (issue2988)
Ben Hockey <neonstalwart@gmail.com>
parents: 13562
diff changeset
204 }
a051f8a6a7cc contrib: some support for named branches in zsh_completion (issue2988)
Ben Hockey <neonstalwart@gmail.com>
parents: 13562
diff changeset
205
8983
0701044ad156 zsh completion: basic merge support
Brendan Cully <brendan@kublai.com>
parents: 8982
diff changeset
206 # likely merge candidates
0701044ad156 zsh completion: basic merge support
Brendan Cully <brendan@kublai.com>
parents: 8982
diff changeset
207 _hg_mergerevs() {
0701044ad156 zsh completion: basic merge support
Brendan Cully <brendan@kublai.com>
parents: 8982
diff changeset
208 typeset -a heads
0701044ad156 zsh completion: basic merge support
Brendan Cully <brendan@kublai.com>
parents: 8982
diff changeset
209 local myrev
0701044ad156 zsh completion: basic merge support
Brendan Cully <brendan@kublai.com>
parents: 8982
diff changeset
210
0701044ad156 zsh completion: basic merge support
Brendan Cully <brendan@kublai.com>
parents: 8982
diff changeset
211 heads=(${(f)"$(_hg_cmd heads --template '{rev}\\n')"})
0701044ad156 zsh completion: basic merge support
Brendan Cully <brendan@kublai.com>
parents: 8982
diff changeset
212 # exclude own revision
0701044ad156 zsh completion: basic merge support
Brendan Cully <brendan@kublai.com>
parents: 8982
diff changeset
213 myrev=$(_hg_cmd log -r . --template '{rev}\\n')
0701044ad156 zsh completion: basic merge support
Brendan Cully <brendan@kublai.com>
parents: 8982
diff changeset
214 heads=(${heads:#$myrev})
0701044ad156 zsh completion: basic merge support
Brendan Cully <brendan@kublai.com>
parents: 8982
diff changeset
215
0701044ad156 zsh completion: basic merge support
Brendan Cully <brendan@kublai.com>
parents: 8982
diff changeset
216 (( $#heads )) && _describe -t heads 'heads' heads
0701044ad156 zsh completion: basic merge support
Brendan Cully <brendan@kublai.com>
parents: 8982
diff changeset
217 }
0701044ad156 zsh completion: basic merge support
Brendan Cully <brendan@kublai.com>
parents: 8982
diff changeset
218
3603
ef9c515836ae zsh: compute repository root instead of forking hg
Brendan Cully <brendan@kublai.com>
parents: 3602
diff changeset
219 _hg_files() {
ef9c515836ae zsh: compute repository root instead of forking hg
Brendan Cully <brendan@kublai.com>
parents: 3602
diff changeset
220 if [[ -n "$_hg_root" ]]
ef9c515836ae zsh: compute repository root instead of forking hg
Brendan Cully <brendan@kublai.com>
parents: 3602
diff changeset
221 then
ef9c515836ae zsh: compute repository root instead of forking hg
Brendan Cully <brendan@kublai.com>
parents: 3602
diff changeset
222 [[ -d "$_hg_root/.hg" ]] || return
ef9c515836ae zsh: compute repository root instead of forking hg
Brendan Cully <brendan@kublai.com>
parents: 3602
diff changeset
223 case "$_hg_root" in
ef9c515836ae zsh: compute repository root instead of forking hg
Brendan Cully <brendan@kublai.com>
parents: 3602
diff changeset
224 /*)
ef9c515836ae zsh: compute repository root instead of forking hg
Brendan Cully <brendan@kublai.com>
parents: 3602
diff changeset
225 _files -W $_hg_root
ef9c515836ae zsh: compute repository root instead of forking hg
Brendan Cully <brendan@kublai.com>
parents: 3602
diff changeset
226 ;;
ef9c515836ae zsh: compute repository root instead of forking hg
Brendan Cully <brendan@kublai.com>
parents: 3602
diff changeset
227 *)
ef9c515836ae zsh: compute repository root instead of forking hg
Brendan Cully <brendan@kublai.com>
parents: 3602
diff changeset
228 _files -W $PWD/$_hg_root
ef9c515836ae zsh: compute repository root instead of forking hg
Brendan Cully <brendan@kublai.com>
parents: 3602
diff changeset
229 ;;
ef9c515836ae zsh: compute repository root instead of forking hg
Brendan Cully <brendan@kublai.com>
parents: 3602
diff changeset
230 esac
ef9c515836ae zsh: compute repository root instead of forking hg
Brendan Cully <brendan@kublai.com>
parents: 3602
diff changeset
231 else
ef9c515836ae zsh: compute repository root instead of forking hg
Brendan Cully <brendan@kublai.com>
parents: 3602
diff changeset
232 _files
ef9c515836ae zsh: compute repository root instead of forking hg
Brendan Cully <brendan@kublai.com>
parents: 3602
diff changeset
233 fi
ef9c515836ae zsh: compute repository root instead of forking hg
Brendan Cully <brendan@kublai.com>
parents: 3602
diff changeset
234 }
ef9c515836ae zsh: compute repository root instead of forking hg
Brendan Cully <brendan@kublai.com>
parents: 3602
diff changeset
235
3537
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
236 _hg_status() {
3878
729f354f3f09 zsh: better fix for partial completions
Steve Borho <steve@borho.org>
parents: 3817
diff changeset
237 [[ -d $PREFIX ]] || PREFIX=$PREFIX:h
8983
0701044ad156 zsh completion: basic merge support
Brendan Cully <brendan@kublai.com>
parents: 8982
diff changeset
238 status_files=(${(ps:\0:)"$(_hg_cmd status -0n$1 ./$PREFIX)"})
3537
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
239 }
3487
46958e428fcd zsh completion: basic mq support
Brendan Cully <brendan@kublai.com>
parents: 1544
diff changeset
240
3537
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
241 _hg_unknown() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
242 typeset -a status_files
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
243 _hg_status u
3587
c8494fcc9d39 zsh: tab-complete status results by directory
Brendan Cully <brendan@kublai.com>
parents: 3560
diff changeset
244 _wanted files expl 'unknown files' _multi_parts / status_files
3537
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
245 }
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
246
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
247 _hg_missing() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
248 typeset -a status_files
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
249 _hg_status d
3587
c8494fcc9d39 zsh: tab-complete status results by directory
Brendan Cully <brendan@kublai.com>
parents: 3560
diff changeset
250 _wanted files expl 'missing files' _multi_parts / status_files
c8494fcc9d39 zsh: tab-complete status results by directory
Brendan Cully <brendan@kublai.com>
parents: 3560
diff changeset
251 }
c8494fcc9d39 zsh: tab-complete status results by directory
Brendan Cully <brendan@kublai.com>
parents: 3560
diff changeset
252
c8494fcc9d39 zsh: tab-complete status results by directory
Brendan Cully <brendan@kublai.com>
parents: 3560
diff changeset
253 _hg_modified() {
c8494fcc9d39 zsh: tab-complete status results by directory
Brendan Cully <brendan@kublai.com>
parents: 3560
diff changeset
254 typeset -a status_files
c8494fcc9d39 zsh: tab-complete status results by directory
Brendan Cully <brendan@kublai.com>
parents: 3560
diff changeset
255 _hg_status m
c8494fcc9d39 zsh: tab-complete status results by directory
Brendan Cully <brendan@kublai.com>
parents: 3560
diff changeset
256 _wanted files expl 'modified files' _multi_parts / status_files
3537
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
257 }
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
258
7384
62b75d73c33d zsh: support for resolve
Brendan Cully <brendan@kublai.com>
parents: 6804
diff changeset
259 _hg_resolve() {
8983
0701044ad156 zsh completion: basic merge support
Brendan Cully <brendan@kublai.com>
parents: 8982
diff changeset
260 local rstate rpath
7384
62b75d73c33d zsh: support for resolve
Brendan Cully <brendan@kublai.com>
parents: 6804
diff changeset
261
62b75d73c33d zsh: support for resolve
Brendan Cully <brendan@kublai.com>
parents: 6804
diff changeset
262 [[ -d $PREFIX ]] || PREFIX=$PREFIX:h
62b75d73c33d zsh: support for resolve
Brendan Cully <brendan@kublai.com>
parents: 6804
diff changeset
263
8983
0701044ad156 zsh completion: basic merge support
Brendan Cully <brendan@kublai.com>
parents: 8982
diff changeset
264 _hg_cmd resolve -l ./$PREFIX | while read rstate rpath
7384
62b75d73c33d zsh: support for resolve
Brendan Cully <brendan@kublai.com>
parents: 6804
diff changeset
265 do
62b75d73c33d zsh: support for resolve
Brendan Cully <brendan@kublai.com>
parents: 6804
diff changeset
266 [[ $rstate == 'R' ]] && resolved_files+=($rpath)
62b75d73c33d zsh: support for resolve
Brendan Cully <brendan@kublai.com>
parents: 6804
diff changeset
267 [[ $rstate == 'U' ]] && unresolved_files+=($rpath)
62b75d73c33d zsh: support for resolve
Brendan Cully <brendan@kublai.com>
parents: 6804
diff changeset
268 done
62b75d73c33d zsh: support for resolve
Brendan Cully <brendan@kublai.com>
parents: 6804
diff changeset
269 }
62b75d73c33d zsh: support for resolve
Brendan Cully <brendan@kublai.com>
parents: 6804
diff changeset
270
62b75d73c33d zsh: support for resolve
Brendan Cully <brendan@kublai.com>
parents: 6804
diff changeset
271 _hg_resolved() {
62b75d73c33d zsh: support for resolve
Brendan Cully <brendan@kublai.com>
parents: 6804
diff changeset
272 typeset -a resolved_files unresolved_files
62b75d73c33d zsh: support for resolve
Brendan Cully <brendan@kublai.com>
parents: 6804
diff changeset
273 _hg_resolve
62b75d73c33d zsh: support for resolve
Brendan Cully <brendan@kublai.com>
parents: 6804
diff changeset
274 _wanted files expl 'resolved files' _multi_parts / resolved_files
62b75d73c33d zsh: support for resolve
Brendan Cully <brendan@kublai.com>
parents: 6804
diff changeset
275 }
62b75d73c33d zsh: support for resolve
Brendan Cully <brendan@kublai.com>
parents: 6804
diff changeset
276
62b75d73c33d zsh: support for resolve
Brendan Cully <brendan@kublai.com>
parents: 6804
diff changeset
277 _hg_unresolved() {
62b75d73c33d zsh: support for resolve
Brendan Cully <brendan@kublai.com>
parents: 6804
diff changeset
278 typeset -a resolved_files unresolved_files
62b75d73c33d zsh: support for resolve
Brendan Cully <brendan@kublai.com>
parents: 6804
diff changeset
279 _hg_resolve
62b75d73c33d zsh: support for resolve
Brendan Cully <brendan@kublai.com>
parents: 6804
diff changeset
280 _wanted files expl 'unresolved files' _multi_parts / unresolved_files
62b75d73c33d zsh: support for resolve
Brendan Cully <brendan@kublai.com>
parents: 6804
diff changeset
281 }
62b75d73c33d zsh: support for resolve
Brendan Cully <brendan@kublai.com>
parents: 6804
diff changeset
282
5309
e21644bbf01e Updated zsh completion from issue722.
Brendan Cully <brendan@kublai.com>
parents: 4441
diff changeset
283 _hg_config() {
e21644bbf01e Updated zsh completion from issue722.
Brendan Cully <brendan@kublai.com>
parents: 4441
diff changeset
284 typeset -a items
6804
694223a29ad4 Added missing --config global option to zsh_completion.
byron@base2.cc
parents: 5868
diff changeset
285 items=(${${(%f)"$(_call_program hg hg showconfig)"}%%\=*})
5309
e21644bbf01e Updated zsh completion from issue722.
Brendan Cully <brendan@kublai.com>
parents: 4441
diff changeset
286 (( $#items )) && _describe -t config 'config item' items
e21644bbf01e Updated zsh completion from issue722.
Brendan Cully <brendan@kublai.com>
parents: 4441
diff changeset
287 }
e21644bbf01e Updated zsh completion from issue722.
Brendan Cully <brendan@kublai.com>
parents: 4441
diff changeset
288
3537
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
289 _hg_addremove() {
3548
811e6c95485c zsh: use standard tags where possible
Brendan Cully <brendan@kublai.com>
parents: 3543
diff changeset
290 _alternative 'files:unknown files:_hg_unknown' \
811e6c95485c zsh: use standard tags where possible
Brendan Cully <brendan@kublai.com>
parents: 3543
diff changeset
291 'files:missing files:_hg_missing'
3537
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
292 }
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
293
3598
27121416f9a8 zsh: complete SSH directories
Brendan Cully <brendan@kublai.com>
parents: 3597
diff changeset
294 _hg_ssh_urls() {
27121416f9a8 zsh: complete SSH directories
Brendan Cully <brendan@kublai.com>
parents: 3597
diff changeset
295 if [[ -prefix */ ]]
27121416f9a8 zsh: complete SSH directories
Brendan Cully <brendan@kublai.com>
parents: 3597
diff changeset
296 then
27121416f9a8 zsh: complete SSH directories
Brendan Cully <brendan@kublai.com>
parents: 3597
diff changeset
297 if zstyle -T ":completion:${curcontext}:files" remote-access
27121416f9a8 zsh: complete SSH directories
Brendan Cully <brendan@kublai.com>
parents: 3597
diff changeset
298 then
27121416f9a8 zsh: complete SSH directories
Brendan Cully <brendan@kublai.com>
parents: 3597
diff changeset
299 local host=${PREFIX%%/*}
27121416f9a8 zsh: complete SSH directories
Brendan Cully <brendan@kublai.com>
parents: 3597
diff changeset
300 typeset -a remdirs
27121416f9a8 zsh: complete SSH directories
Brendan Cully <brendan@kublai.com>
parents: 3597
diff changeset
301 compset -p $(( $#host + 1 ))
27121416f9a8 zsh: complete SSH directories
Brendan Cully <brendan@kublai.com>
parents: 3597
diff changeset
302 local rempath=${(M)PREFIX##*/}
3602
ec221317e018 zsh: complete users in ssh URLS
Brendan Cully <brendan@kublai.com>
parents: 3601
diff changeset
303 local cacheid="hg:${host}-${rempath//\//_}"
ec221317e018 zsh: complete users in ssh URLS
Brendan Cully <brendan@kublai.com>
parents: 3601
diff changeset
304 cacheid=${cacheid%[-_]}
3598
27121416f9a8 zsh: complete SSH directories
Brendan Cully <brendan@kublai.com>
parents: 3597
diff changeset
305 compset -P '*/'
3600
932dadd2e614 zsh: add optional remote directory cache
Brendan Cully <brendan@kublai.com>
parents: 3598
diff changeset
306 if _cache_invalid "$cacheid" || ! _retrieve_cache "$cacheid"
932dadd2e614 zsh: add optional remote directory cache
Brendan Cully <brendan@kublai.com>
parents: 3598
diff changeset
307 then
8983
0701044ad156 zsh completion: basic merge support
Brendan Cully <brendan@kublai.com>
parents: 8982
diff changeset
308 remdirs=(${${(M)${(f)"$(_call_program files ssh -a -x $host ls -1FL "${(q)rempath}")"}##*/}%/})
3600
932dadd2e614 zsh: add optional remote directory cache
Brendan Cully <brendan@kublai.com>
parents: 3598
diff changeset
309 _store_cache "$cacheid" remdirs
932dadd2e614 zsh: add optional remote directory cache
Brendan Cully <brendan@kublai.com>
parents: 3598
diff changeset
310 fi
3598
27121416f9a8 zsh: complete SSH directories
Brendan Cully <brendan@kublai.com>
parents: 3597
diff changeset
311 _describe -t directories 'remote directory' remdirs -S/
27121416f9a8 zsh: complete SSH directories
Brendan Cully <brendan@kublai.com>
parents: 3597
diff changeset
312 else
27121416f9a8 zsh: complete SSH directories
Brendan Cully <brendan@kublai.com>
parents: 3597
diff changeset
313 _message 'remote directory'
27121416f9a8 zsh: complete SSH directories
Brendan Cully <brendan@kublai.com>
parents: 3597
diff changeset
314 fi
27121416f9a8 zsh: complete SSH directories
Brendan Cully <brendan@kublai.com>
parents: 3597
diff changeset
315 else
3602
ec221317e018 zsh: complete users in ssh URLS
Brendan Cully <brendan@kublai.com>
parents: 3601
diff changeset
316 if compset -P '*@'
ec221317e018 zsh: complete users in ssh URLS
Brendan Cully <brendan@kublai.com>
parents: 3601
diff changeset
317 then
ec221317e018 zsh: complete users in ssh URLS
Brendan Cully <brendan@kublai.com>
parents: 3601
diff changeset
318 _hosts -S/
ec221317e018 zsh: complete users in ssh URLS
Brendan Cully <brendan@kublai.com>
parents: 3601
diff changeset
319 else
ec221317e018 zsh: complete users in ssh URLS
Brendan Cully <brendan@kublai.com>
parents: 3601
diff changeset
320 _alternative 'hosts:remote host name:_hosts -S/' \
ec221317e018 zsh: complete users in ssh URLS
Brendan Cully <brendan@kublai.com>
parents: 3601
diff changeset
321 'users:user:_users -S@'
ec221317e018 zsh: complete users in ssh URLS
Brendan Cully <brendan@kublai.com>
parents: 3601
diff changeset
322 fi
3598
27121416f9a8 zsh: complete SSH directories
Brendan Cully <brendan@kublai.com>
parents: 3597
diff changeset
323 fi
27121416f9a8 zsh: complete SSH directories
Brendan Cully <brendan@kublai.com>
parents: 3597
diff changeset
324 }
27121416f9a8 zsh: complete SSH directories
Brendan Cully <brendan@kublai.com>
parents: 3597
diff changeset
325
3560
6106236bc4eb zsh: support remote URLs
Brendan Cully <brendan@kublai.com>
parents: 3559
diff changeset
326 _hg_urls() {
6106236bc4eb zsh: support remote URLs
Brendan Cully <brendan@kublai.com>
parents: 3559
diff changeset
327 if compset -P bundle://
6106236bc4eb zsh: support remote URLs
Brendan Cully <brendan@kublai.com>
parents: 3559
diff changeset
328 then
6106236bc4eb zsh: support remote URLs
Brendan Cully <brendan@kublai.com>
parents: 3559
diff changeset
329 _files
3598
27121416f9a8 zsh: complete SSH directories
Brendan Cully <brendan@kublai.com>
parents: 3597
diff changeset
330 elif compset -P ssh://
27121416f9a8 zsh: complete SSH directories
Brendan Cully <brendan@kublai.com>
parents: 3597
diff changeset
331 then
27121416f9a8 zsh: complete SSH directories
Brendan Cully <brendan@kublai.com>
parents: 3597
diff changeset
332 _hg_ssh_urls
3560
6106236bc4eb zsh: support remote URLs
Brendan Cully <brendan@kublai.com>
parents: 3559
diff changeset
333 elif [[ -prefix *: ]]
6106236bc4eb zsh: support remote URLs
Brendan Cully <brendan@kublai.com>
parents: 3559
diff changeset
334 then
6106236bc4eb zsh: support remote URLs
Brendan Cully <brendan@kublai.com>
parents: 3559
diff changeset
335 _urls
6106236bc4eb zsh: support remote URLs
Brendan Cully <brendan@kublai.com>
parents: 3559
diff changeset
336 else
6106236bc4eb zsh: support remote URLs
Brendan Cully <brendan@kublai.com>
parents: 3559
diff changeset
337 local expl
6106236bc4eb zsh: support remote URLs
Brendan Cully <brendan@kublai.com>
parents: 3559
diff changeset
338 compset -S '[^:]*'
6106236bc4eb zsh: support remote URLs
Brendan Cully <brendan@kublai.com>
parents: 3559
diff changeset
339 _wanted url-schemas expl 'URL schema' compadd -S '' - \
6106236bc4eb zsh: support remote URLs
Brendan Cully <brendan@kublai.com>
parents: 3559
diff changeset
340 http:// https:// ssh:// bundle://
6106236bc4eb zsh: support remote URLs
Brendan Cully <brendan@kublai.com>
parents: 3559
diff changeset
341 fi
6106236bc4eb zsh: support remote URLs
Brendan Cully <brendan@kublai.com>
parents: 3559
diff changeset
342 }
6106236bc4eb zsh: support remote URLs
Brendan Cully <brendan@kublai.com>
parents: 3559
diff changeset
343
3537
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
344 _hg_paths() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
345 typeset -a paths pnames
8983
0701044ad156 zsh completion: basic merge support
Brendan Cully <brendan@kublai.com>
parents: 8982
diff changeset
346 _hg_cmd paths | while read -A pnames
3537
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
347 do
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
348 paths+=($pnames[1])
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
349 done
3560
6106236bc4eb zsh: support remote URLs
Brendan Cully <brendan@kublai.com>
parents: 3559
diff changeset
350 (( $#paths )) && _describe -t path-aliases 'repository alias' paths
3537
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
351 }
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
352
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
353 _hg_remote() {
3560
6106236bc4eb zsh: support remote URLs
Brendan Cully <brendan@kublai.com>
parents: 3559
diff changeset
354 _alternative 'path-aliases:repository alias:_hg_paths' \
6106236bc4eb zsh: support remote URLs
Brendan Cully <brendan@kublai.com>
parents: 3559
diff changeset
355 'directories:directory:_files -/' \
3598
27121416f9a8 zsh: complete SSH directories
Brendan Cully <brendan@kublai.com>
parents: 3597
diff changeset
356 'urls:URL:_hg_urls'
3537
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
357 }
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
358
3601
cedf056bb723 zsh: support remote cloning
Brendan Cully <brendan@kublai.com>
parents: 3600
diff changeset
359 _hg_clone_dest() {
cedf056bb723 zsh: support remote cloning
Brendan Cully <brendan@kublai.com>
parents: 3600
diff changeset
360 _alternative 'directories:directory:_files -/' \
cedf056bb723 zsh: support remote cloning
Brendan Cully <brendan@kublai.com>
parents: 3600
diff changeset
361 'urls:URL:_hg_urls'
cedf056bb723 zsh: support remote cloning
Brendan Cully <brendan@kublai.com>
parents: 3600
diff changeset
362 }
cedf056bb723 zsh: support remote cloning
Brendan Cully <brendan@kublai.com>
parents: 3600
diff changeset
363
3537
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
364 # Common options
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
365 _hg_global_opts=(
3539
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3537
diff changeset
366 '(--repository -R)'{-R+,--repository}'[repository root directory]:repository:_files -/'
3537
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
367 '--cwd[change working directory]:new working directory:_files -/'
3539
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3537
diff changeset
368 '(--noninteractive -y)'{-y,--noninteractive}'[do not prompt, assume yes for any required answers]'
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3537
diff changeset
369 '(--verbose -v)'{-v,--verbose}'[enable additional output]'
6804
694223a29ad4 Added missing --config global option to zsh_completion.
byron@base2.cc
parents: 5868
diff changeset
370 '*--config[set/override config option]:defined config items:_hg_config'
3539
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3537
diff changeset
371 '(--quiet -q)'{-q,--quiet}'[suppress output]'
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3537
diff changeset
372 '(--help -h)'{-h,--help}'[display help and exit]'
3537
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
373 '--debug[debug mode]'
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
374 '--debugger[start debugger]'
13562
7c6e9b57a4cc zsh completion: remove computed default values from help texts
Martin Geisler <mg@aragost.com>
parents: 13511
diff changeset
375 '--encoding[set the charset encoding]'
7c6e9b57a4cc zsh completion: remove computed default values from help texts
Martin Geisler <mg@aragost.com>
parents: 13511
diff changeset
376 '--encodingmode[set the charset encoding mode]'
6804
694223a29ad4 Added missing --config global option to zsh_completion.
byron@base2.cc
parents: 5868
diff changeset
377 '--lsprof[print improved command execution profile]'
3537
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
378 '--traceback[print traceback on exception]'
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
379 '--time[time how long the command takes]'
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
380 '--profile[profile]'
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
381 '--version[output version information and exit]'
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
382 )
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
383
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
384 _hg_pat_opts=(
3539
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3537
diff changeset
385 '*'{-I+,--include}'[include names matching the given patterns]:dir:_files -W $(_hg_cmd root) -/'
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3537
diff changeset
386 '*'{-X+,--exclude}'[exclude names matching the given patterns]:dir:_files -W $(_hg_cmd root) -/')
3537
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
387
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
388 _hg_diff_opts=(
3539
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3537
diff changeset
389 '(--text -a)'{-a,--text}'[treat all files as text]'
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3537
diff changeset
390 '(--git -g)'{-g,--git}'[use git extended diff format]'
10375
adf9505e8888 commands: Try to improve help options text for basic commands
timeless@mozdev.org
parents: 10028
diff changeset
391 "--nodates[omit dates from diff headers]")
3537
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
392
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
393 _hg_dryrun_opts=(
3539
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3537
diff changeset
394 '(--dry-run -n)'{-n,--dry-run}'[do not perform actions, just print output]')
3537
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
395
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
396 _hg_style_opts=(
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
397 '--style[display using template map file]:'
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
398 '--template[display with template]:')
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
399
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
400 _hg_commit_opts=(
3539
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3537
diff changeset
401 '(-m --message -l --logfile --edit -e)'{-e,--edit}'[edit commit message]'
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3537
diff changeset
402 '(-e --edit -l --logfile --message -m)'{-m+,--message}'[use <text> as commit message]:message:'
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3537
diff changeset
403 '(-e --edit -m --message --logfile -l)'{-l+,--logfile}'[read the commit message from <file>]:log file:_files')
3537
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
404
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
405 _hg_remote_opts=(
3539
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3537
diff changeset
406 '(--ssh -e)'{-e+,--ssh}'[specify ssh command to use]:'
3537
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
407 '--remotecmd[specify hg command to run on the remote side]:')
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
408
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
409 _hg_cmd() {
11646
91af149b5cd7 bash/zsh completion: use HGPLAIN when invoking hg (issue2297)
Brodie Rao <brodie@bitheap.org>
parents: 10456
diff changeset
410 _call_program hg HGPLAIN=1 hg "$_hg_cmd_globals[@]" "$@" 2> /dev/null
3537
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
411 }
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
412
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
413 _hg_cmd_add() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
414 _arguments -s -w : $_hg_global_opts $_hg_pat_opts $_hg_dryrun_opts \
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
415 '*:unknown files:_hg_unknown'
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
416 }
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
417
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
418 _hg_cmd_addremove() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
419 _arguments -s -w : $_hg_global_opts $_hg_pat_opts $_hg_dryrun_opts \
3539
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3537
diff changeset
420 '(--similarity -s)'{-s+,--similarity}'[guess renamed files by similarity (0<=s<=100)]:' \
3537
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
421 '*:unknown or missing files:_hg_addremove'
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
422 }
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
423
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
424 _hg_cmd_annotate() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
425 _arguments -s -w : $_hg_global_opts $_hg_pat_opts \
13511
392b5684d0b4 zsh completion: complete bookmarks where they are accepted
Augie Fackler <durin42@gmail.com>
parents: 12169
diff changeset
426 '(--rev -r)'{-r+,--rev}'[annotate the specified revision]:revision:_hg_labels' \
3539
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3537
diff changeset
427 '(--follow -f)'{-f,--follow}'[follow file copies and renames]' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3537
diff changeset
428 '(--text -a)'{-a,--text}'[treat all files as text]' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3537
diff changeset
429 '(--user -u)'{-u,--user}'[list the author]' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3537
diff changeset
430 '(--date -d)'{-d,--date}'[list the date]' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3537
diff changeset
431 '(--number -n)'{-n,--number}'[list the revision number (default)]' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3537
diff changeset
432 '(--changeset -c)'{-c,--changeset}'[list the changeset]' \
3603
ef9c515836ae zsh: compute repository root instead of forking hg
Brendan Cully <brendan@kublai.com>
parents: 3602
diff changeset
433 '*:files:_hg_files'
3537
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
434 }
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
435
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
436 _hg_cmd_archive() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
437 _arguments -s -w : $_hg_global_opts $_hg_pat_opts \
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
438 '--no-decode[do not pass files through decoders]' \
3539
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3537
diff changeset
439 '(--prefix -p)'{-p+,--prefix}'[directory prefix for files in archive]:' \
13511
392b5684d0b4 zsh completion: complete bookmarks where they are accepted
Augie Fackler <durin42@gmail.com>
parents: 12169
diff changeset
440 '(--rev -r)'{-r+,--rev}'[revision to distribute]:revision:_hg_labels' \
3539
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3537
diff changeset
441 '(--type -t)'{-t+,--type}'[type of distribution to create]:archive type:(files tar tbz2 tgz uzip zip)' \
3537
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
442 '*:destination:_files'
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
443 }
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
444
5309
e21644bbf01e Updated zsh completion from issue722.
Brendan Cully <brendan@kublai.com>
parents: 4441
diff changeset
445 _hg_cmd_backout() {
e21644bbf01e Updated zsh completion from issue722.
Brendan Cully <brendan@kublai.com>
parents: 4441
diff changeset
446 _arguments -s -w : $_hg_global_opts $_hg_pat_opts \
e21644bbf01e Updated zsh completion from issue722.
Brendan Cully <brendan@kublai.com>
parents: 4441
diff changeset
447 '--merge[merge with old dirstate parent after backout]' \
e21644bbf01e Updated zsh completion from issue722.
Brendan Cully <brendan@kublai.com>
parents: 4441
diff changeset
448 '(--date -d)'{-d+,--date}'[record datecode as commit date]:date code:' \
e21644bbf01e Updated zsh completion from issue722.
Brendan Cully <brendan@kublai.com>
parents: 4441
diff changeset
449 '--parent[parent to choose when backing out merge]' \
e21644bbf01e Updated zsh completion from issue722.
Brendan Cully <brendan@kublai.com>
parents: 4441
diff changeset
450 '(--user -u)'{-u+,--user}'[record user as commiter]:user:' \
13511
392b5684d0b4 zsh completion: complete bookmarks where they are accepted
Augie Fackler <durin42@gmail.com>
parents: 12169
diff changeset
451 '(--rev -r)'{-r+,--rev}'[revision]:revision:_hg_labels' \
5309
e21644bbf01e Updated zsh completion from issue722.
Brendan Cully <brendan@kublai.com>
parents: 4441
diff changeset
452 '(--message -m)'{-m+,--message}'[use <text> as commit message]:text:' \
e21644bbf01e Updated zsh completion from issue722.
Brendan Cully <brendan@kublai.com>
parents: 4441
diff changeset
453 '(--logfile -l)'{-l+,--logfile}'[read commit message from <file>]:log file:_files -g \*.txt'
e21644bbf01e Updated zsh completion from issue722.
Brendan Cully <brendan@kublai.com>
parents: 4441
diff changeset
454 }
e21644bbf01e Updated zsh completion from issue722.
Brendan Cully <brendan@kublai.com>
parents: 4441
diff changeset
455
8986
7f349588665f zsh completion: update bisect for builtin syntax
Brendan Cully <brendan@kublai.com>
parents: 8985
diff changeset
456 _hg_cmd_bisect() {
7f349588665f zsh completion: update bisect for builtin syntax
Brendan Cully <brendan@kublai.com>
parents: 8985
diff changeset
457 _arguments -s -w : $_hg_global_opts \
7f349588665f zsh completion: update bisect for builtin syntax
Brendan Cully <brendan@kublai.com>
parents: 8985
diff changeset
458 '(-)'{-r,--reset}'[reset bisect state]' \
13511
392b5684d0b4 zsh completion: complete bookmarks where they are accepted
Augie Fackler <durin42@gmail.com>
parents: 12169
diff changeset
459 '(--good -g --bad -b --skip -s --reset -r)'{-g,--good}'[mark changeset good]'::revision:_hg_labels \
392b5684d0b4 zsh completion: complete bookmarks where they are accepted
Augie Fackler <durin42@gmail.com>
parents: 12169
diff changeset
460 '(--good -g --bad -b --skip -s --reset -r)'{-b,--bad}'[mark changeset bad]'::revision:_hg_labels \
8986
7f349588665f zsh completion: update bisect for builtin syntax
Brendan Cully <brendan@kublai.com>
parents: 8985
diff changeset
461 '(--good -g --bad -b --skip -s --reset -r)'{-s,--skip}'[skip testing changeset]' \
7f349588665f zsh completion: update bisect for builtin syntax
Brendan Cully <brendan@kublai.com>
parents: 8985
diff changeset
462 '(--command -c --noupdate -U)'{-c+,--command}'[use command to check changeset state]':commands:_command_names \
7f349588665f zsh completion: update bisect for builtin syntax
Brendan Cully <brendan@kublai.com>
parents: 8985
diff changeset
463 '(--command -c --noupdate -U)'{-U,--noupdate}'[do not update to target]'
7f349588665f zsh completion: update bisect for builtin syntax
Brendan Cully <brendan@kublai.com>
parents: 8985
diff changeset
464 }
7f349588665f zsh completion: update bisect for builtin syntax
Brendan Cully <brendan@kublai.com>
parents: 8985
diff changeset
465
13511
392b5684d0b4 zsh completion: complete bookmarks where they are accepted
Augie Fackler <durin42@gmail.com>
parents: 12169
diff changeset
466 _hg_cmd_bookmarks() {
392b5684d0b4 zsh completion: complete bookmarks where they are accepted
Augie Fackler <durin42@gmail.com>
parents: 12169
diff changeset
467 _arguments -s -w : $_hg_global_opts \
392b5684d0b4 zsh completion: complete bookmarks where they are accepted
Augie Fackler <durin42@gmail.com>
parents: 12169
diff changeset
468 '(--force -f)'{-f,--force}'[force]' \
392b5684d0b4 zsh completion: complete bookmarks where they are accepted
Augie Fackler <durin42@gmail.com>
parents: 12169
diff changeset
469 '(--rev -r --delete -d --rename -m)'{-r+,--rev}'[revision]:revision:_hg_labels' \
392b5684d0b4 zsh completion: complete bookmarks where they are accepted
Augie Fackler <durin42@gmail.com>
parents: 12169
diff changeset
470 '(--rev -r --delete -d --rename -m)'{-d,--delete}'[delete a given bookmark]' \
392b5684d0b4 zsh completion: complete bookmarks where they are accepted
Augie Fackler <durin42@gmail.com>
parents: 12169
diff changeset
471 '(--rev -r --delete -d --rename -m)'{-m+,--rename}'[rename a given bookmark]:bookmark:_hg_bookmarks' \
392b5684d0b4 zsh completion: complete bookmarks where they are accepted
Augie Fackler <durin42@gmail.com>
parents: 12169
diff changeset
472 ':bookmark:_hg_bookmarks'
392b5684d0b4 zsh completion: complete bookmarks where they are accepted
Augie Fackler <durin42@gmail.com>
parents: 12169
diff changeset
473 }
392b5684d0b4 zsh completion: complete bookmarks where they are accepted
Augie Fackler <durin42@gmail.com>
parents: 12169
diff changeset
474
8985
a04c1ab282fe zsh completion: add hg branch
Brendan Cully <brendan@kublai.com>
parents: 8984
diff changeset
475 _hg_cmd_branch() {
a04c1ab282fe zsh completion: add hg branch
Brendan Cully <brendan@kublai.com>
parents: 8984
diff changeset
476 _arguments -s -w : $_hg_global_opts \
a04c1ab282fe zsh completion: add hg branch
Brendan Cully <brendan@kublai.com>
parents: 8984
diff changeset
477 '(--force -f)'{-f,--force}'[set branch name even if it shadows an existing branch]' \
a04c1ab282fe zsh completion: add hg branch
Brendan Cully <brendan@kublai.com>
parents: 8984
diff changeset
478 '(--clean -C)'{-C,--clean}'[reset branch name to parent branch name]'
a04c1ab282fe zsh completion: add hg branch
Brendan Cully <brendan@kublai.com>
parents: 8984
diff changeset
479 }
a04c1ab282fe zsh completion: add hg branch
Brendan Cully <brendan@kublai.com>
parents: 8984
diff changeset
480
8984
67389a94825a zsh completion: add hg branches
Brendan Cully <brendan@kublai.com>
parents: 8983
diff changeset
481 _hg_cmd_branches() {
67389a94825a zsh completion: add hg branches
Brendan Cully <brendan@kublai.com>
parents: 8983
diff changeset
482 _arguments -s -w : $_hg_global_opts \
67389a94825a zsh completion: add hg branches
Brendan Cully <brendan@kublai.com>
parents: 8983
diff changeset
483 '(--active -a)'{-a,--active}'[show only branches that have unmerge heads]'
67389a94825a zsh completion: add hg branches
Brendan Cully <brendan@kublai.com>
parents: 8983
diff changeset
484 }
67389a94825a zsh completion: add hg branches
Brendan Cully <brendan@kublai.com>
parents: 8983
diff changeset
485
3537
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
486 _hg_cmd_bundle() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
487 _arguments -s -w : $_hg_global_opts $_hg_remote_opts \
3539
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3537
diff changeset
488 '(--force -f)'{-f,--force}'[run even when remote repository is unrelated]' \
13511
392b5684d0b4 zsh completion: complete bookmarks where they are accepted
Augie Fackler <durin42@gmail.com>
parents: 12169
diff changeset
489 '(2)*--base[a base changeset to specify instead of a destination]:revision:_hg_labels' \
3537
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
490 ':output file:_files' \
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
491 ':destination repository:_files -/'
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
492 }
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
493
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
494 _hg_cmd_cat() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
495 _arguments -s -w : $_hg_global_opts $_hg_pat_opts \
3539
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3537
diff changeset
496 '(--output -o)'{-o+,--output}'[print output to file with formatted name]:filespec:' \
13511
392b5684d0b4 zsh completion: complete bookmarks where they are accepted
Augie Fackler <durin42@gmail.com>
parents: 12169
diff changeset
497 '(--rev -r)'{-r+,--rev}'[revision]:revision:_hg_labels' \
3603
ef9c515836ae zsh: compute repository root instead of forking hg
Brendan Cully <brendan@kublai.com>
parents: 3602
diff changeset
498 '*:file:_hg_files'
3537
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
499 }
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
500
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
501 _hg_cmd_clone() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
502 _arguments -s -w : $_hg_global_opts $_hg_remote_opts \
3539
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3537
diff changeset
503 '(--noupdate -U)'{-U,--noupdate}'[do not update the new working directory]' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3537
diff changeset
504 '(--rev -r)'{-r+,--rev}'[a changeset you would like to have after cloning]:' \
3537
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
505 '--uncompressed[use uncompressed transfer (fast over LAN)]' \
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
506 ':source repository:_hg_remote' \
3601
cedf056bb723 zsh: support remote cloning
Brendan Cully <brendan@kublai.com>
parents: 3600
diff changeset
507 ':destination:_hg_clone_dest'
3537
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
508 }
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
509
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
510 _hg_cmd_commit() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
511 _arguments -s -w : $_hg_global_opts $_hg_pat_opts \
3666
adbf440a81e0 zsh: typo in commit completion
Brendan Cully <brendan@kublai.com>
parents: 3605
diff changeset
512 '(--addremove -A)'{-A,--addremove}'[mark new/missing files as added/removed before committing]' \
3539
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3537
diff changeset
513 '(--message -m)'{-m+,--message}'[use <text> as commit message]:text:' \
4441
2d3379c598c1 Fix issue 563: error in _hg_commit in the contrib/zsh_completion script.
Henri Precheur <henry@precheur.org>
parents: 3878
diff changeset
514 '(--logfile -l)'{-l+,--logfile}'[read commit message from <file>]:log file:_files -g \*.txt' \
3539
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3537
diff changeset
515 '(--date -d)'{-d+,--date}'[record datecode as commit date]:date code:' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3537
diff changeset
516 '(--user -u)'{-u+,--user}'[record user as commiter]:user:' \
17004
a1d86396d8c1 zsh completion: catch up with 2.2 commands and options
Nikolaj Sjujskij <sterkrig@myopera.com>
parents: 16330
diff changeset
517 '--amend[amend the parent of the working dir]' \
3603
ef9c515836ae zsh: compute repository root instead of forking hg
Brendan Cully <brendan@kublai.com>
parents: 3602
diff changeset
518 '*:file:_hg_files'
3537
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
519 }
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
520
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
521 _hg_cmd_copy() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
522 _arguments -s -w : $_hg_global_opts $_hg_pat_opts $_hg_dryrun_opts \
3539
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3537
diff changeset
523 '(--after -A)'{-A,--after}'[record a copy that has already occurred]' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3537
diff changeset
524 '(--force -f)'{-f,--force}'[forcibly copy over an existing managed file]' \
3603
ef9c515836ae zsh: compute repository root instead of forking hg
Brendan Cully <brendan@kublai.com>
parents: 3602
diff changeset
525 '*:file:_hg_files'
3537
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
526 }
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
527
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
528 _hg_cmd_diff() {
3587
c8494fcc9d39 zsh: tab-complete status results by directory
Brendan Cully <brendan@kublai.com>
parents: 3560
diff changeset
529 typeset -A opt_args
3537
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
530 _arguments -s -w : $_hg_global_opts $_hg_pat_opts $_hg_diff_opts \
3550
ef80b13df85a zsh: add revrange completion
Brendan Cully <brendan@kublai.com>
parents: 3549
diff changeset
531 '*'{-r,--rev}'+[revision]:revision:_hg_revrange' \
3539
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3537
diff changeset
532 '(--show-function -p)'{-p,--show-function}'[show which function each change is in]' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3537
diff changeset
533 '(--ignore-all-space -w)'{-w,--ignore-all-space}'[ignore white space when comparing lines]' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3537
diff changeset
534 '(--ignore-space-change -b)'{-b,--ignore-space-change}'[ignore changes in the amount of white space]' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3537
diff changeset
535 '(--ignore-blank-lines -B)'{-B,--ignore-blank-lines}'[ignore changes whose lines are all blank]' \
3587
c8494fcc9d39 zsh: tab-complete status results by directory
Brendan Cully <brendan@kublai.com>
parents: 3560
diff changeset
536 '*:file:->diff_files'
c8494fcc9d39 zsh: tab-complete status results by directory
Brendan Cully <brendan@kublai.com>
parents: 3560
diff changeset
537
c8494fcc9d39 zsh: tab-complete status results by directory
Brendan Cully <brendan@kublai.com>
parents: 3560
diff changeset
538 if [[ $state == 'diff_files' ]]
c8494fcc9d39 zsh: tab-complete status results by directory
Brendan Cully <brendan@kublai.com>
parents: 3560
diff changeset
539 then
c8494fcc9d39 zsh: tab-complete status results by directory
Brendan Cully <brendan@kublai.com>
parents: 3560
diff changeset
540 if [[ -n $opt_args[-r] ]]
c8494fcc9d39 zsh: tab-complete status results by directory
Brendan Cully <brendan@kublai.com>
parents: 3560
diff changeset
541 then
3603
ef9c515836ae zsh: compute repository root instead of forking hg
Brendan Cully <brendan@kublai.com>
parents: 3602
diff changeset
542 _hg_files
3587
c8494fcc9d39 zsh: tab-complete status results by directory
Brendan Cully <brendan@kublai.com>
parents: 3560
diff changeset
543 else
c8494fcc9d39 zsh: tab-complete status results by directory
Brendan Cully <brendan@kublai.com>
parents: 3560
diff changeset
544 _hg_modified
c8494fcc9d39 zsh: tab-complete status results by directory
Brendan Cully <brendan@kublai.com>
parents: 3560
diff changeset
545 fi
c8494fcc9d39 zsh: tab-complete status results by directory
Brendan Cully <brendan@kublai.com>
parents: 3560
diff changeset
546 fi
3487
46958e428fcd zsh completion: basic mq support
Brendan Cully <brendan@kublai.com>
parents: 1544
diff changeset
547 }
1362
246e1a00af6f zsh completion function for hg
Steve Borho <steve@borho.org>
parents:
diff changeset
548
3537
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
549 _hg_cmd_export() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
550 _arguments -s -w : $_hg_global_opts $_hg_diff_opts \
3539
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3537
diff changeset
551 '(--outout -o)'{-o+,--output}'[print output to file with formatted name]:filespec:' \
3537
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
552 '--switch-parent[diff against the second parent]' \
13511
392b5684d0b4 zsh completion: complete bookmarks where they are accepted
Augie Fackler <durin42@gmail.com>
parents: 12169
diff changeset
553 '*:revision:_hg_labels'
3537
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
554 }
3487
46958e428fcd zsh completion: basic mq support
Brendan Cully <brendan@kublai.com>
parents: 1544
diff changeset
555
17004
a1d86396d8c1 zsh completion: catch up with 2.2 commands and options
Nikolaj Sjujskij <sterkrig@myopera.com>
parents: 16330
diff changeset
556 _hg_cmd_graft() {
a1d86396d8c1 zsh completion: catch up with 2.2 commands and options
Nikolaj Sjujskij <sterkrig@myopera.com>
parents: 16330
diff changeset
557 _arguments -s -w : $_hg_global_opts \
a1d86396d8c1 zsh completion: catch up with 2.2 commands and options
Nikolaj Sjujskij <sterkrig@myopera.com>
parents: 16330
diff changeset
558 '(--continue -c)'{-c,--continue}'[resume interrupted graft]' \
a1d86396d8c1 zsh completion: catch up with 2.2 commands and options
Nikolaj Sjujskij <sterkrig@myopera.com>
parents: 16330
diff changeset
559 '(--edit -e)'{-e,--edit}'[invoke editor on commit messages]' \
a1d86396d8c1 zsh completion: catch up with 2.2 commands and options
Nikolaj Sjujskij <sterkrig@myopera.com>
parents: 16330
diff changeset
560 '--log[append graft info to log message]' \
a1d86396d8c1 zsh completion: catch up with 2.2 commands and options
Nikolaj Sjujskij <sterkrig@myopera.com>
parents: 16330
diff changeset
561 '(--currentdate -D)'{-D,--currentdate}'[record the current date as commit date]' \
a1d86396d8c1 zsh completion: catch up with 2.2 commands and options
Nikolaj Sjujskij <sterkrig@myopera.com>
parents: 16330
diff changeset
562 '(--currentuser -U)'{-U,--currentuser}'[record the current user as committer]' \
a1d86396d8c1 zsh completion: catch up with 2.2 commands and options
Nikolaj Sjujskij <sterkrig@myopera.com>
parents: 16330
diff changeset
563 '(--date -d)'{-d,--date}'[record the specified date as commit date]' \
a1d86396d8c1 zsh completion: catch up with 2.2 commands and options
Nikolaj Sjujskij <sterkrig@myopera.com>
parents: 16330
diff changeset
564 '(--user -u)'{-u,--user}'[record the specified user as committer]' \
a1d86396d8c1 zsh completion: catch up with 2.2 commands and options
Nikolaj Sjujskij <sterkrig@myopera.com>
parents: 16330
diff changeset
565 '(--tool -t)'{-t,--tool}'[specify merge tool]' \
a1d86396d8c1 zsh completion: catch up with 2.2 commands and options
Nikolaj Sjujskij <sterkrig@myopera.com>
parents: 16330
diff changeset
566 '(--dry-run -n)'{-n,--dry-run}'[do not perform actions, just print output]' \
a1d86396d8c1 zsh completion: catch up with 2.2 commands and options
Nikolaj Sjujskij <sterkrig@myopera.com>
parents: 16330
diff changeset
567 '*:revision:_hg_labels'
a1d86396d8c1 zsh completion: catch up with 2.2 commands and options
Nikolaj Sjujskij <sterkrig@myopera.com>
parents: 16330
diff changeset
568 }
a1d86396d8c1 zsh completion: catch up with 2.2 commands and options
Nikolaj Sjujskij <sterkrig@myopera.com>
parents: 16330
diff changeset
569
3537
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
570 _hg_cmd_grep() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
571 _arguments -s -w : $_hg_global_opts $_hg_pat_opts \
3539
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3537
diff changeset
572 '(--print0 -0)'{-0,--print0}'[end filenames with NUL]' \
3537
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
573 '--all[print all revisions with matches]' \
3539
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3537
diff changeset
574 '(--follow -f)'{-f,--follow}'[follow changeset or file history]' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3537
diff changeset
575 '(--ignore-case -i)'{-i,--ignore-case}'[ignore case when matching]' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3537
diff changeset
576 '(--files-with-matches -l)'{-l,--files-with-matches}'[print only filenames and revs that match]' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3537
diff changeset
577 '(--line-number -n)'{-n,--line-number}'[print matching line numbers]' \
3550
ef80b13df85a zsh: add revrange completion
Brendan Cully <brendan@kublai.com>
parents: 3549
diff changeset
578 '*'{-r+,--rev}'[search in given revision range]:revision:_hg_revrange' \
3539
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3537
diff changeset
579 '(--user -u)'{-u,--user}'[print user who committed change]' \
5309
e21644bbf01e Updated zsh completion from issue722.
Brendan Cully <brendan@kublai.com>
parents: 4441
diff changeset
580 '1:search pattern:' \
e21644bbf01e Updated zsh completion from issue722.
Brendan Cully <brendan@kublai.com>
parents: 4441
diff changeset
581 '*:files:_hg_files'
3537
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
582 }
1362
246e1a00af6f zsh completion function for hg
Steve Borho <steve@borho.org>
parents:
diff changeset
583
3537
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
584 _hg_cmd_heads() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
585 _arguments -s -w : $_hg_global_opts $_hg_style_opts \
13511
392b5684d0b4 zsh completion: complete bookmarks where they are accepted
Augie Fackler <durin42@gmail.com>
parents: 12169
diff changeset
586 '(--rev -r)'{-r+,--rev}'[show only heads which are descendants of rev]:revision:_hg_labels'
3537
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
587 }
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
588
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
589 _hg_cmd_help() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
590 _arguments -s -w : $_hg_global_opts \
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
591 '*:mercurial command:_hg_commands'
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
592 }
1362
246e1a00af6f zsh completion function for hg
Steve Borho <steve@borho.org>
parents:
diff changeset
593
5309
e21644bbf01e Updated zsh completion from issue722.
Brendan Cully <brendan@kublai.com>
parents: 4441
diff changeset
594 _hg_cmd_identify() {
e21644bbf01e Updated zsh completion from issue722.
Brendan Cully <brendan@kublai.com>
parents: 4441
diff changeset
595 _arguments -s -w : $_hg_global_opts \
13511
392b5684d0b4 zsh completion: complete bookmarks where they are accepted
Augie Fackler <durin42@gmail.com>
parents: 12169
diff changeset
596 '(--rev -r)'{-r+,--rev}'[identify the specified rev]:revision:_hg_labels' \
5309
e21644bbf01e Updated zsh completion from issue722.
Brendan Cully <brendan@kublai.com>
parents: 4441
diff changeset
597 '(--num -n)'{-n+,--num}'[show local revision number]' \
e21644bbf01e Updated zsh completion from issue722.
Brendan Cully <brendan@kublai.com>
parents: 4441
diff changeset
598 '(--id -i)'{-i+,--id}'[show global revision id]' \
e21644bbf01e Updated zsh completion from issue722.
Brendan Cully <brendan@kublai.com>
parents: 4441
diff changeset
599 '(--branch -b)'{-b+,--branch}'[show branch]' \
e21644bbf01e Updated zsh completion from issue722.
Brendan Cully <brendan@kublai.com>
parents: 4441
diff changeset
600 '(--tags -t)'{-t+,--tags}'[show tags]'
e21644bbf01e Updated zsh completion from issue722.
Brendan Cully <brendan@kublai.com>
parents: 4441
diff changeset
601 }
e21644bbf01e Updated zsh completion from issue722.
Brendan Cully <brendan@kublai.com>
parents: 4441
diff changeset
602
3537
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
603 _hg_cmd_import() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
604 _arguments -s -w : $_hg_global_opts \
3539
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3537
diff changeset
605 '(--strip -p)'{-p+,--strip}'[directory strip option for patch (default: 1)]:count:' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3537
diff changeset
606 '(--message -m)'{-m+,--message}'[use <text> as commit message]:text:' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3537
diff changeset
607 '(--force -f)'{-f,--force}'[skip check for outstanding uncommitted changes]' \
17004
a1d86396d8c1 zsh completion: catch up with 2.2 commands and options
Nikolaj Sjujskij <sterkrig@myopera.com>
parents: 16330
diff changeset
608 '--bypass[apply patch without touching the working directory]' \
3537
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
609 '*:patch:_files'
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
610 }
1438
c22da894e4cc zsh completions: new -M, -m arguments for log, etc.
Steve Borho <steve@borho.org>
parents: 1368
diff changeset
611
3537
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
612 _hg_cmd_incoming() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
613 _arguments -s -w : $_hg_global_opts $_hg_remote_opts $_hg_style_opts \
3539
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3537
diff changeset
614 '(--no-merges -M)'{-M,--no-merges}'[do not show merge revisions]' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3537
diff changeset
615 '(--force -f)'{-f,--force}'[run even when the remote repository is unrelated]' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3537
diff changeset
616 '(--patch -p)'{-p,--patch}'[show patch]' \
5309
e21644bbf01e Updated zsh completion from issue722.
Brendan Cully <brendan@kublai.com>
parents: 4441
diff changeset
617 '(--rev -r)'{-r+,--rev}'[a specific revision up to which you would like to pull]:revision:_hg_tags' \
3539
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3537
diff changeset
618 '(--newest-first -n)'{-n,--newest-first}'[show newest record first]' \
3537
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
619 '--bundle[file to store the bundles into]:bundle file:_files' \
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
620 ':source:_hg_remote'
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
621 }
1438
c22da894e4cc zsh completions: new -M, -m arguments for log, etc.
Steve Borho <steve@borho.org>
parents: 1368
diff changeset
622
3537
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
623 _hg_cmd_init() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
624 _arguments -s -w : $_hg_global_opts $_hg_remote_opts \
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
625 ':dir:_files -/'
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
626 }
1438
c22da894e4cc zsh completions: new -M, -m arguments for log, etc.
Steve Borho <steve@borho.org>
parents: 1368
diff changeset
627
3537
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
628 _hg_cmd_locate() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
629 _arguments -s -w : $_hg_global_opts $_hg_pat_opts \
13511
392b5684d0b4 zsh completion: complete bookmarks where they are accepted
Augie Fackler <durin42@gmail.com>
parents: 12169
diff changeset
630 '(--rev -r)'{-r+,--rev}'[search repository as it stood at revision]:revision:_hg_labels' \
3539
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3537
diff changeset
631 '(--print0 -0)'{-0,--print0}'[end filenames with NUL, for use with xargs]' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3537
diff changeset
632 '(--fullpath -f)'{-f,--fullpath}'[print complete paths]' \
3603
ef9c515836ae zsh: compute repository root instead of forking hg
Brendan Cully <brendan@kublai.com>
parents: 3602
diff changeset
633 '*:search pattern:_hg_files'
3537
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
634 }
1438
c22da894e4cc zsh completions: new -M, -m arguments for log, etc.
Steve Borho <steve@borho.org>
parents: 1368
diff changeset
635
3537
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
636 _hg_cmd_log() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
637 _arguments -s -w : $_hg_global_opts $_hg_pat_opts $_hg_style_opts \
3539
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3537
diff changeset
638 '(--follow --follow-first -f)'{-f,--follow}'[follow changeset or history]' \
3537
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
639 '(-f --follow)--follow-first[only follow the first parent of merge changesets]' \
3539
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3537
diff changeset
640 '(--copies -C)'{-C,--copies}'[show copied files]' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3537
diff changeset
641 '(--keyword -k)'{-k+,--keyword}'[search for a keyword]:' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3537
diff changeset
642 '(--limit -l)'{-l+,--limit}'[limit number of changes displayed]:' \
3550
ef80b13df85a zsh: add revrange completion
Brendan Cully <brendan@kublai.com>
parents: 3549
diff changeset
643 '*'{-r,--rev}'[show the specified revision or range]:revision:_hg_revrange' \
3539
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3537
diff changeset
644 '(--no-merges -M)'{-M,--no-merges}'[do not show merges]' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3537
diff changeset
645 '(--only-merges -m)'{-m,--only-merges}'[show only merges]' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3537
diff changeset
646 '(--patch -p)'{-p,--patch}'[show patch]' \
13511
392b5684d0b4 zsh completion: complete bookmarks where they are accepted
Augie Fackler <durin42@gmail.com>
parents: 12169
diff changeset
647 '(--prune -P)'{-P+,--prune}'[do not display revision or any of its ancestors]:revision:_hg_labels' \
15100
a051f8a6a7cc contrib: some support for named branches in zsh_completion (issue2988)
Ben Hockey <neonstalwart@gmail.com>
parents: 13562
diff changeset
648 '(--branch -b)'{-b+,--branch}'[show changesets within the given named branch]:branch:_hg_branches' \
3603
ef9c515836ae zsh: compute repository root instead of forking hg
Brendan Cully <brendan@kublai.com>
parents: 3602
diff changeset
649 '*:files:_hg_files'
3537
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
650 }
1438
c22da894e4cc zsh completions: new -M, -m arguments for log, etc.
Steve Borho <steve@borho.org>
parents: 1368
diff changeset
651
3537
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
652 _hg_cmd_manifest() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
653 _arguments -s -w : $_hg_global_opts \
17004
a1d86396d8c1 zsh completion: catch up with 2.2 commands and options
Nikolaj Sjujskij <sterkrig@myopera.com>
parents: 16330
diff changeset
654 '--all[list files from all revisions]' \
13511
392b5684d0b4 zsh completion: complete bookmarks where they are accepted
Augie Fackler <durin42@gmail.com>
parents: 12169
diff changeset
655 ':revision:_hg_labels'
3537
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
656 }
1438
c22da894e4cc zsh completions: new -M, -m arguments for log, etc.
Steve Borho <steve@borho.org>
parents: 1368
diff changeset
657
8983
0701044ad156 zsh completion: basic merge support
Brendan Cully <brendan@kublai.com>
parents: 8982
diff changeset
658 _hg_cmd_merge() {
0701044ad156 zsh completion: basic merge support
Brendan Cully <brendan@kublai.com>
parents: 8982
diff changeset
659 _arguments -s -w : $_hg_global_opts \
0701044ad156 zsh completion: basic merge support
Brendan Cully <brendan@kublai.com>
parents: 8982
diff changeset
660 '(--force -f)'{-f,--force}'[force a merge with outstanding changes]' \
8986
7f349588665f zsh completion: update bisect for builtin syntax
Brendan Cully <brendan@kublai.com>
parents: 8985
diff changeset
661 '(--rev -r 1)'{-r,--rev}'[revision to merge]:revision:_hg_mergerevs' \
8983
0701044ad156 zsh completion: basic merge support
Brendan Cully <brendan@kublai.com>
parents: 8982
diff changeset
662 '(--preview -P)'{-P,--preview}'[review revisions to merge (no merge is performed)]' \
17004
a1d86396d8c1 zsh completion: catch up with 2.2 commands and options
Nikolaj Sjujskij <sterkrig@myopera.com>
parents: 16330
diff changeset
663 '(--tool -t)'{-t,--tool}'[specify merge tool]' \
8983
0701044ad156 zsh completion: basic merge support
Brendan Cully <brendan@kublai.com>
parents: 8982
diff changeset
664 ':revision:_hg_mergerevs'
0701044ad156 zsh completion: basic merge support
Brendan Cully <brendan@kublai.com>
parents: 8982
diff changeset
665 }
0701044ad156 zsh completion: basic merge support
Brendan Cully <brendan@kublai.com>
parents: 8982
diff changeset
666
3537
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
667 _hg_cmd_outgoing() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
668 _arguments -s -w : $_hg_global_opts $_hg_remote_opts $_hg_style_opts \
3539
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3537
diff changeset
669 '(--no-merges -M)'{-M,--no-merges}'[do not show merge revisions]' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3537
diff changeset
670 '(--force -f)'{-f,--force}'[run even when the remote repository is unrelated]' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3537
diff changeset
671 '(--patch -p)'{-p,--patch}'[show patch]' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3537
diff changeset
672 '(--rev -r)'{-r+,--rev}'[a specific revision you would like to push]' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3537
diff changeset
673 '(--newest-first -n)'{-n,--newest-first}'[show newest record first]' \
3537
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
674 ':destination:_hg_remote'
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
675 }
1438
c22da894e4cc zsh completions: new -M, -m arguments for log, etc.
Steve Borho <steve@borho.org>
parents: 1368
diff changeset
676
3537
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
677 _hg_cmd_parents() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
678 _arguments -s -w : $_hg_global_opts $_hg_style_opts \
13511
392b5684d0b4 zsh completion: complete bookmarks where they are accepted
Augie Fackler <durin42@gmail.com>
parents: 12169
diff changeset
679 '(--rev -r)'{-r+,--rev}'[show parents of the specified rev]:revision:_hg_labels' \
5309
e21644bbf01e Updated zsh completion from issue722.
Brendan Cully <brendan@kublai.com>
parents: 4441
diff changeset
680 ':last modified file:_hg_files'
3537
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
681 }
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
682
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
683 _hg_cmd_paths() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
684 _arguments -s -w : $_hg_global_opts \
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
685 ':path:_hg_paths'
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
686 }
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
687
17004
a1d86396d8c1 zsh completion: catch up with 2.2 commands and options
Nikolaj Sjujskij <sterkrig@myopera.com>
parents: 16330
diff changeset
688 _hg_cmd_phase() {
a1d86396d8c1 zsh completion: catch up with 2.2 commands and options
Nikolaj Sjujskij <sterkrig@myopera.com>
parents: 16330
diff changeset
689 _arguments -s -w : $_hg_global_opts \
a1d86396d8c1 zsh completion: catch up with 2.2 commands and options
Nikolaj Sjujskij <sterkrig@myopera.com>
parents: 16330
diff changeset
690 '(--public -p)'{-p,--public}'[set changeset phase to public]' \
a1d86396d8c1 zsh completion: catch up with 2.2 commands and options
Nikolaj Sjujskij <sterkrig@myopera.com>
parents: 16330
diff changeset
691 '(--draft -d)'{-d,--draft}'[set changeset phase to draft]' \
a1d86396d8c1 zsh completion: catch up with 2.2 commands and options
Nikolaj Sjujskij <sterkrig@myopera.com>
parents: 16330
diff changeset
692 '(--secret -s)'{-s,--secret}'[set changeset phase to secret]' \
a1d86396d8c1 zsh completion: catch up with 2.2 commands and options
Nikolaj Sjujskij <sterkrig@myopera.com>
parents: 16330
diff changeset
693 '(--force -f)'{-f,--force}'[allow to move boundary backward]' \
a1d86396d8c1 zsh completion: catch up with 2.2 commands and options
Nikolaj Sjujskij <sterkrig@myopera.com>
parents: 16330
diff changeset
694 '(--rev -r)'{-r+,--rev}'[target revision]:revision:_hg_labels' \
a1d86396d8c1 zsh completion: catch up with 2.2 commands and options
Nikolaj Sjujskij <sterkrig@myopera.com>
parents: 16330
diff changeset
695 ':revision:_hg_labels'
a1d86396d8c1 zsh completion: catch up with 2.2 commands and options
Nikolaj Sjujskij <sterkrig@myopera.com>
parents: 16330
diff changeset
696 }
a1d86396d8c1 zsh completion: catch up with 2.2 commands and options
Nikolaj Sjujskij <sterkrig@myopera.com>
parents: 16330
diff changeset
697
3537
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
698 _hg_cmd_pull() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
699 _arguments -s -w : $_hg_global_opts $_hg_remote_opts \
3539
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3537
diff changeset
700 '(--force -f)'{-f,--force}'[run even when the remote repository is unrelated]' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3537
diff changeset
701 '(--update -u)'{-u,--update}'[update to new tip if changesets were pulled]' \
5309
e21644bbf01e Updated zsh completion from issue722.
Brendan Cully <brendan@kublai.com>
parents: 4441
diff changeset
702 '(--rev -r)'{-r+,--rev}'[a specific revision up to which you would like to pull]:revision:' \
3537
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
703 ':source:_hg_remote'
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
704 }
1438
c22da894e4cc zsh completions: new -M, -m arguments for log, etc.
Steve Borho <steve@borho.org>
parents: 1368
diff changeset
705
3537
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
706 _hg_cmd_push() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
707 _arguments -s -w : $_hg_global_opts $_hg_remote_opts \
3539
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3537
diff changeset
708 '(--force -f)'{-f,--force}'[force push]' \
13511
392b5684d0b4 zsh completion: complete bookmarks where they are accepted
Augie Fackler <durin42@gmail.com>
parents: 12169
diff changeset
709 '(--rev -r)'{-r+,--rev}'[a specific revision you would like to push]:revision:_hg_labels' \
3537
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
710 ':destination:_hg_remote'
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
711 }
1438
c22da894e4cc zsh completions: new -M, -m arguments for log, etc.
Steve Borho <steve@borho.org>
parents: 1368
diff changeset
712
3537
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
713 _hg_cmd_remove() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
714 _arguments -s -w : $_hg_global_opts $_hg_pat_opts \
3539
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3537
diff changeset
715 '(--after -A)'{-A,--after}'[record remove that has already occurred]' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3537
diff changeset
716 '(--force -f)'{-f,--force}'[remove file even if modified]' \
3603
ef9c515836ae zsh: compute repository root instead of forking hg
Brendan Cully <brendan@kublai.com>
parents: 3602
diff changeset
717 '*:file:_hg_files'
3537
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
718 }
1438
c22da894e4cc zsh completions: new -M, -m arguments for log, etc.
Steve Borho <steve@borho.org>
parents: 1368
diff changeset
719
3537
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
720 _hg_cmd_rename() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
721 _arguments -s -w : $_hg_global_opts $_hg_pat_opts $_hg_dryrun_opts \
3539
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3537
diff changeset
722 '(--after -A)'{-A,--after}'[record a rename that has already occurred]' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3537
diff changeset
723 '(--force -f)'{-f,--force}'[forcibly copy over an existing managed file]' \
3603
ef9c515836ae zsh: compute repository root instead of forking hg
Brendan Cully <brendan@kublai.com>
parents: 3602
diff changeset
724 '*:file:_hg_files'
3537
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
725 }
1362
246e1a00af6f zsh completion function for hg
Steve Borho <steve@borho.org>
parents:
diff changeset
726
7384
62b75d73c33d zsh: support for resolve
Brendan Cully <brendan@kublai.com>
parents: 6804
diff changeset
727 _hg_cmd_resolve() {
62b75d73c33d zsh: support for resolve
Brendan Cully <brendan@kublai.com>
parents: 6804
diff changeset
728 local context state line
62b75d73c33d zsh: support for resolve
Brendan Cully <brendan@kublai.com>
parents: 6804
diff changeset
729 typeset -A opt_args
62b75d73c33d zsh: support for resolve
Brendan Cully <brendan@kublai.com>
parents: 6804
diff changeset
730
62b75d73c33d zsh: support for resolve
Brendan Cully <brendan@kublai.com>
parents: 6804
diff changeset
731 _arguments -s -w : $_hg_global_opts \
62b75d73c33d zsh: support for resolve
Brendan Cully <brendan@kublai.com>
parents: 6804
diff changeset
732 '(--list -l --mark -m --unmark -u)'{-l,--list}'[list state of files needing merge]:*:merged files:->resolve_files' \
62b75d73c33d zsh: support for resolve
Brendan Cully <brendan@kublai.com>
parents: 6804
diff changeset
733 '(--mark -m --list -l --unmark -u)'{-m,--mark}'[mark files as resolved]:*:unresolved files:_hg_unresolved' \
7386
86bfd65532ac zsh: make resolve with no options only complete unresolved files
Brendan Cully <brendan@kublai.com>
parents: 7384
diff changeset
734 '(--unmark -u --list -l --mark -m)'{-u,--unmark}'[unmark files as resolved]:*:resolved files:_hg_resolved' \
86bfd65532ac zsh: make resolve with no options only complete unresolved files
Brendan Cully <brendan@kublai.com>
parents: 7384
diff changeset
735 '*:file:_hg_unresolved'
7384
62b75d73c33d zsh: support for resolve
Brendan Cully <brendan@kublai.com>
parents: 6804
diff changeset
736
62b75d73c33d zsh: support for resolve
Brendan Cully <brendan@kublai.com>
parents: 6804
diff changeset
737 if [[ $state == 'resolve_files' ]]
62b75d73c33d zsh: support for resolve
Brendan Cully <brendan@kublai.com>
parents: 6804
diff changeset
738 then
62b75d73c33d zsh: support for resolve
Brendan Cully <brendan@kublai.com>
parents: 6804
diff changeset
739 _alternative 'files:resolved files:_hg_resolved' \
62b75d73c33d zsh: support for resolve
Brendan Cully <brendan@kublai.com>
parents: 6804
diff changeset
740 'files:unresolved files:_hg_unresolved'
62b75d73c33d zsh: support for resolve
Brendan Cully <brendan@kublai.com>
parents: 6804
diff changeset
741 fi
62b75d73c33d zsh: support for resolve
Brendan Cully <brendan@kublai.com>
parents: 6804
diff changeset
742 }
62b75d73c33d zsh: support for resolve
Brendan Cully <brendan@kublai.com>
parents: 6804
diff changeset
743
3537
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
744 _hg_cmd_revert() {
7384
62b75d73c33d zsh: support for resolve
Brendan Cully <brendan@kublai.com>
parents: 6804
diff changeset
745 local context state line
62b75d73c33d zsh: support for resolve
Brendan Cully <brendan@kublai.com>
parents: 6804
diff changeset
746 typeset -A opt_args
62b75d73c33d zsh: support for resolve
Brendan Cully <brendan@kublai.com>
parents: 6804
diff changeset
747
3537
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
748 _arguments -s -w : $_hg_global_opts $_hg_pat_opts $_hg_dryrun_opts \
3539
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3537
diff changeset
749 '(--all -a :)'{-a,--all}'[revert all changes when no arguments given]' \
13511
392b5684d0b4 zsh completion: complete bookmarks where they are accepted
Augie Fackler <durin42@gmail.com>
parents: 12169
diff changeset
750 '(--rev -r)'{-r+,--rev}'[revision to revert to]:revision:_hg_labels' \
17004
a1d86396d8c1 zsh completion: catch up with 2.2 commands and options
Nikolaj Sjujskij <sterkrig@myopera.com>
parents: 16330
diff changeset
751 '(--no-backup -C)'{-C,--no-backup}'[do not save backup copies of files]' \
3587
c8494fcc9d39 zsh: tab-complete status results by directory
Brendan Cully <brendan@kublai.com>
parents: 3560
diff changeset
752 '*:file:->diff_files'
c8494fcc9d39 zsh: tab-complete status results by directory
Brendan Cully <brendan@kublai.com>
parents: 3560
diff changeset
753
c8494fcc9d39 zsh: tab-complete status results by directory
Brendan Cully <brendan@kublai.com>
parents: 3560
diff changeset
754 if [[ $state == 'diff_files' ]]
c8494fcc9d39 zsh: tab-complete status results by directory
Brendan Cully <brendan@kublai.com>
parents: 3560
diff changeset
755 then
c8494fcc9d39 zsh: tab-complete status results by directory
Brendan Cully <brendan@kublai.com>
parents: 3560
diff changeset
756 if [[ -n $opt_args[-r] ]]
c8494fcc9d39 zsh: tab-complete status results by directory
Brendan Cully <brendan@kublai.com>
parents: 3560
diff changeset
757 then
3603
ef9c515836ae zsh: compute repository root instead of forking hg
Brendan Cully <brendan@kublai.com>
parents: 3602
diff changeset
758 _hg_files
3587
c8494fcc9d39 zsh: tab-complete status results by directory
Brendan Cully <brendan@kublai.com>
parents: 3560
diff changeset
759 else
c8494fcc9d39 zsh: tab-complete status results by directory
Brendan Cully <brendan@kublai.com>
parents: 3560
diff changeset
760 typeset -a status_files
c8494fcc9d39 zsh: tab-complete status results by directory
Brendan Cully <brendan@kublai.com>
parents: 3560
diff changeset
761 _hg_status mard
c8494fcc9d39 zsh: tab-complete status results by directory
Brendan Cully <brendan@kublai.com>
parents: 3560
diff changeset
762 _wanted files expl 'modified, added, removed or deleted file' _multi_parts / status_files
c8494fcc9d39 zsh: tab-complete status results by directory
Brendan Cully <brendan@kublai.com>
parents: 3560
diff changeset
763 fi
c8494fcc9d39 zsh: tab-complete status results by directory
Brendan Cully <brendan@kublai.com>
parents: 3560
diff changeset
764 fi
3537
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
765 }
1438
c22da894e4cc zsh completions: new -M, -m arguments for log, etc.
Steve Borho <steve@borho.org>
parents: 1368
diff changeset
766
3537
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
767 _hg_cmd_serve() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
768 _arguments -s -w : $_hg_global_opts \
3539
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3537
diff changeset
769 '(--accesslog -A)'{-A+,--accesslog}'[name of access log file]:log file:_files' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3537
diff changeset
770 '(--errorlog -E)'{-E+,--errorlog}'[name of error log file]:log file:_files' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3537
diff changeset
771 '(--daemon -d)'{-d,--daemon}'[run server in background]' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3537
diff changeset
772 '(--port -p)'{-p+,--port}'[listen port]:listen port:' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3537
diff changeset
773 '(--address -a)'{-a+,--address}'[interface address]:interface address:' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3537
diff changeset
774 '(--name -n)'{-n+,--name}'[name to show in web pages]:repository name:' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3537
diff changeset
775 '(--templates -t)'{-t,--templates}'[web template directory]:template dir:_files -/' \
3537
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
776 '--style[web template style]:style' \
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
777 '--stdio[for remote clients]' \
3539
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3537
diff changeset
778 '(--ipv6 -6)'{-6,--ipv6}'[use IPv6 in addition to IPv4]'
3537
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
779 }
1438
c22da894e4cc zsh completions: new -M, -m arguments for log, etc.
Steve Borho <steve@borho.org>
parents: 1368
diff changeset
780
5309
e21644bbf01e Updated zsh completion from issue722.
Brendan Cully <brendan@kublai.com>
parents: 4441
diff changeset
781 _hg_cmd_showconfig() {
e21644bbf01e Updated zsh completion from issue722.
Brendan Cully <brendan@kublai.com>
parents: 4441
diff changeset
782 _arguments -s -w : $_hg_global_opts \
e21644bbf01e Updated zsh completion from issue722.
Brendan Cully <brendan@kublai.com>
parents: 4441
diff changeset
783 '(--untrusted -u)'{-u+,--untrusted}'[show untrusted configuration options]' \
e21644bbf01e Updated zsh completion from issue722.
Brendan Cully <brendan@kublai.com>
parents: 4441
diff changeset
784 ':config item:_hg_config'
e21644bbf01e Updated zsh completion from issue722.
Brendan Cully <brendan@kublai.com>
parents: 4441
diff changeset
785 }
e21644bbf01e Updated zsh completion from issue722.
Brendan Cully <brendan@kublai.com>
parents: 4441
diff changeset
786
3537
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
787 _hg_cmd_status() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
788 _arguments -s -w : $_hg_global_opts $_hg_pat_opts \
3539
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3537
diff changeset
789 '(--all -A)'{-A,--all}'[show status of all files]' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3537
diff changeset
790 '(--modified -m)'{-m,--modified}'[show only modified files]' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3537
diff changeset
791 '(--added -a)'{-a,--added}'[show only added files]' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3537
diff changeset
792 '(--removed -r)'{-r,--removed}'[show only removed files]' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3537
diff changeset
793 '(--deleted -d)'{-d,--deleted}'[show only deleted (but tracked) files]' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3537
diff changeset
794 '(--clean -c)'{-c,--clean}'[show only files without changes]' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3537
diff changeset
795 '(--unknown -u)'{-u,--unknown}'[show only unknown files]' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3537
diff changeset
796 '(--ignored -i)'{-i,--ignored}'[show ignored files]' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3537
diff changeset
797 '(--no-status -n)'{-n,--no-status}'[hide status prefix]' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3537
diff changeset
798 '(--copies -C)'{-C,--copies}'[show source of copied files]' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3537
diff changeset
799 '(--print0 -0)'{-0,--print0}'[end filenames with NUL, for use with xargs]' \
13511
392b5684d0b4 zsh completion: complete bookmarks where they are accepted
Augie Fackler <durin42@gmail.com>
parents: 12169
diff changeset
800 '--rev[show difference from revision]:revision:_hg_labels' \
3537
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
801 '*:files:_files'
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
802 }
1438
c22da894e4cc zsh completions: new -M, -m arguments for log, etc.
Steve Borho <steve@borho.org>
parents: 1368
diff changeset
803
9923
c0b79fdfd214 zsh completion: add summary
Brendan Cully <brendan@kublai.com>
parents: 8986
diff changeset
804 _hg_cmd_summary() {
c0b79fdfd214 zsh completion: add summary
Brendan Cully <brendan@kublai.com>
parents: 8986
diff changeset
805 _arguments -s -w : $_hg_global_opts \
c0b79fdfd214 zsh completion: add summary
Brendan Cully <brendan@kublai.com>
parents: 8986
diff changeset
806 '--remote[check for push and pull]'
c0b79fdfd214 zsh completion: add summary
Brendan Cully <brendan@kublai.com>
parents: 8986
diff changeset
807 }
c0b79fdfd214 zsh completion: add summary
Brendan Cully <brendan@kublai.com>
parents: 8986
diff changeset
808
3537
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
809 _hg_cmd_tag() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
810 _arguments -s -w : $_hg_global_opts \
3539
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3537
diff changeset
811 '(--local -l)'{-l,--local}'[make the tag local]' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3537
diff changeset
812 '(--message -m)'{-m+,--message}'[message for tag commit log entry]:message:' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3537
diff changeset
813 '(--date -d)'{-d+,--date}'[record datecode as commit date]:date code:' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3537
diff changeset
814 '(--user -u)'{-u+,--user}'[record user as commiter]:user:' \
13511
392b5684d0b4 zsh completion: complete bookmarks where they are accepted
Augie Fackler <durin42@gmail.com>
parents: 12169
diff changeset
815 '(--rev -r)'{-r+,--rev}'[revision to tag]:revision:_hg_labels' \
3537
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
816 ':tag name:'
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
817 }
1438
c22da894e4cc zsh completions: new -M, -m arguments for log, etc.
Steve Borho <steve@borho.org>
parents: 1368
diff changeset
818
3537
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
819 _hg_cmd_tip() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
820 _arguments -s -w : $_hg_global_opts $_hg_style_opts \
3539
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3537
diff changeset
821 '(--patch -p)'{-p,--patch}'[show patch]'
3537
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
822 }
1438
c22da894e4cc zsh completions: new -M, -m arguments for log, etc.
Steve Borho <steve@borho.org>
parents: 1368
diff changeset
823
3537
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
824 _hg_cmd_unbundle() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
825 _arguments -s -w : $_hg_global_opts \
3539
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3537
diff changeset
826 '(--update -u)'{-u,--update}'[update to new tip if changesets were unbundled]' \
3537
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
827 ':files:_files'
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
828 }
1362
246e1a00af6f zsh completion function for hg
Steve Borho <steve@borho.org>
parents:
diff changeset
829
3537
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
830 _hg_cmd_update() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
831 _arguments -s -w : $_hg_global_opts \
3539
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3537
diff changeset
832 '(--clean -C)'{-C,--clean}'[overwrite locally modified files]' \
13511
392b5684d0b4 zsh completion: complete bookmarks where they are accepted
Augie Fackler <durin42@gmail.com>
parents: 12169
diff changeset
833 '(--rev -r)'{-r+,--rev}'[revision]:revision:_hg_labels' \
392b5684d0b4 zsh completion: complete bookmarks where they are accepted
Augie Fackler <durin42@gmail.com>
parents: 12169
diff changeset
834 ':revision:_hg_labels'
3537
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
835 }
1362
246e1a00af6f zsh completion function for hg
Steve Borho <steve@borho.org>
parents:
diff changeset
836
12169
b62276658844 zsh completion: bookmarks support
Brendan Cully <brendan@kublai.com>
parents: 12168
diff changeset
837 ## extensions ##
b62276658844 zsh completion: bookmarks support
Brendan Cully <brendan@kublai.com>
parents: 12168
diff changeset
838
3537
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
839 # HGK
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
840 _hg_cmd_view() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
841 _arguments -s -w : $_hg_global_opts \
3539
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3537
diff changeset
842 '(--limit -l)'{-l+,--limit}'[limit number of changes displayed]:' \
3537
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
843 ':revision range:_hg_tags'
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
844 }
1362
246e1a00af6f zsh completion function for hg
Steve Borho <steve@borho.org>
parents:
diff changeset
845
3537
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
846 # MQ
3541
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3539
diff changeset
847 _hg_qseries() {
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3539
diff changeset
848 typeset -a patches
8983
0701044ad156 zsh completion: basic merge support
Brendan Cully <brendan@kublai.com>
parents: 8982
diff changeset
849 patches=(${(f)"$(_hg_cmd qseries)"})
3541
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3539
diff changeset
850 (( $#patches )) && _describe -t hg-patches 'patches' patches
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3539
diff changeset
851 }
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3539
diff changeset
852
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3539
diff changeset
853 _hg_qapplied() {
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3539
diff changeset
854 typeset -a patches
8983
0701044ad156 zsh completion: basic merge support
Brendan Cully <brendan@kublai.com>
parents: 8982
diff changeset
855 patches=(${(f)"$(_hg_cmd qapplied)"})
3549
3dbec3f6d3a2 zsh: add qbase and qtip to qapplied completions
Brendan Cully <brendan@kublai.com>
parents: 3548
diff changeset
856 if (( $#patches ))
3dbec3f6d3a2 zsh: add qbase and qtip to qapplied completions
Brendan Cully <brendan@kublai.com>
parents: 3548
diff changeset
857 then
3dbec3f6d3a2 zsh: add qbase and qtip to qapplied completions
Brendan Cully <brendan@kublai.com>
parents: 3548
diff changeset
858 patches+=(qbase qtip)
3dbec3f6d3a2 zsh: add qbase and qtip to qapplied completions
Brendan Cully <brendan@kublai.com>
parents: 3548
diff changeset
859 _describe -t hg-applied-patches 'applied patches' patches
3dbec3f6d3a2 zsh: add qbase and qtip to qapplied completions
Brendan Cully <brendan@kublai.com>
parents: 3548
diff changeset
860 fi
3541
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3539
diff changeset
861 }
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3539
diff changeset
862
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3539
diff changeset
863 _hg_qunapplied() {
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3539
diff changeset
864 typeset -a patches
8983
0701044ad156 zsh completion: basic merge support
Brendan Cully <brendan@kublai.com>
parents: 8982
diff changeset
865 patches=(${(f)"$(_hg_cmd qunapplied)"})
3541
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3539
diff changeset
866 (( $#patches )) && _describe -t hg-unapplied-patches 'unapplied patches' patches
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3539
diff changeset
867 }
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3539
diff changeset
868
8980
6d5dca8737b9 zsh completion: include guarded patches in qdelete
Brendan Cully <brendan@kublai.com>
parents: 8961
diff changeset
869 # unapplied, including guarded patches
6d5dca8737b9 zsh completion: include guarded patches in qdelete
Brendan Cully <brendan@kublai.com>
parents: 8961
diff changeset
870 _hg_qdeletable() {
6d5dca8737b9 zsh completion: include guarded patches in qdelete
Brendan Cully <brendan@kublai.com>
parents: 8961
diff changeset
871 typeset -a unapplied
8983
0701044ad156 zsh completion: basic merge support
Brendan Cully <brendan@kublai.com>
parents: 8982
diff changeset
872 unapplied=(${(f)"$(_hg_cmd qseries)"})
0701044ad156 zsh completion: basic merge support
Brendan Cully <brendan@kublai.com>
parents: 8982
diff changeset
873 for p in $(_hg_cmd qapplied)
8980
6d5dca8737b9 zsh completion: include guarded patches in qdelete
Brendan Cully <brendan@kublai.com>
parents: 8961
diff changeset
874 do
6d5dca8737b9 zsh completion: include guarded patches in qdelete
Brendan Cully <brendan@kublai.com>
parents: 8961
diff changeset
875 unapplied=(${unapplied:#$p})
6d5dca8737b9 zsh completion: include guarded patches in qdelete
Brendan Cully <brendan@kublai.com>
parents: 8961
diff changeset
876 done
6d5dca8737b9 zsh completion: include guarded patches in qdelete
Brendan Cully <brendan@kublai.com>
parents: 8961
diff changeset
877
6d5dca8737b9 zsh completion: include guarded patches in qdelete
Brendan Cully <brendan@kublai.com>
parents: 8961
diff changeset
878 (( $#unapplied )) && _describe -t hg-allunapplied-patches 'all unapplied patches' unapplied
6d5dca8737b9 zsh completion: include guarded patches in qdelete
Brendan Cully <brendan@kublai.com>
parents: 8961
diff changeset
879 }
6d5dca8737b9 zsh completion: include guarded patches in qdelete
Brendan Cully <brendan@kublai.com>
parents: 8961
diff changeset
880
3541
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3539
diff changeset
881 _hg_qguards() {
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3539
diff changeset
882 typeset -a guards
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3539
diff changeset
883 local guard
3543
fe9c1e886b5e zsh: complete qguard with +/- guard prefixes
Brendan Cully <brendan@kublai.com>
parents: 3541
diff changeset
884 compset -P "+|-"
8983
0701044ad156 zsh completion: basic merge support
Brendan Cully <brendan@kublai.com>
parents: 8982
diff changeset
885 _hg_cmd qselect -s | while read guard
3541
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3539
diff changeset
886 do
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3539
diff changeset
887 guards+=(${guard#(+|-)})
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3539
diff changeset
888 done
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3539
diff changeset
889 (( $#guards )) && _describe -t hg-guards 'guards' guards
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3539
diff changeset
890 }
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3539
diff changeset
891
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3539
diff changeset
892 _hg_qseries_opts=(
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3539
diff changeset
893 '(--summary -s)'{-s,--summary}'[print first line of patch header]')
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3539
diff changeset
894
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3539
diff changeset
895 _hg_cmd_qapplied() {
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3539
diff changeset
896 _arguments -s -w : $_hg_global_opts $_hg_qseries_opts
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3539
diff changeset
897 }
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3539
diff changeset
898
3537
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
899 _hg_cmd_qdelete() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
900 _arguments -s -w : $_hg_global_opts \
3539
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3537
diff changeset
901 '(--keep -k)'{-k,--keep}'[keep patch file]' \
3550
ef80b13df85a zsh: add revrange completion
Brendan Cully <brendan@kublai.com>
parents: 3549
diff changeset
902 '*'{-r+,--rev}'[stop managing a revision]:applied patch:_hg_revrange' \
8980
6d5dca8737b9 zsh completion: include guarded patches in qdelete
Brendan Cully <brendan@kublai.com>
parents: 8961
diff changeset
903 '*:unapplied patch:_hg_qdeletable'
3541
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3539
diff changeset
904 }
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3539
diff changeset
905
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3539
diff changeset
906 _hg_cmd_qdiff() {
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3539
diff changeset
907 _arguments -s -w : $_hg_global_opts $_hg_pat_opts \
3603
ef9c515836ae zsh: compute repository root instead of forking hg
Brendan Cully <brendan@kublai.com>
parents: 3602
diff changeset
908 '*:pattern:_hg_files'
3541
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3539
diff changeset
909 }
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3539
diff changeset
910
15645
88a82069be4a zsh completion: add support for qfinish
Augie Fackler <durin42@gmail.com>
parents: 15100
diff changeset
911 _hg_cmd_qfinish() {
88a82069be4a zsh completion: add support for qfinish
Augie Fackler <durin42@gmail.com>
parents: 15100
diff changeset
912 _arguments -s -w : $_hg_global_opts \
16330
a5a3af000e0d zsh completion: fix error in qfinish completions from 88a82069be4a
Augie Fackler <durin42@gmail.com>
parents: 15645
diff changeset
913 '(--applied -a)'{-a,--applied}'[finish all applied patches]' \
15645
88a82069be4a zsh completion: add support for qfinish
Augie Fackler <durin42@gmail.com>
parents: 15100
diff changeset
914 '*:patch:_hg_qapplied'
88a82069be4a zsh completion: add support for qfinish
Augie Fackler <durin42@gmail.com>
parents: 15100
diff changeset
915 }
88a82069be4a zsh completion: add support for qfinish
Augie Fackler <durin42@gmail.com>
parents: 15100
diff changeset
916
3541
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3539
diff changeset
917 _hg_cmd_qfold() {
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3539
diff changeset
918 _arguments -s -w : $_hg_global_opts $_h_commit_opts \
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3539
diff changeset
919 '(--keep,-k)'{-k,--keep}'[keep folded patch files]' \
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3539
diff changeset
920 '*:unapplied patch:_hg_qunapplied'
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3539
diff changeset
921 }
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3539
diff changeset
922
5868
838fa52abcc1 [PATCH] zsh_completion tag/mq fixes
Nicholas Riley <njriley@uiuc.edu>
parents: 5309
diff changeset
923 _hg_cmd_qgoto() {
838fa52abcc1 [PATCH] zsh_completion tag/mq fixes
Nicholas Riley <njriley@uiuc.edu>
parents: 5309
diff changeset
924 _arguments -s -w : $_hg_global_opts \
838fa52abcc1 [PATCH] zsh_completion tag/mq fixes
Nicholas Riley <njriley@uiuc.edu>
parents: 5309
diff changeset
925 '(--force -f)'{-f,--force}'[overwrite any local changes]' \
838fa52abcc1 [PATCH] zsh_completion tag/mq fixes
Nicholas Riley <njriley@uiuc.edu>
parents: 5309
diff changeset
926 ':patch:_hg_qseries'
838fa52abcc1 [PATCH] zsh_completion tag/mq fixes
Nicholas Riley <njriley@uiuc.edu>
parents: 5309
diff changeset
927 }
838fa52abcc1 [PATCH] zsh_completion tag/mq fixes
Nicholas Riley <njriley@uiuc.edu>
parents: 5309
diff changeset
928
3541
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3539
diff changeset
929 _hg_cmd_qguard() {
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3539
diff changeset
930 _arguments -s -w : $_hg_global_opts \
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3539
diff changeset
931 '(--list -l)'{-l,--list}'[list all patches and guards]' \
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3539
diff changeset
932 '(--none -n)'{-n,--none}'[drop all guards]' \
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3539
diff changeset
933 ':patch:_hg_qseries' \
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3539
diff changeset
934 '*:guards:_hg_qguards'
3537
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
935 }
1362
246e1a00af6f zsh completion function for hg
Steve Borho <steve@borho.org>
parents:
diff changeset
936
3537
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
937 _hg_cmd_qheader() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
938 _arguments -s -w : $_hg_global_opts \
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
939 ':patch:_hg_qseries'
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
940 }
1362
246e1a00af6f zsh completion function for hg
Steve Borho <steve@borho.org>
parents:
diff changeset
941
3541
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3539
diff changeset
942 _hg_cmd_qimport() {
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3539
diff changeset
943 _arguments -s -w : $_hg_global_opts \
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3539
diff changeset
944 '(--existing -e)'{-e,--existing}'[import file in patch dir]' \
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3539
diff changeset
945 '(--name -n 2)'{-n+,--name}'[patch file name]:name:' \
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3539
diff changeset
946 '(--force -f)'{-f,--force}'[overwrite existing files]' \
3550
ef80b13df85a zsh: add revrange completion
Brendan Cully <brendan@kublai.com>
parents: 3549
diff changeset
947 '*'{-r+,--rev}'[place existing revisions under mq control]:revision:_hg_revrange' \
3541
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3539
diff changeset
948 '*:patch:_files'
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3539
diff changeset
949 }
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3539
diff changeset
950
3537
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
951 _hg_cmd_qnew() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
952 _arguments -s -w : $_hg_global_opts $_hg_commit_opts \
3539
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3537
diff changeset
953 '(--force -f)'{-f,--force}'[import uncommitted changes into patch]' \
3537
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
954 ':patch:'
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
955 }
1368
d1d605d1e839 Fix completion function for 'hg pull'. Fix truncation bug and remove tabs.
Steve Borho <steve@borho.org>
parents: 1365
diff changeset
956
3541
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3539
diff changeset
957 _hg_cmd_qnext() {
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3539
diff changeset
958 _arguments -s -w : $_hg_global_opts $_hg_qseries_opts
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3539
diff changeset
959 }
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3539
diff changeset
960
3537
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
961 _hg_cmd_qpop() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
962 _arguments -s -w : $_hg_global_opts \
3539
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3537
diff changeset
963 '(--all -a :)'{-a,--all}'[pop all patches]' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3537
diff changeset
964 '(--name -n)'{-n+,--name}'[queue name to pop]:' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3537
diff changeset
965 '(--force -f)'{-f,--force}'[forget any local changes]' \
3537
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
966 ':patch:_hg_qapplied'
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
967 }
3487
46958e428fcd zsh completion: basic mq support
Brendan Cully <brendan@kublai.com>
parents: 1544
diff changeset
968
3541
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3539
diff changeset
969 _hg_cmd_qprev() {
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3539
diff changeset
970 _arguments -s -w : $_hg_global_opts $_hg_qseries_opts
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3539
diff changeset
971 }
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3539
diff changeset
972
3537
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
973 _hg_cmd_qpush() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
974 _arguments -s -w : $_hg_global_opts \
3539
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3537
diff changeset
975 '(--all -a :)'{-a,--all}'[apply all patches]' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3537
diff changeset
976 '(--list -l)'{-l,--list}'[list patch name in commit text]' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3537
diff changeset
977 '(--merge -m)'{-m+,--merge}'[merge from another queue]:' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3537
diff changeset
978 '(--name -n)'{-n+,--name}'[merge queue name]:' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3537
diff changeset
979 '(--force -f)'{-f,--force}'[apply if the patch has rejects]' \
17004
a1d86396d8c1 zsh completion: catch up with 2.2 commands and options
Nikolaj Sjujskij <sterkrig@myopera.com>
parents: 16330
diff changeset
980 '(--exact -e)'{-e,--exact}'[apply the target patch to its recorded parent]' \
11760
46039b2af349 zsh completions: add qpush --move option
Yuya Nishihara <yuya@tcha.org>
parents: 11646
diff changeset
981 '--move[reorder patch series and apply only the patch]' \
3537
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
982 ':patch:_hg_qunapplied'
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
983 }
3487
46958e428fcd zsh completion: basic mq support
Brendan Cully <brendan@kublai.com>
parents: 1544
diff changeset
984
3537
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
985 _hg_cmd_qrefresh() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
986 _arguments -s -w : $_hg_global_opts $_hg_pat_opts $_hg_commit_opts \
3539
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3537
diff changeset
987 '(--git -g)'{-g,--git}'[use git extended diff format]' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3537
diff changeset
988 '(--short -s)'{-s,--short}'[short refresh]' \
3603
ef9c515836ae zsh: compute repository root instead of forking hg
Brendan Cully <brendan@kublai.com>
parents: 3602
diff changeset
989 '*:files:_hg_files'
3537
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
990 }
3487
46958e428fcd zsh completion: basic mq support
Brendan Cully <brendan@kublai.com>
parents: 1544
diff changeset
991
3541
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3539
diff changeset
992 _hg_cmd_qrename() {
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3539
diff changeset
993 _arguments -s -w : $_hg_global_opts \
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3539
diff changeset
994 ':patch:_hg_qseries' \
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3539
diff changeset
995 ':destination:'
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3539
diff changeset
996 }
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3539
diff changeset
997
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3539
diff changeset
998 _hg_cmd_qselect() {
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3539
diff changeset
999 _arguments -s -w : $_hg_global_opts \
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3539
diff changeset
1000 '(--none -n :)'{-n,--none}'[disable all guards]' \
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3539
diff changeset
1001 '(--series -s :)'{-s,--series}'[list all guards in series file]' \
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3539
diff changeset
1002 '--pop[pop to before first guarded applied patch]' \
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3539
diff changeset
1003 '--reapply[pop and reapply patches]' \
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3539
diff changeset
1004 '*:guards:_hg_qguards'
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3539
diff changeset
1005 }
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3539
diff changeset
1006
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3539
diff changeset
1007 _hg_cmd_qseries() {
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3539
diff changeset
1008 _arguments -s -w : $_hg_global_opts $_hg_qseries_opts \
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3539
diff changeset
1009 '(--missing -m)'{-m,--missing}'[print patches not in series]'
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3539
diff changeset
1010 }
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3539
diff changeset
1011
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3539
diff changeset
1012 _hg_cmd_qunapplied() {
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3539
diff changeset
1013 _arguments -s -w : $_hg_global_opts $_hg_qseries_opts
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3539
diff changeset
1014 }
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3539
diff changeset
1015
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3539
diff changeset
1016 _hg_cmd_qtop() {
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3539
diff changeset
1017 _arguments -s -w : $_hg_global_opts $_hg_qseries_opts
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3539
diff changeset
1018 }
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3539
diff changeset
1019
3537
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
1020 _hg_cmd_strip() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
1021 _arguments -s -w : $_hg_global_opts \
3539
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3537
diff changeset
1022 '(--force -f)'{-f,--force}'[force multi-head removal]' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3537
diff changeset
1023 '(--backup -b)'{-b,--backup}'[bundle unrelated changesets]' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3537
diff changeset
1024 '(--nobackup -n)'{-n,--nobackup}'[no backups]' \
13511
392b5684d0b4 zsh completion: complete bookmarks where they are accepted
Augie Fackler <durin42@gmail.com>
parents: 12169
diff changeset
1025 ':revision:_hg_labels'
3537
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
1026 }
3493
1b9494d2b070 zsh: expand tags lazily
Brendan Cully <brendan@kublai.com>
parents: 3487
diff changeset
1027
12168
ff4597f521a4 zsh completion: patchbomb support
Brendan Cully <brendan@kublai.com>
parents: 11760
diff changeset
1028 # Patchbomb
ff4597f521a4 zsh completion: patchbomb support
Brendan Cully <brendan@kublai.com>
parents: 11760
diff changeset
1029 _hg_cmd_email() {
ff4597f521a4 zsh completion: patchbomb support
Brendan Cully <brendan@kublai.com>
parents: 11760
diff changeset
1030 _arguments -s -w : $_hg_global_opts $_hg_remote_opts \
ff4597f521a4 zsh completion: patchbomb support
Brendan Cully <brendan@kublai.com>
parents: 11760
diff changeset
1031 '(--git -g)'{-g,--git}'[use git extended diff format]' \
ff4597f521a4 zsh completion: patchbomb support
Brendan Cully <brendan@kublai.com>
parents: 11760
diff changeset
1032 '--plain[omit hg patch header]' \
17004
a1d86396d8c1 zsh completion: catch up with 2.2 commands and options
Nikolaj Sjujskij <sterkrig@myopera.com>
parents: 16330
diff changeset
1033 '--body[send patches as inline message text (default)]' \
12168
ff4597f521a4 zsh completion: patchbomb support
Brendan Cully <brendan@kublai.com>
parents: 11760
diff changeset
1034 '(--outgoing -o)'{-o,--outgoing}'[send changes not found in the target repository]' \
ff4597f521a4 zsh completion: patchbomb support
Brendan Cully <brendan@kublai.com>
parents: 11760
diff changeset
1035 '(--bundle -b)'{-b,--bundle}'[send changes not in target as a binary bundle]' \
ff4597f521a4 zsh completion: patchbomb support
Brendan Cully <brendan@kublai.com>
parents: 11760
diff changeset
1036 '--bundlename[name of the bundle attachment file (default: bundle)]:' \
ff4597f521a4 zsh completion: patchbomb support
Brendan Cully <brendan@kublai.com>
parents: 11760
diff changeset
1037 '*'{-r+,--rev}'[search in given revision range]:revision:_hg_revrange' \
ff4597f521a4 zsh completion: patchbomb support
Brendan Cully <brendan@kublai.com>
parents: 11760
diff changeset
1038 '--force[run even when remote repository is unrelated (with -b/--bundle)]' \
13511
392b5684d0b4 zsh completion: complete bookmarks where they are accepted
Augie Fackler <durin42@gmail.com>
parents: 12169
diff changeset
1039 '*--base[a base changeset to specify instead of a destination (with -b/--bundle)]:revision:_hg_labels' \
12168
ff4597f521a4 zsh completion: patchbomb support
Brendan Cully <brendan@kublai.com>
parents: 11760
diff changeset
1040 '--intro[send an introduction email for a single patch]' \
ff4597f521a4 zsh completion: patchbomb support
Brendan Cully <brendan@kublai.com>
parents: 11760
diff changeset
1041 '(--inline -i --attach -a)'{-a,--attach}'[send patches as attachments]' \
ff4597f521a4 zsh completion: patchbomb support
Brendan Cully <brendan@kublai.com>
parents: 11760
diff changeset
1042 '(--attach -a --inline -i)'{-i,--inline}'[send patches as inline attachments]' \
ff4597f521a4 zsh completion: patchbomb support
Brendan Cully <brendan@kublai.com>
parents: 11760
diff changeset
1043 '*--bcc[email addresses of blind carbon copy recipients]:email:' \
ff4597f521a4 zsh completion: patchbomb support
Brendan Cully <brendan@kublai.com>
parents: 11760
diff changeset
1044 '*'{-c+,--cc}'[email addresses of copy recipients]:email:' \
ff4597f521a4 zsh completion: patchbomb support
Brendan Cully <brendan@kublai.com>
parents: 11760
diff changeset
1045 '(--diffstat -d)'{-d,--diffstat}'[add diffstat output to messages]' \
ff4597f521a4 zsh completion: patchbomb support
Brendan Cully <brendan@kublai.com>
parents: 11760
diff changeset
1046 '--date[use the given date as the sending date]:date:' \
ff4597f521a4 zsh completion: patchbomb support
Brendan Cully <brendan@kublai.com>
parents: 11760
diff changeset
1047 '--desc[use the given file as the series description]:files:_files' \
ff4597f521a4 zsh completion: patchbomb support
Brendan Cully <brendan@kublai.com>
parents: 11760
diff changeset
1048 '(--from -f)'{-f,--from}'[email address of sender]:email:' \
ff4597f521a4 zsh completion: patchbomb support
Brendan Cully <brendan@kublai.com>
parents: 11760
diff changeset
1049 '(--test -n)'{-n,--test}'[print messages that would be sent]' \
ff4597f521a4 zsh completion: patchbomb support
Brendan Cully <brendan@kublai.com>
parents: 11760
diff changeset
1050 '(--mbox -m)'{-m,--mbox}'[write messages to mbox file instead of sending them]:file:' \
ff4597f521a4 zsh completion: patchbomb support
Brendan Cully <brendan@kublai.com>
parents: 11760
diff changeset
1051 '*--reply-to[email addresses replies should be sent to]:email:' \
ff4597f521a4 zsh completion: patchbomb support
Brendan Cully <brendan@kublai.com>
parents: 11760
diff changeset
1052 '(--subject -s)'{-s,--subject}'[subject of first message (intro or single patch)]:subject:' \
ff4597f521a4 zsh completion: patchbomb support
Brendan Cully <brendan@kublai.com>
parents: 11760
diff changeset
1053 '--in-reply-to[message identifier to reply to]:msgid:' \
ff4597f521a4 zsh completion: patchbomb support
Brendan Cully <brendan@kublai.com>
parents: 11760
diff changeset
1054 '*--flag[flags to add in subject prefixes]:flag:' \
ff4597f521a4 zsh completion: patchbomb support
Brendan Cully <brendan@kublai.com>
parents: 11760
diff changeset
1055 '*'{-t,--to}'[email addresses of recipients]:email:' \
ff4597f521a4 zsh completion: patchbomb support
Brendan Cully <brendan@kublai.com>
parents: 11760
diff changeset
1056 ':revision:_hg_revrange'
ff4597f521a4 zsh completion: patchbomb support
Brendan Cully <brendan@kublai.com>
parents: 11760
diff changeset
1057 }
ff4597f521a4 zsh completion: patchbomb support
Brendan Cully <brendan@kublai.com>
parents: 11760
diff changeset
1058
17004
a1d86396d8c1 zsh completion: catch up with 2.2 commands and options
Nikolaj Sjujskij <sterkrig@myopera.com>
parents: 16330
diff changeset
1059 # Rebase
a1d86396d8c1 zsh completion: catch up with 2.2 commands and options
Nikolaj Sjujskij <sterkrig@myopera.com>
parents: 16330
diff changeset
1060 _hg_cmd_rebase() {
a1d86396d8c1 zsh completion: catch up with 2.2 commands and options
Nikolaj Sjujskij <sterkrig@myopera.com>
parents: 16330
diff changeset
1061 _arguments -s -w : $_hg_global_opts \
a1d86396d8c1 zsh completion: catch up with 2.2 commands and options
Nikolaj Sjujskij <sterkrig@myopera.com>
parents: 16330
diff changeset
1062 '*'{-r,--rev}'[rebase these revisions]:revision:_hg_revrange' \
a1d86396d8c1 zsh completion: catch up with 2.2 commands and options
Nikolaj Sjujskij <sterkrig@myopera.com>
parents: 16330
diff changeset
1063 '(--source -s)'{-s,--source}'[rebase from the specified changeset]:revision:_hg_labels' \
a1d86396d8c1 zsh completion: catch up with 2.2 commands and options
Nikolaj Sjujskij <sterkrig@myopera.com>
parents: 16330
diff changeset
1064 '(--base -b)'{-b,--base}'[rebase from the base of the specified changeset]:revision:_hg_labels' \
a1d86396d8c1 zsh completion: catch up with 2.2 commands and options
Nikolaj Sjujskij <sterkrig@myopera.com>
parents: 16330
diff changeset
1065 '(--dest -d)'{-d,--dest}'[rebase onto the specified changeset]' \
a1d86396d8c1 zsh completion: catch up with 2.2 commands and options
Nikolaj Sjujskij <sterkrig@myopera.com>
parents: 16330
diff changeset
1066 '--collapse[collapse the rebased changeset]' \
a1d86396d8c1 zsh completion: catch up with 2.2 commands and options
Nikolaj Sjujskij <sterkrig@myopera.com>
parents: 16330
diff changeset
1067 '(--message -m)'{-m+,--message}'[use <text> as collapse commit message]:text:' \
a1d86396d8c1 zsh completion: catch up with 2.2 commands and options
Nikolaj Sjujskij <sterkrig@myopera.com>
parents: 16330
diff changeset
1068 '(--edit -e)'{-e,--edit}'[invoke editor on commit messages]' \
a1d86396d8c1 zsh completion: catch up with 2.2 commands and options
Nikolaj Sjujskij <sterkrig@myopera.com>
parents: 16330
diff changeset
1069 '(--logfile -l)'{-l+,--logfile}'[read collapse commit message from <file>]:log file:_files -g \*.txt' \
a1d86396d8c1 zsh completion: catch up with 2.2 commands and options
Nikolaj Sjujskij <sterkrig@myopera.com>
parents: 16330
diff changeset
1070 '--keep[keep original changeset]' \
a1d86396d8c1 zsh completion: catch up with 2.2 commands and options
Nikolaj Sjujskij <sterkrig@myopera.com>
parents: 16330
diff changeset
1071 '--keepbranches[keep original branch name]' \
a1d86396d8c1 zsh completion: catch up with 2.2 commands and options
Nikolaj Sjujskij <sterkrig@myopera.com>
parents: 16330
diff changeset
1072 '(--tool -t)'{-t,--tool}'[specify merge tool]' \
a1d86396d8c1 zsh completion: catch up with 2.2 commands and options
Nikolaj Sjujskij <sterkrig@myopera.com>
parents: 16330
diff changeset
1073 '(--continue -c)'{-c,--continue}'[continue an interrupted rebase]' \
a1d86396d8c1 zsh completion: catch up with 2.2 commands and options
Nikolaj Sjujskij <sterkrig@myopera.com>
parents: 16330
diff changeset
1074 '(--abort -a)'{-a,--abort}'[abort an interrupted rebase]' \
a1d86396d8c1 zsh completion: catch up with 2.2 commands and options
Nikolaj Sjujskij <sterkrig@myopera.com>
parents: 16330
diff changeset
1075 }
a1d86396d8c1 zsh completion: catch up with 2.2 commands and options
Nikolaj Sjujskij <sterkrig@myopera.com>
parents: 16330
diff changeset
1076
3537
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3498
diff changeset
1077 _hg "$@"