annotate contrib/zsh_completion @ 5369:7530334bf301

revlog: generate trivial deltas against null revision To avoid extra memory usage and performance issues with large files, generate a trivial delta header for deltas against the null revision rather than calling the usual delta generator. We append the delta header to meta rather than prepending it to data to avoid a large allocate and copy.
author Matt Mackall <mpm@selenic.com>
date Wed, 03 Oct 2007 17:17:27 -0500
parents e21644bbf01e
children
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 #
246e1a00af6f zsh completion function for hg
Steve Borho <steve@borho.org>
parents:
diff changeset
7 # Copyright (C) 2005 Steve Borho
3534
811e6c95485c zsh: use standard tags where possible
Brendan Cully <brendan@kublai.com>
parents: 3529
diff changeset
8 # Copyright (C) 2006 Brendan Cully <brendan@kublai.com>
1362
246e1a00af6f zsh completion function for hg
Steve Borho <steve@borho.org>
parents:
diff changeset
9 #
246e1a00af6f zsh completion function for hg
Steve Borho <steve@borho.org>
parents:
diff changeset
10 # This is free software; you can redistribute it and/or modify it under
246e1a00af6f zsh completion function for hg
Steve Borho <steve@borho.org>
parents:
diff changeset
11 # the terms of the GNU General Public License as published by the Free
246e1a00af6f zsh completion function for hg
Steve Borho <steve@borho.org>
parents:
diff changeset
12 # Software Foundation; either version 2 of the License, or (at your
246e1a00af6f zsh completion function for hg
Steve Borho <steve@borho.org>
parents:
diff changeset
13 # option) any later version.
246e1a00af6f zsh completion function for hg
Steve Borho <steve@borho.org>
parents:
diff changeset
14 #
246e1a00af6f zsh completion function for hg
Steve Borho <steve@borho.org>
parents:
diff changeset
15
246e1a00af6f zsh completion function for hg
Steve Borho <steve@borho.org>
parents:
diff changeset
16 local curcontext="$curcontext" state line
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
17 typeset -A _hg_cmd_globals
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
18
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
19 _hg() {
3603
ef9c515836ae zsh: compute repository root instead of forking hg
Brendan Cully <brendan@kublai.com>
parents: 3602
diff changeset
20 local cmd _hg_root
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
21 integer i=2
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
22 _hg_cmd_globals=()
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
23
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
24 while (( i < $#words ))
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
25 do
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
26 case "$words[$i]" in
3603
ef9c515836ae zsh: compute repository root instead of forking hg
Brendan Cully <brendan@kublai.com>
parents: 3602
diff changeset
27 -R|--repository)
3605
9d815b074dcb zsh: perform ~ expansion on _hg_root
Brendan Cully <brendan@kublai.com>
parents: 3603
diff changeset
28 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
29 _hg_cmd_globals+=("$words[$i]" "$_hg_root")
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
30 (( i += 2 ))
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
31 continue
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
32 ;;
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
33 -R*)
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
34 _hg_cmd_globals+="$words[$i]"
3605
9d815b074dcb zsh: perform ~ expansion on _hg_root
Brendan Cully <brendan@kublai.com>
parents: 3603
diff changeset
35 eval _hg_root="${words[$i]#-R}"
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
36 (( i++ ))
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
37 continue
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
38 ;;
3603
ef9c515836ae zsh: compute repository root instead of forking hg
Brendan Cully <brendan@kublai.com>
parents: 3602
diff changeset
39 --cwd|--config)
ef9c515836ae zsh: compute repository root instead of forking hg
Brendan Cully <brendan@kublai.com>
parents: 3602
diff changeset
40 # pass along arguments to hg completer
ef9c515836ae zsh: compute repository root instead of forking hg
Brendan Cully <brendan@kublai.com>
parents: 3602
diff changeset
41 _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
42 (( i += 2 ))
ef9c515836ae zsh: compute repository root instead of forking hg
Brendan Cully <brendan@kublai.com>
parents: 3602
diff changeset
43 continue
ef9c515836ae zsh: compute repository root instead of forking hg
Brendan Cully <brendan@kublai.com>
parents: 3602
diff changeset
44 ;;
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
45 -*)
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
46 # skip option
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
47 (( i++ ))
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
48 continue
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
49 ;;
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
50 esac
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
51 if [[ -z "$cmd" ]]
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
52 then
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
53 cmd="$words[$i]"
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
54 words[$i]=()
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
55 (( CURRENT-- ))
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
56 fi
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
57 (( i++ ))
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
58 done
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
59
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
60 if [[ -z "$cmd" ]]
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
61 then
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
62 _arguments -s -w : $_hg_global_opts \
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
63 ':mercurial command:_hg_commands'
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
64 return
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
65 fi
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
66
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
67 # resolve abbreviations and aliases
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
68 if ! (( $+functions[_hg_cmd_${cmd}] ))
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
69 then
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
70 local cmdexp
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
71 (( $#_hg_cmd_list )) || _hg_get_commands
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
72
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
73 cmdexp=$_hg_cmd_list[(r)${cmd}*]
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
74 if [[ $cmdexp == $_hg_cmd_list[(R)${cmd}*] ]]
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
75 then
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
76 # might be nice to rewrite the command line with the expansion
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
77 cmd="$cmdexp"
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
78 fi
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
79 if [[ -n $_hg_alias_list[$cmd] ]]
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
80 then
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
81 cmd=$_hg_alias_list[$cmd]
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
82 fi
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
83 fi
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
84
3600
932dadd2e614 zsh: add optional remote directory cache
Brendan Cully <brendan@kublai.com>
parents: 3598
diff changeset
85 curcontext="${curcontext%:*:*}:hg-${cmd}:"
932dadd2e614 zsh: add optional remote directory cache
Brendan Cully <brendan@kublai.com>
parents: 3598
diff changeset
86
932dadd2e614 zsh: add optional remote directory cache
Brendan Cully <brendan@kublai.com>
parents: 3598
diff changeset
87 zstyle -s ":completion:$curcontext:" cache-policy update_policy
932dadd2e614 zsh: add optional remote directory cache
Brendan Cully <brendan@kublai.com>
parents: 3598
diff changeset
88
932dadd2e614 zsh: add optional remote directory cache
Brendan Cully <brendan@kublai.com>
parents: 3598
diff changeset
89 if [[ -z "$update_policy" ]]
932dadd2e614 zsh: add optional remote directory cache
Brendan Cully <brendan@kublai.com>
parents: 3598
diff changeset
90 then
932dadd2e614 zsh: add optional remote directory cache
Brendan Cully <brendan@kublai.com>
parents: 3598
diff changeset
91 zstyle ":completion:$curcontext:" cache-policy _hg_cache_policy
932dadd2e614 zsh: add optional remote directory cache
Brendan Cully <brendan@kublai.com>
parents: 3598
diff changeset
92 fi
932dadd2e614 zsh: add optional remote directory cache
Brendan Cully <brendan@kublai.com>
parents: 3598
diff changeset
93
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
94 if (( $+functions[_hg_cmd_${cmd}] ))
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
95 then
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
96 _hg_cmd_${cmd}
3597
0d253ec988a6 zsh: complete unknown commands normally
Brendan Cully <brendan@kublai.com>
parents: 3587
diff changeset
97 else
0d253ec988a6 zsh: complete unknown commands normally
Brendan Cully <brendan@kublai.com>
parents: 3587
diff changeset
98 # complete unknown commands normally
0d253ec988a6 zsh: complete unknown commands normally
Brendan Cully <brendan@kublai.com>
parents: 3587
diff changeset
99 _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
100 '*:files:_hg_files'
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
101 fi
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
102 }
3491
459e7cd943d4 zsh: complete according to the -R option if specified
Brendan Cully <brendan@kublai.com>
parents: 3490
diff changeset
103
3600
932dadd2e614 zsh: add optional remote directory cache
Brendan Cully <brendan@kublai.com>
parents: 3598
diff changeset
104 _hg_cache_policy() {
932dadd2e614 zsh: add optional remote directory cache
Brendan Cully <brendan@kublai.com>
parents: 3598
diff changeset
105 typeset -a old
932dadd2e614 zsh: add optional remote directory cache
Brendan Cully <brendan@kublai.com>
parents: 3598
diff changeset
106
932dadd2e614 zsh: add optional remote directory cache
Brendan Cully <brendan@kublai.com>
parents: 3598
diff changeset
107 # cache for a minute
932dadd2e614 zsh: add optional remote directory cache
Brendan Cully <brendan@kublai.com>
parents: 3598
diff changeset
108 old=( "$1"(mm+10) )
932dadd2e614 zsh: add optional remote directory cache
Brendan Cully <brendan@kublai.com>
parents: 3598
diff changeset
109 (( $#old )) && return 0
932dadd2e614 zsh: add optional remote directory cache
Brendan Cully <brendan@kublai.com>
parents: 3598
diff changeset
110
932dadd2e614 zsh: add optional remote directory cache
Brendan Cully <brendan@kublai.com>
parents: 3598
diff changeset
111 return 1
932dadd2e614 zsh: add optional remote directory cache
Brendan Cully <brendan@kublai.com>
parents: 3598
diff changeset
112 }
932dadd2e614 zsh: add optional remote directory cache
Brendan Cully <brendan@kublai.com>
parents: 3598
diff changeset
113
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
114 _hg_get_commands() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
115 typeset -ga _hg_cmd_list
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
116 typeset -gA _hg_alias_list
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
117 local hline cmd cmdalias
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
118 _call_program help hg --verbose help | while read -A hline
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
119 do
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
120 cmd="$hline[1]"
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
121 case $cmd in
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
122 *:)
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
123 cmd=${cmd%:}
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
124 _hg_cmd_list+=($cmd)
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
125 ;;
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
126 *,)
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
127 cmd=${cmd%,}
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
128 _hg_cmd_list+=($cmd)
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
129 integer i=2
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
130 while (( i <= $#hline ))
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
131 do
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
132 cmdalias=${hline[$i]%(:|,)}
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
133 _hg_cmd_list+=($cmdalias)
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
134 _hg_alias_list+=($cmdalias $cmd)
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
135 (( i++ ))
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
136 done
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
137 ;;
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
138 esac
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
139 done
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
140 }
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
141
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
142 _hg_commands() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
143 (( $#_hg_cmd_list )) || _hg_get_commands
3534
811e6c95485c zsh: use standard tags where possible
Brendan Cully <brendan@kublai.com>
parents: 3529
diff changeset
144 _describe -t commands 'mercurial command' _hg_cmd_list
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
145 }
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
146
3536
ef80b13df85a zsh: add revrange completion
Brendan Cully <brendan@kublai.com>
parents: 3535
diff changeset
147 _hg_revrange() {
ef80b13df85a zsh: add revrange completion
Brendan Cully <brendan@kublai.com>
parents: 3535
diff changeset
148 compset -P 1 '*:'
ef80b13df85a zsh: add revrange completion
Brendan Cully <brendan@kublai.com>
parents: 3535
diff changeset
149 _hg_tags "$@"
ef80b13df85a zsh: add revrange completion
Brendan Cully <brendan@kublai.com>
parents: 3535
diff changeset
150 }
ef80b13df85a zsh: add revrange completion
Brendan Cully <brendan@kublai.com>
parents: 3535
diff changeset
151
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
152 _hg_tags() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
153 typeset -a tags
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
154 local tag rev
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
155
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
156 _hg_cmd tags 2> /dev/null | while read tag rev
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
157 do
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
158 tags+=($tag)
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
159 done
3534
811e6c95485c zsh: use standard tags where possible
Brendan Cully <brendan@kublai.com>
parents: 3529
diff changeset
160 (( $#tags )) && _describe -t tags 'tags' tags
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
161 }
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
162
3603
ef9c515836ae zsh: compute repository root instead of forking hg
Brendan Cully <brendan@kublai.com>
parents: 3602
diff changeset
163 _hg_files() {
ef9c515836ae zsh: compute repository root instead of forking hg
Brendan Cully <brendan@kublai.com>
parents: 3602
diff changeset
164 if [[ -n "$_hg_root" ]]
ef9c515836ae zsh: compute repository root instead of forking hg
Brendan Cully <brendan@kublai.com>
parents: 3602
diff changeset
165 then
ef9c515836ae zsh: compute repository root instead of forking hg
Brendan Cully <brendan@kublai.com>
parents: 3602
diff changeset
166 [[ -d "$_hg_root/.hg" ]] || return
ef9c515836ae zsh: compute repository root instead of forking hg
Brendan Cully <brendan@kublai.com>
parents: 3602
diff changeset
167 case "$_hg_root" in
ef9c515836ae zsh: compute repository root instead of forking hg
Brendan Cully <brendan@kublai.com>
parents: 3602
diff changeset
168 /*)
ef9c515836ae zsh: compute repository root instead of forking hg
Brendan Cully <brendan@kublai.com>
parents: 3602
diff changeset
169 _files -W $_hg_root
ef9c515836ae zsh: compute repository root instead of forking hg
Brendan Cully <brendan@kublai.com>
parents: 3602
diff changeset
170 ;;
ef9c515836ae zsh: compute repository root instead of forking hg
Brendan Cully <brendan@kublai.com>
parents: 3602
diff changeset
171 *)
ef9c515836ae zsh: compute repository root instead of forking hg
Brendan Cully <brendan@kublai.com>
parents: 3602
diff changeset
172 _files -W $PWD/$_hg_root
ef9c515836ae zsh: compute repository root instead of forking hg
Brendan Cully <brendan@kublai.com>
parents: 3602
diff changeset
173 ;;
ef9c515836ae zsh: compute repository root instead of forking hg
Brendan Cully <brendan@kublai.com>
parents: 3602
diff changeset
174 esac
ef9c515836ae zsh: compute repository root instead of forking hg
Brendan Cully <brendan@kublai.com>
parents: 3602
diff changeset
175 else
ef9c515836ae zsh: compute repository root instead of forking hg
Brendan Cully <brendan@kublai.com>
parents: 3602
diff changeset
176 _files
ef9c515836ae zsh: compute repository root instead of forking hg
Brendan Cully <brendan@kublai.com>
parents: 3602
diff changeset
177 fi
ef9c515836ae zsh: compute repository root instead of forking hg
Brendan Cully <brendan@kublai.com>
parents: 3602
diff changeset
178 }
ef9c515836ae zsh: compute repository root instead of forking hg
Brendan Cully <brendan@kublai.com>
parents: 3602
diff changeset
179
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
180 _hg_status() {
3875
729f354f3f09 zsh: better fix for partial completions
Steve Borho <steve@borho.org>
parents: 3806
diff changeset
181 [[ -d $PREFIX ]] || PREFIX=$PREFIX:h
3806
45a751d73080 zsh: fix completions with relative paths
Steve Borho <steve@borho.org>
parents: 3805
diff changeset
182 status_files=(${(ps:\0:)"$(_hg_cmd status -0n$1 ./$PREFIX 2>/dev/null)"})
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
183 }
3482
46958e428fcd zsh completion: basic mq support
Brendan Cully <brendan@kublai.com>
parents: 1544
diff changeset
184
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
185 _hg_unknown() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
186 typeset -a status_files
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
187 _hg_status u
3587
c8494fcc9d39 zsh: tab-complete status results by directory
Brendan Cully <brendan@kublai.com>
parents: 3546
diff changeset
188 _wanted files expl 'unknown files' _multi_parts / status_files
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
189 }
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
190
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
191 _hg_missing() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
192 typeset -a status_files
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
193 _hg_status d
3587
c8494fcc9d39 zsh: tab-complete status results by directory
Brendan Cully <brendan@kublai.com>
parents: 3546
diff changeset
194 _wanted files expl 'missing files' _multi_parts / status_files
c8494fcc9d39 zsh: tab-complete status results by directory
Brendan Cully <brendan@kublai.com>
parents: 3546
diff changeset
195 }
c8494fcc9d39 zsh: tab-complete status results by directory
Brendan Cully <brendan@kublai.com>
parents: 3546
diff changeset
196
c8494fcc9d39 zsh: tab-complete status results by directory
Brendan Cully <brendan@kublai.com>
parents: 3546
diff changeset
197 _hg_modified() {
c8494fcc9d39 zsh: tab-complete status results by directory
Brendan Cully <brendan@kublai.com>
parents: 3546
diff changeset
198 typeset -a status_files
c8494fcc9d39 zsh: tab-complete status results by directory
Brendan Cully <brendan@kublai.com>
parents: 3546
diff changeset
199 _hg_status m
c8494fcc9d39 zsh: tab-complete status results by directory
Brendan Cully <brendan@kublai.com>
parents: 3546
diff changeset
200 _wanted files expl 'modified files' _multi_parts / status_files
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
201 }
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
202
5309
e21644bbf01e Updated zsh completion from issue722.
Brendan Cully <brendan@kublai.com>
parents: 4448
diff changeset
203 _hg_config() {
e21644bbf01e Updated zsh completion from issue722.
Brendan Cully <brendan@kublai.com>
parents: 4448
diff changeset
204 typeset -a items
e21644bbf01e Updated zsh completion from issue722.
Brendan Cully <brendan@kublai.com>
parents: 4448
diff changeset
205 local line
e21644bbf01e Updated zsh completion from issue722.
Brendan Cully <brendan@kublai.com>
parents: 4448
diff changeset
206 items=(${${(%f)"$(_hg_cmd showconfig)"}%%\=*})
e21644bbf01e Updated zsh completion from issue722.
Brendan Cully <brendan@kublai.com>
parents: 4448
diff changeset
207 (( $#items )) && _describe -t config 'config item' items
e21644bbf01e Updated zsh completion from issue722.
Brendan Cully <brendan@kublai.com>
parents: 4448
diff changeset
208 }
e21644bbf01e Updated zsh completion from issue722.
Brendan Cully <brendan@kublai.com>
parents: 4448
diff changeset
209
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
210 _hg_addremove() {
3534
811e6c95485c zsh: use standard tags where possible
Brendan Cully <brendan@kublai.com>
parents: 3529
diff changeset
211 _alternative 'files:unknown files:_hg_unknown' \
811e6c95485c zsh: use standard tags where possible
Brendan Cully <brendan@kublai.com>
parents: 3529
diff changeset
212 'files:missing files:_hg_missing'
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
213 }
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
214
3598
27121416f9a8 zsh: complete SSH directories
Brendan Cully <brendan@kublai.com>
parents: 3597
diff changeset
215 _hg_ssh_urls() {
27121416f9a8 zsh: complete SSH directories
Brendan Cully <brendan@kublai.com>
parents: 3597
diff changeset
216 if [[ -prefix */ ]]
27121416f9a8 zsh: complete SSH directories
Brendan Cully <brendan@kublai.com>
parents: 3597
diff changeset
217 then
27121416f9a8 zsh: complete SSH directories
Brendan Cully <brendan@kublai.com>
parents: 3597
diff changeset
218 if zstyle -T ":completion:${curcontext}:files" remote-access
27121416f9a8 zsh: complete SSH directories
Brendan Cully <brendan@kublai.com>
parents: 3597
diff changeset
219 then
27121416f9a8 zsh: complete SSH directories
Brendan Cully <brendan@kublai.com>
parents: 3597
diff changeset
220 local host=${PREFIX%%/*}
27121416f9a8 zsh: complete SSH directories
Brendan Cully <brendan@kublai.com>
parents: 3597
diff changeset
221 typeset -a remdirs
27121416f9a8 zsh: complete SSH directories
Brendan Cully <brendan@kublai.com>
parents: 3597
diff changeset
222 compset -p $(( $#host + 1 ))
27121416f9a8 zsh: complete SSH directories
Brendan Cully <brendan@kublai.com>
parents: 3597
diff changeset
223 local rempath=${(M)PREFIX##*/}
3602
ec221317e018 zsh: complete users in ssh URLS
Brendan Cully <brendan@kublai.com>
parents: 3601
diff changeset
224 local cacheid="hg:${host}-${rempath//\//_}"
ec221317e018 zsh: complete users in ssh URLS
Brendan Cully <brendan@kublai.com>
parents: 3601
diff changeset
225 cacheid=${cacheid%[-_]}
3598
27121416f9a8 zsh: complete SSH directories
Brendan Cully <brendan@kublai.com>
parents: 3597
diff changeset
226 compset -P '*/'
3600
932dadd2e614 zsh: add optional remote directory cache
Brendan Cully <brendan@kublai.com>
parents: 3598
diff changeset
227 if _cache_invalid "$cacheid" || ! _retrieve_cache "$cacheid"
932dadd2e614 zsh: add optional remote directory cache
Brendan Cully <brendan@kublai.com>
parents: 3598
diff changeset
228 then
932dadd2e614 zsh: add optional remote directory cache
Brendan Cully <brendan@kublai.com>
parents: 3598
diff changeset
229 remdirs=(${${(M)${(f)"$(_call_program files ssh -a -x $host ls -1FL "${(q)rempath}" 2> /dev/null)"}##*/}%/})
932dadd2e614 zsh: add optional remote directory cache
Brendan Cully <brendan@kublai.com>
parents: 3598
diff changeset
230 _store_cache "$cacheid" remdirs
932dadd2e614 zsh: add optional remote directory cache
Brendan Cully <brendan@kublai.com>
parents: 3598
diff changeset
231 fi
3598
27121416f9a8 zsh: complete SSH directories
Brendan Cully <brendan@kublai.com>
parents: 3597
diff changeset
232 _describe -t directories 'remote directory' remdirs -S/
27121416f9a8 zsh: complete SSH directories
Brendan Cully <brendan@kublai.com>
parents: 3597
diff changeset
233 else
27121416f9a8 zsh: complete SSH directories
Brendan Cully <brendan@kublai.com>
parents: 3597
diff changeset
234 _message 'remote directory'
27121416f9a8 zsh: complete SSH directories
Brendan Cully <brendan@kublai.com>
parents: 3597
diff changeset
235 fi
27121416f9a8 zsh: complete SSH directories
Brendan Cully <brendan@kublai.com>
parents: 3597
diff changeset
236 else
3602
ec221317e018 zsh: complete users in ssh URLS
Brendan Cully <brendan@kublai.com>
parents: 3601
diff changeset
237 if compset -P '*@'
ec221317e018 zsh: complete users in ssh URLS
Brendan Cully <brendan@kublai.com>
parents: 3601
diff changeset
238 then
ec221317e018 zsh: complete users in ssh URLS
Brendan Cully <brendan@kublai.com>
parents: 3601
diff changeset
239 _hosts -S/
ec221317e018 zsh: complete users in ssh URLS
Brendan Cully <brendan@kublai.com>
parents: 3601
diff changeset
240 else
ec221317e018 zsh: complete users in ssh URLS
Brendan Cully <brendan@kublai.com>
parents: 3601
diff changeset
241 _alternative 'hosts:remote host name:_hosts -S/' \
ec221317e018 zsh: complete users in ssh URLS
Brendan Cully <brendan@kublai.com>
parents: 3601
diff changeset
242 'users:user:_users -S@'
ec221317e018 zsh: complete users in ssh URLS
Brendan Cully <brendan@kublai.com>
parents: 3601
diff changeset
243 fi
3598
27121416f9a8 zsh: complete SSH directories
Brendan Cully <brendan@kublai.com>
parents: 3597
diff changeset
244 fi
27121416f9a8 zsh: complete SSH directories
Brendan Cully <brendan@kublai.com>
parents: 3597
diff changeset
245 }
27121416f9a8 zsh: complete SSH directories
Brendan Cully <brendan@kublai.com>
parents: 3597
diff changeset
246
3546
6106236bc4eb zsh: support remote URLs
Brendan Cully <brendan@kublai.com>
parents: 3545
diff changeset
247 _hg_urls() {
6106236bc4eb zsh: support remote URLs
Brendan Cully <brendan@kublai.com>
parents: 3545
diff changeset
248 if compset -P bundle://
6106236bc4eb zsh: support remote URLs
Brendan Cully <brendan@kublai.com>
parents: 3545
diff changeset
249 then
6106236bc4eb zsh: support remote URLs
Brendan Cully <brendan@kublai.com>
parents: 3545
diff changeset
250 _files
3598
27121416f9a8 zsh: complete SSH directories
Brendan Cully <brendan@kublai.com>
parents: 3597
diff changeset
251 elif compset -P ssh://
27121416f9a8 zsh: complete SSH directories
Brendan Cully <brendan@kublai.com>
parents: 3597
diff changeset
252 then
27121416f9a8 zsh: complete SSH directories
Brendan Cully <brendan@kublai.com>
parents: 3597
diff changeset
253 _hg_ssh_urls
3546
6106236bc4eb zsh: support remote URLs
Brendan Cully <brendan@kublai.com>
parents: 3545
diff changeset
254 elif [[ -prefix *: ]]
6106236bc4eb zsh: support remote URLs
Brendan Cully <brendan@kublai.com>
parents: 3545
diff changeset
255 then
6106236bc4eb zsh: support remote URLs
Brendan Cully <brendan@kublai.com>
parents: 3545
diff changeset
256 _urls
6106236bc4eb zsh: support remote URLs
Brendan Cully <brendan@kublai.com>
parents: 3545
diff changeset
257 else
6106236bc4eb zsh: support remote URLs
Brendan Cully <brendan@kublai.com>
parents: 3545
diff changeset
258 local expl
6106236bc4eb zsh: support remote URLs
Brendan Cully <brendan@kublai.com>
parents: 3545
diff changeset
259 compset -S '[^:]*'
6106236bc4eb zsh: support remote URLs
Brendan Cully <brendan@kublai.com>
parents: 3545
diff changeset
260 _wanted url-schemas expl 'URL schema' compadd -S '' - \
6106236bc4eb zsh: support remote URLs
Brendan Cully <brendan@kublai.com>
parents: 3545
diff changeset
261 http:// https:// ssh:// bundle://
6106236bc4eb zsh: support remote URLs
Brendan Cully <brendan@kublai.com>
parents: 3545
diff changeset
262 fi
6106236bc4eb zsh: support remote URLs
Brendan Cully <brendan@kublai.com>
parents: 3545
diff changeset
263 }
6106236bc4eb zsh: support remote URLs
Brendan Cully <brendan@kublai.com>
parents: 3545
diff changeset
264
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
265 _hg_paths() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
266 typeset -a paths pnames
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
267 _hg_cmd paths 2> /dev/null | while read -A pnames
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
268 do
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
269 paths+=($pnames[1])
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
270 done
3546
6106236bc4eb zsh: support remote URLs
Brendan Cully <brendan@kublai.com>
parents: 3545
diff changeset
271 (( $#paths )) && _describe -t path-aliases 'repository alias' paths
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
272 }
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
273
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
274 _hg_remote() {
3546
6106236bc4eb zsh: support remote URLs
Brendan Cully <brendan@kublai.com>
parents: 3545
diff changeset
275 _alternative 'path-aliases:repository alias:_hg_paths' \
6106236bc4eb zsh: support remote URLs
Brendan Cully <brendan@kublai.com>
parents: 3545
diff changeset
276 'directories:directory:_files -/' \
3598
27121416f9a8 zsh: complete SSH directories
Brendan Cully <brendan@kublai.com>
parents: 3597
diff changeset
277 'urls:URL:_hg_urls'
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
278 }
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
279
3601
cedf056bb723 zsh: support remote cloning
Brendan Cully <brendan@kublai.com>
parents: 3600
diff changeset
280 _hg_clone_dest() {
cedf056bb723 zsh: support remote cloning
Brendan Cully <brendan@kublai.com>
parents: 3600
diff changeset
281 _alternative 'directories:directory:_files -/' \
cedf056bb723 zsh: support remote cloning
Brendan Cully <brendan@kublai.com>
parents: 3600
diff changeset
282 'urls:URL:_hg_urls'
cedf056bb723 zsh: support remote cloning
Brendan Cully <brendan@kublai.com>
parents: 3600
diff changeset
283 }
cedf056bb723 zsh: support remote cloning
Brendan Cully <brendan@kublai.com>
parents: 3600
diff changeset
284
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
285 # Common options
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
286 _hg_global_opts=(
3517
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
287 '(--repository -R)'{-R+,--repository}'[repository root directory]:repository:_files -/'
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
288 '--cwd[change working directory]:new working directory:_files -/'
3517
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
289 '(--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: 3511
diff changeset
290 '(--verbose -v)'{-v,--verbose}'[enable additional output]'
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
291 '(--quiet -q)'{-q,--quiet}'[suppress output]'
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
292 '(--help -h)'{-h,--help}'[display help and exit]'
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
293 '--debug[debug mode]'
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
294 '--debugger[start debugger]'
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
295 '--traceback[print traceback on exception]'
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
296 '--time[time how long the command takes]'
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
297 '--profile[profile]'
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
298 '--version[output version information and exit]'
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
299 )
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
300
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
301 _hg_pat_opts=(
3517
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
302 '*'{-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: 3511
diff changeset
303 '*'{-X+,--exclude}'[exclude names matching the given patterns]:dir:_files -W $(_hg_cmd root) -/')
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
304
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
305 _hg_diff_opts=(
3517
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
306 '(--text -a)'{-a,--text}'[treat all files as text]'
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
307 '(--git -g)'{-g,--git}'[use git extended diff format]'
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
308 "--nodates[don't include dates in diff headers]")
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
309
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
310 _hg_dryrun_opts=(
3517
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
311 '(--dry-run -n)'{-n,--dry-run}'[do not perform actions, just print output]')
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
312
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
313 _hg_style_opts=(
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
314 '--style[display using template map file]:'
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
315 '--template[display with template]:')
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
316
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
317 _hg_commit_opts=(
3517
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
318 '(-m --message -l --logfile --edit -e)'{-e,--edit}'[edit commit message]'
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
319 '(-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: 3511
diff changeset
320 '(-e --edit -m --message --logfile -l)'{-l+,--logfile}'[read the commit message from <file>]:log file:_files')
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
321
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
322 _hg_remote_opts=(
3517
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
323 '(--ssh -e)'{-e+,--ssh}'[specify ssh command to use]:'
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
324 '--remotecmd[specify hg command to run on the remote side]:')
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
325
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
326 _hg_cmd() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
327 _call_program hg hg "$_hg_cmd_globals[@]" "$@"
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
328 }
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
329
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
330 _hg_cmd_add() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
331 _arguments -s -w : $_hg_global_opts $_hg_pat_opts $_hg_dryrun_opts \
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
332 '*:unknown files:_hg_unknown'
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
333 }
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
334
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
335 _hg_cmd_addremove() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
336 _arguments -s -w : $_hg_global_opts $_hg_pat_opts $_hg_dryrun_opts \
3517
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
337 '(--similarity -s)'{-s+,--similarity}'[guess renamed files by similarity (0<=s<=100)]:' \
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
338 '*:unknown or missing files:_hg_addremove'
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
339 }
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
340
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
341 _hg_cmd_annotate() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
342 _arguments -s -w : $_hg_global_opts $_hg_pat_opts \
3517
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
343 '(--rev -r)'{-r+,--rev}'[annotate the specified revision]:revision:_hg_tags' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
344 '(--follow -f)'{-f,--follow}'[follow file copies and renames]' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
345 '(--text -a)'{-a,--text}'[treat all files as text]' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
346 '(--user -u)'{-u,--user}'[list the author]' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
347 '(--date -d)'{-d,--date}'[list the date]' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
348 '(--number -n)'{-n,--number}'[list the revision number (default)]' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
349 '(--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
350 '*:files:_hg_files'
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
351 }
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
352
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
353 _hg_cmd_archive() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
354 _arguments -s -w : $_hg_global_opts $_hg_pat_opts \
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
355 '--no-decode[do not pass files through decoders]' \
3517
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
356 '(--prefix -p)'{-p+,--prefix}'[directory prefix for files in archive]:' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
357 '(--rev -r)'{-r+,--rev}'[revision to distribute]:revision:_hg_tags' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
358 '(--type -t)'{-t+,--type}'[type of distribution to create]:archive type:(files tar tbz2 tgz uzip zip)' \
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
359 '*:destination:_files'
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
360 }
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
361
5309
e21644bbf01e Updated zsh completion from issue722.
Brendan Cully <brendan@kublai.com>
parents: 4448
diff changeset
362 _hg_cmd_backout() {
e21644bbf01e Updated zsh completion from issue722.
Brendan Cully <brendan@kublai.com>
parents: 4448
diff changeset
363 _arguments -s -w : $_hg_global_opts $_hg_pat_opts \
e21644bbf01e Updated zsh completion from issue722.
Brendan Cully <brendan@kublai.com>
parents: 4448
diff changeset
364 '--merge[merge with old dirstate parent after backout]' \
e21644bbf01e Updated zsh completion from issue722.
Brendan Cully <brendan@kublai.com>
parents: 4448
diff changeset
365 '(--date -d)'{-d+,--date}'[record datecode as commit date]:date code:' \
e21644bbf01e Updated zsh completion from issue722.
Brendan Cully <brendan@kublai.com>
parents: 4448
diff changeset
366 '--parent[parent to choose when backing out merge]' \
e21644bbf01e Updated zsh completion from issue722.
Brendan Cully <brendan@kublai.com>
parents: 4448
diff changeset
367 '(--user -u)'{-u+,--user}'[record user as commiter]:user:' \
e21644bbf01e Updated zsh completion from issue722.
Brendan Cully <brendan@kublai.com>
parents: 4448
diff changeset
368 '(--rev -r)'{-r+,--rev}'[revision]:revision:_hg_tags' \
e21644bbf01e Updated zsh completion from issue722.
Brendan Cully <brendan@kublai.com>
parents: 4448
diff changeset
369 '(--message -m)'{-m+,--message}'[use <text> as commit message]:text:' \
e21644bbf01e Updated zsh completion from issue722.
Brendan Cully <brendan@kublai.com>
parents: 4448
diff changeset
370 '(--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: 4448
diff changeset
371 }
e21644bbf01e Updated zsh completion from issue722.
Brendan Cully <brendan@kublai.com>
parents: 4448
diff changeset
372
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
373 _hg_cmd_bundle() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
374 _arguments -s -w : $_hg_global_opts $_hg_remote_opts \
3517
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
375 '(--force -f)'{-f,--force}'[run even when remote repository is unrelated]' \
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
376 '(2)*--base[a base changeset to specify instead of a destination]:revision:_hg_tags' \
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
377 ':output file:_files' \
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
378 ':destination repository:_files -/'
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
379 }
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
380
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
381 _hg_cmd_cat() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
382 _arguments -s -w : $_hg_global_opts $_hg_pat_opts \
3517
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
383 '(--output -o)'{-o+,--output}'[print output to file with formatted name]:filespec:' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
384 '(--rev -r)'{-r+,--rev}'[revision]:revision:_hg_tags' \
3603
ef9c515836ae zsh: compute repository root instead of forking hg
Brendan Cully <brendan@kublai.com>
parents: 3602
diff changeset
385 '*:file:_hg_files'
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
386 }
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
387
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
388 _hg_cmd_clone() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
389 _arguments -s -w : $_hg_global_opts $_hg_remote_opts \
3517
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
390 '(--noupdate -U)'{-U,--noupdate}'[do not update the new working directory]' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
391 '(--rev -r)'{-r+,--rev}'[a changeset you would like to have after cloning]:' \
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
392 '--uncompressed[use uncompressed transfer (fast over LAN)]' \
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
393 ':source repository:_hg_remote' \
3601
cedf056bb723 zsh: support remote cloning
Brendan Cully <brendan@kublai.com>
parents: 3600
diff changeset
394 ':destination:_hg_clone_dest'
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
395 }
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
396
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
397 _hg_cmd_commit() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
398 _arguments -s -w : $_hg_global_opts $_hg_pat_opts \
3629
adbf440a81e0 zsh: typo in commit completion
Brendan Cully <brendan@kublai.com>
parents: 3605
diff changeset
399 '(--addremove -A)'{-A,--addremove}'[mark new/missing files as added/removed before committing]' \
3517
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
400 '(--message -m)'{-m+,--message}'[use <text> as commit message]:text:' \
4448
2d3379c598c1 Fix issue 563: error in _hg_commit in the contrib/zsh_completion script.
Henri Precheur <henry@precheur.org>
parents: 3875
diff changeset
401 '(--logfile -l)'{-l+,--logfile}'[read commit message from <file>]:log file:_files -g \*.txt' \
3517
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
402 '(--date -d)'{-d+,--date}'[record datecode as commit date]:date code:' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
403 '(--user -u)'{-u+,--user}'[record user as commiter]:user:' \
3603
ef9c515836ae zsh: compute repository root instead of forking hg
Brendan Cully <brendan@kublai.com>
parents: 3602
diff changeset
404 '*:file:_hg_files'
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
405 }
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
406
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
407 _hg_cmd_copy() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
408 _arguments -s -w : $_hg_global_opts $_hg_pat_opts $_hg_dryrun_opts \
3517
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
409 '(--after -A)'{-A,--after}'[record a copy that has already occurred]' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
410 '(--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
411 '*:file:_hg_files'
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
412 }
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
413
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
414 _hg_cmd_diff() {
3587
c8494fcc9d39 zsh: tab-complete status results by directory
Brendan Cully <brendan@kublai.com>
parents: 3546
diff changeset
415 typeset -A opt_args
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
416 _arguments -s -w : $_hg_global_opts $_hg_pat_opts $_hg_diff_opts \
3536
ef80b13df85a zsh: add revrange completion
Brendan Cully <brendan@kublai.com>
parents: 3535
diff changeset
417 '*'{-r,--rev}'+[revision]:revision:_hg_revrange' \
3517
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
418 '(--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: 3511
diff changeset
419 '(--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: 3511
diff changeset
420 '(--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: 3511
diff changeset
421 '(--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: 3546
diff changeset
422 '*:file:->diff_files'
c8494fcc9d39 zsh: tab-complete status results by directory
Brendan Cully <brendan@kublai.com>
parents: 3546
diff changeset
423
c8494fcc9d39 zsh: tab-complete status results by directory
Brendan Cully <brendan@kublai.com>
parents: 3546
diff changeset
424 if [[ $state == 'diff_files' ]]
c8494fcc9d39 zsh: tab-complete status results by directory
Brendan Cully <brendan@kublai.com>
parents: 3546
diff changeset
425 then
c8494fcc9d39 zsh: tab-complete status results by directory
Brendan Cully <brendan@kublai.com>
parents: 3546
diff changeset
426 if [[ -n $opt_args[-r] ]]
c8494fcc9d39 zsh: tab-complete status results by directory
Brendan Cully <brendan@kublai.com>
parents: 3546
diff changeset
427 then
3603
ef9c515836ae zsh: compute repository root instead of forking hg
Brendan Cully <brendan@kublai.com>
parents: 3602
diff changeset
428 _hg_files
3587
c8494fcc9d39 zsh: tab-complete status results by directory
Brendan Cully <brendan@kublai.com>
parents: 3546
diff changeset
429 else
c8494fcc9d39 zsh: tab-complete status results by directory
Brendan Cully <brendan@kublai.com>
parents: 3546
diff changeset
430 _hg_modified
c8494fcc9d39 zsh: tab-complete status results by directory
Brendan Cully <brendan@kublai.com>
parents: 3546
diff changeset
431 fi
c8494fcc9d39 zsh: tab-complete status results by directory
Brendan Cully <brendan@kublai.com>
parents: 3546
diff changeset
432 fi
3482
46958e428fcd zsh completion: basic mq support
Brendan Cully <brendan@kublai.com>
parents: 1544
diff changeset
433 }
1362
246e1a00af6f zsh completion function for hg
Steve Borho <steve@borho.org>
parents:
diff changeset
434
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
435 _hg_cmd_export() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
436 _arguments -s -w : $_hg_global_opts $_hg_diff_opts \
3517
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
437 '(--outout -o)'{-o+,--output}'[print output to file with formatted name]:filespec:' \
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
438 '--switch-parent[diff against the second parent]' \
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
439 '*:revision:_hg_tags'
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
440 }
3482
46958e428fcd zsh completion: basic mq support
Brendan Cully <brendan@kublai.com>
parents: 1544
diff changeset
441
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
442 _hg_cmd_grep() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
443 _arguments -s -w : $_hg_global_opts $_hg_pat_opts \
3517
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
444 '(--print0 -0)'{-0,--print0}'[end filenames with NUL]' \
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
445 '--all[print all revisions with matches]' \
3517
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
446 '(--follow -f)'{-f,--follow}'[follow changeset or file history]' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
447 '(--ignore-case -i)'{-i,--ignore-case}'[ignore case when matching]' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
448 '(--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: 3511
diff changeset
449 '(--line-number -n)'{-n,--line-number}'[print matching line numbers]' \
3536
ef80b13df85a zsh: add revrange completion
Brendan Cully <brendan@kublai.com>
parents: 3535
diff changeset
450 '*'{-r+,--rev}'[search in given revision range]:revision:_hg_revrange' \
3517
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
451 '(--user -u)'{-u,--user}'[print user who committed change]' \
5309
e21644bbf01e Updated zsh completion from issue722.
Brendan Cully <brendan@kublai.com>
parents: 4448
diff changeset
452 '1:search pattern:' \
e21644bbf01e Updated zsh completion from issue722.
Brendan Cully <brendan@kublai.com>
parents: 4448
diff changeset
453 '*:files:_hg_files'
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
454 }
1362
246e1a00af6f zsh completion function for hg
Steve Borho <steve@borho.org>
parents:
diff changeset
455
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
456 _hg_cmd_heads() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
457 _arguments -s -w : $_hg_global_opts $_hg_style_opts \
3517
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
458 '(--rev -r)'{-r+,--rev}'[show only heads which are descendants of rev]:revision:_hg_tags'
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
459 }
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
460
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
461 _hg_cmd_help() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
462 _arguments -s -w : $_hg_global_opts \
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
463 '*:mercurial command:_hg_commands'
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
464 }
1362
246e1a00af6f zsh completion function for hg
Steve Borho <steve@borho.org>
parents:
diff changeset
465
5309
e21644bbf01e Updated zsh completion from issue722.
Brendan Cully <brendan@kublai.com>
parents: 4448
diff changeset
466 _hg_cmd_identify() {
e21644bbf01e Updated zsh completion from issue722.
Brendan Cully <brendan@kublai.com>
parents: 4448
diff changeset
467 _arguments -s -w : $_hg_global_opts \
e21644bbf01e Updated zsh completion from issue722.
Brendan Cully <brendan@kublai.com>
parents: 4448
diff changeset
468 '(--rev -r)'{-r+,--rev}'[identify the specified rev]:revision:_hg_tags' \
e21644bbf01e Updated zsh completion from issue722.
Brendan Cully <brendan@kublai.com>
parents: 4448
diff changeset
469 '(--num -n)'{-n+,--num}'[show local revision number]' \
e21644bbf01e Updated zsh completion from issue722.
Brendan Cully <brendan@kublai.com>
parents: 4448
diff changeset
470 '(--id -i)'{-i+,--id}'[show global revision id]' \
e21644bbf01e Updated zsh completion from issue722.
Brendan Cully <brendan@kublai.com>
parents: 4448
diff changeset
471 '(--branch -b)'{-b+,--branch}'[show branch]' \
e21644bbf01e Updated zsh completion from issue722.
Brendan Cully <brendan@kublai.com>
parents: 4448
diff changeset
472 '(--tags -t)'{-t+,--tags}'[show tags]'
e21644bbf01e Updated zsh completion from issue722.
Brendan Cully <brendan@kublai.com>
parents: 4448
diff changeset
473 }
e21644bbf01e Updated zsh completion from issue722.
Brendan Cully <brendan@kublai.com>
parents: 4448
diff changeset
474
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
475 _hg_cmd_import() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
476 _arguments -s -w : $_hg_global_opts \
3517
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
477 '(--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: 3511
diff changeset
478 '(--message -m)'{-m+,--message}'[use <text> as commit message]:text:' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
479 '(--force -f)'{-f,--force}'[skip check for outstanding uncommitted changes]' \
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
480 '*:patch:_files'
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
481 }
1438
c22da894e4cc zsh completions: new -M, -m arguments for log, etc.
Steve Borho <steve@borho.org>
parents: 1368
diff changeset
482
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
483 _hg_cmd_incoming() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
484 _arguments -s -w : $_hg_global_opts $_hg_remote_opts $_hg_style_opts \
3517
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
485 '(--no-merges -M)'{-M,--no-merges}'[do not show merge revisions]' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
486 '(--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: 3511
diff changeset
487 '(--patch -p)'{-p,--patch}'[show patch]' \
5309
e21644bbf01e Updated zsh completion from issue722.
Brendan Cully <brendan@kublai.com>
parents: 4448
diff changeset
488 '(--rev -r)'{-r+,--rev}'[a specific revision up to which you would like to pull]:revision:_hg_tags' \
3517
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
489 '(--newest-first -n)'{-n,--newest-first}'[show newest record first]' \
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
490 '--bundle[file to store the bundles into]:bundle file:_files' \
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
491 ':source:_hg_remote'
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
492 }
1438
c22da894e4cc zsh completions: new -M, -m arguments for log, etc.
Steve Borho <steve@borho.org>
parents: 1368
diff changeset
493
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
494 _hg_cmd_init() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
495 _arguments -s -w : $_hg_global_opts $_hg_remote_opts \
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
496 ':dir:_files -/'
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
497 }
1438
c22da894e4cc zsh completions: new -M, -m arguments for log, etc.
Steve Borho <steve@borho.org>
parents: 1368
diff changeset
498
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
499 _hg_cmd_locate() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
500 _arguments -s -w : $_hg_global_opts $_hg_pat_opts \
3517
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
501 '(--rev -r)'{-r+,--rev}'[search repository as it stood at revision]:revision:_hg_tags' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
502 '(--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: 3511
diff changeset
503 '(--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
504 '*:search pattern:_hg_files'
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
505 }
1438
c22da894e4cc zsh completions: new -M, -m arguments for log, etc.
Steve Borho <steve@borho.org>
parents: 1368
diff changeset
506
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
507 _hg_cmd_log() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
508 _arguments -s -w : $_hg_global_opts $_hg_pat_opts $_hg_style_opts \
3517
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
509 '(--follow --follow-first -f)'{-f,--follow}'[follow changeset or history]' \
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
510 '(-f --follow)--follow-first[only follow the first parent of merge changesets]' \
3517
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
511 '(--copies -C)'{-C,--copies}'[show copied files]' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
512 '(--keyword -k)'{-k+,--keyword}'[search for a keyword]:' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
513 '(--limit -l)'{-l+,--limit}'[limit number of changes displayed]:' \
3536
ef80b13df85a zsh: add revrange completion
Brendan Cully <brendan@kublai.com>
parents: 3535
diff changeset
514 '*'{-r,--rev}'[show the specified revision or range]:revision:_hg_revrange' \
3517
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
515 '(--no-merges -M)'{-M,--no-merges}'[do not show merges]' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
516 '(--only-merges -m)'{-m,--only-merges}'[show only merges]' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
517 '(--patch -p)'{-p,--patch}'[show patch]' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
518 '(--prune -P)'{-P+,--prune}'[do not display revision or any of its ancestors]:revision:_hg_tags' \
3603
ef9c515836ae zsh: compute repository root instead of forking hg
Brendan Cully <brendan@kublai.com>
parents: 3602
diff changeset
519 '*:files:_hg_files'
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
520 }
1438
c22da894e4cc zsh completions: new -M, -m arguments for log, etc.
Steve Borho <steve@borho.org>
parents: 1368
diff changeset
521
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
522 _hg_cmd_manifest() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
523 _arguments -s -w : $_hg_global_opts \
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
524 ':revision:_hg_tags'
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
525 }
1438
c22da894e4cc zsh completions: new -M, -m arguments for log, etc.
Steve Borho <steve@borho.org>
parents: 1368
diff changeset
526
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
527 _hg_cmd_outgoing() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
528 _arguments -s -w : $_hg_global_opts $_hg_remote_opts $_hg_style_opts \
3517
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
529 '(--no-merges -M)'{-M,--no-merges}'[do not show merge revisions]' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
530 '(--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: 3511
diff changeset
531 '(--patch -p)'{-p,--patch}'[show patch]' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
532 '(--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: 3511
diff changeset
533 '(--newest-first -n)'{-n,--newest-first}'[show newest record first]' \
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
534 ':destination:_hg_remote'
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
535 }
1438
c22da894e4cc zsh completions: new -M, -m arguments for log, etc.
Steve Borho <steve@borho.org>
parents: 1368
diff changeset
536
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
537 _hg_cmd_parents() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
538 _arguments -s -w : $_hg_global_opts $_hg_style_opts \
3517
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
539 '(--rev -r)'{-r+,--rev}'[show parents of the specified rev]:revision:_hg_tags' \
5309
e21644bbf01e Updated zsh completion from issue722.
Brendan Cully <brendan@kublai.com>
parents: 4448
diff changeset
540 ':last modified file:_hg_files'
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
541 }
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
542
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
543 _hg_cmd_paths() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
544 _arguments -s -w : $_hg_global_opts \
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
545 ':path:_hg_paths'
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
546 }
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
547
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
548 _hg_cmd_pull() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
549 _arguments -s -w : $_hg_global_opts $_hg_remote_opts \
3517
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
550 '(--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: 3511
diff changeset
551 '(--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: 4448
diff changeset
552 '(--rev -r)'{-r+,--rev}'[a specific revision up to which you would like to pull]:revision:' \
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
553 ':source:_hg_remote'
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
554 }
1438
c22da894e4cc zsh completions: new -M, -m arguments for log, etc.
Steve Borho <steve@borho.org>
parents: 1368
diff changeset
555
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
556 _hg_cmd_push() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
557 _arguments -s -w : $_hg_global_opts $_hg_remote_opts \
3517
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
558 '(--force -f)'{-f,--force}'[force push]' \
5309
e21644bbf01e Updated zsh completion from issue722.
Brendan Cully <brendan@kublai.com>
parents: 4448
diff changeset
559 '(--rev -r)'{-r+,--rev}'[a specific revision you would like to push]:revision:_hg_tags' \
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
560 ':destination:_hg_remote'
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
561 }
1438
c22da894e4cc zsh completions: new -M, -m arguments for log, etc.
Steve Borho <steve@borho.org>
parents: 1368
diff changeset
562
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
563 _hg_cmd_remove() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
564 _arguments -s -w : $_hg_global_opts $_hg_pat_opts \
3517
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
565 '(--after -A)'{-A,--after}'[record remove that has already occurred]' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
566 '(--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
567 '*:file:_hg_files'
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
568 }
1438
c22da894e4cc zsh completions: new -M, -m arguments for log, etc.
Steve Borho <steve@borho.org>
parents: 1368
diff changeset
569
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
570 _hg_cmd_rename() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
571 _arguments -s -w : $_hg_global_opts $_hg_pat_opts $_hg_dryrun_opts \
3517
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
572 '(--after -A)'{-A,--after}'[record a rename that has already occurred]' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
573 '(--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
574 '*:file:_hg_files'
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
575 }
1362
246e1a00af6f zsh completion function for hg
Steve Borho <steve@borho.org>
parents:
diff changeset
576
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
577 _hg_cmd_revert() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
578 _arguments -s -w : $_hg_global_opts $_hg_pat_opts $_hg_dryrun_opts \
3517
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
579 '(--all -a :)'{-a,--all}'[revert all changes when no arguments given]' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
580 '(--rev -r)'{-r+,--rev}'[revision to revert to]:revision:_hg_tags' \
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
581 '--no-backup[do not save backup copies of files]' \
3587
c8494fcc9d39 zsh: tab-complete status results by directory
Brendan Cully <brendan@kublai.com>
parents: 3546
diff changeset
582 '*:file:->diff_files'
c8494fcc9d39 zsh: tab-complete status results by directory
Brendan Cully <brendan@kublai.com>
parents: 3546
diff changeset
583
c8494fcc9d39 zsh: tab-complete status results by directory
Brendan Cully <brendan@kublai.com>
parents: 3546
diff changeset
584 if [[ $state == 'diff_files' ]]
c8494fcc9d39 zsh: tab-complete status results by directory
Brendan Cully <brendan@kublai.com>
parents: 3546
diff changeset
585 then
c8494fcc9d39 zsh: tab-complete status results by directory
Brendan Cully <brendan@kublai.com>
parents: 3546
diff changeset
586 if [[ -n $opt_args[-r] ]]
c8494fcc9d39 zsh: tab-complete status results by directory
Brendan Cully <brendan@kublai.com>
parents: 3546
diff changeset
587 then
3603
ef9c515836ae zsh: compute repository root instead of forking hg
Brendan Cully <brendan@kublai.com>
parents: 3602
diff changeset
588 _hg_files
3587
c8494fcc9d39 zsh: tab-complete status results by directory
Brendan Cully <brendan@kublai.com>
parents: 3546
diff changeset
589 else
c8494fcc9d39 zsh: tab-complete status results by directory
Brendan Cully <brendan@kublai.com>
parents: 3546
diff changeset
590 typeset -a status_files
c8494fcc9d39 zsh: tab-complete status results by directory
Brendan Cully <brendan@kublai.com>
parents: 3546
diff changeset
591 _hg_status mard
c8494fcc9d39 zsh: tab-complete status results by directory
Brendan Cully <brendan@kublai.com>
parents: 3546
diff changeset
592 _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: 3546
diff changeset
593 fi
c8494fcc9d39 zsh: tab-complete status results by directory
Brendan Cully <brendan@kublai.com>
parents: 3546
diff changeset
594 fi
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
595 }
1438
c22da894e4cc zsh completions: new -M, -m arguments for log, etc.
Steve Borho <steve@borho.org>
parents: 1368
diff changeset
596
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
597 _hg_cmd_serve() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
598 _arguments -s -w : $_hg_global_opts \
3517
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
599 '(--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: 3511
diff changeset
600 '(--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: 3511
diff changeset
601 '(--daemon -d)'{-d,--daemon}'[run server in background]' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
602 '(--port -p)'{-p+,--port}'[listen port]:listen port:' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
603 '(--address -a)'{-a+,--address}'[interface address]:interface address:' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
604 '(--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: 3511
diff changeset
605 '(--templates -t)'{-t,--templates}'[web template directory]:template dir:_files -/' \
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
606 '--style[web template style]:style' \
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
607 '--stdio[for remote clients]' \
3517
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
608 '(--ipv6 -6)'{-6,--ipv6}'[use IPv6 in addition to IPv4]'
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
609 }
1438
c22da894e4cc zsh completions: new -M, -m arguments for log, etc.
Steve Borho <steve@borho.org>
parents: 1368
diff changeset
610
5309
e21644bbf01e Updated zsh completion from issue722.
Brendan Cully <brendan@kublai.com>
parents: 4448
diff changeset
611 _hg_cmd_showconfig() {
e21644bbf01e Updated zsh completion from issue722.
Brendan Cully <brendan@kublai.com>
parents: 4448
diff changeset
612 _arguments -s -w : $_hg_global_opts \
e21644bbf01e Updated zsh completion from issue722.
Brendan Cully <brendan@kublai.com>
parents: 4448
diff changeset
613 '(--untrusted -u)'{-u+,--untrusted}'[show untrusted configuration options]' \
e21644bbf01e Updated zsh completion from issue722.
Brendan Cully <brendan@kublai.com>
parents: 4448
diff changeset
614 ':config item:_hg_config'
e21644bbf01e Updated zsh completion from issue722.
Brendan Cully <brendan@kublai.com>
parents: 4448
diff changeset
615 }
e21644bbf01e Updated zsh completion from issue722.
Brendan Cully <brendan@kublai.com>
parents: 4448
diff changeset
616
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
617 _hg_cmd_status() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
618 _arguments -s -w : $_hg_global_opts $_hg_pat_opts \
3517
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
619 '(--all -A)'{-A,--all}'[show status of all files]' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
620 '(--modified -m)'{-m,--modified}'[show only modified files]' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
621 '(--added -a)'{-a,--added}'[show only added files]' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
622 '(--removed -r)'{-r,--removed}'[show only removed files]' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
623 '(--deleted -d)'{-d,--deleted}'[show only deleted (but tracked) files]' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
624 '(--clean -c)'{-c,--clean}'[show only files without changes]' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
625 '(--unknown -u)'{-u,--unknown}'[show only unknown files]' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
626 '(--ignored -i)'{-i,--ignored}'[show ignored files]' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
627 '(--no-status -n)'{-n,--no-status}'[hide status prefix]' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
628 '(--copies -C)'{-C,--copies}'[show source of copied files]' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
629 '(--print0 -0)'{-0,--print0}'[end filenames with NUL, for use with xargs]' \
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
630 '--rev[show difference from revision]:revision:_hg_tags' \
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
631 '*:files:_files'
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
632 }
1438
c22da894e4cc zsh completions: new -M, -m arguments for log, etc.
Steve Borho <steve@borho.org>
parents: 1368
diff changeset
633
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
634 _hg_cmd_tag() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
635 _arguments -s -w : $_hg_global_opts \
3517
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
636 '(--local -l)'{-l,--local}'[make the tag local]' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
637 '(--message -m)'{-m+,--message}'[message for tag commit log entry]:message:' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
638 '(--date -d)'{-d+,--date}'[record datecode as commit date]:date code:' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
639 '(--user -u)'{-u+,--user}'[record user as commiter]:user:' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
640 '(--rev -r)'{-r+,--rev}'[revision to tag]:revision:_hg_tags' \
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
641 ':tag name:'
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
642 }
1438
c22da894e4cc zsh completions: new -M, -m arguments for log, etc.
Steve Borho <steve@borho.org>
parents: 1368
diff changeset
643
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
644 _hg_cmd_tip() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
645 _arguments -s -w : $_hg_global_opts $_hg_style_opts \
3517
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
646 '(--patch -p)'{-p,--patch}'[show patch]'
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
647 }
1438
c22da894e4cc zsh completions: new -M, -m arguments for log, etc.
Steve Borho <steve@borho.org>
parents: 1368
diff changeset
648
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
649 _hg_cmd_unbundle() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
650 _arguments -s -w : $_hg_global_opts \
3517
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
651 '(--update -u)'{-u,--update}'[update to new tip if changesets were unbundled]' \
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
652 ':files:_files'
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
653 }
1362
246e1a00af6f zsh completion function for hg
Steve Borho <steve@borho.org>
parents:
diff changeset
654
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
655 _hg_cmd_update() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
656 _arguments -s -w : $_hg_global_opts \
3517
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
657 '(--clean -C)'{-C,--clean}'[overwrite locally modified files]' \
5309
e21644bbf01e Updated zsh completion from issue722.
Brendan Cully <brendan@kublai.com>
parents: 4448
diff changeset
658 '(--rev -r)'{-r+,--rev}'[revision]:revision:_hg_tags' \
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
659 ':revision:_hg_tags'
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
660 }
1362
246e1a00af6f zsh completion function for hg
Steve Borho <steve@borho.org>
parents:
diff changeset
661
5309
e21644bbf01e Updated zsh completion from issue722.
Brendan Cully <brendan@kublai.com>
parents: 4448
diff changeset
662 # bisect extension
e21644bbf01e Updated zsh completion from issue722.
Brendan Cully <brendan@kublai.com>
parents: 4448
diff changeset
663 _hg_cmd_bisect() {
e21644bbf01e Updated zsh completion from issue722.
Brendan Cully <brendan@kublai.com>
parents: 4448
diff changeset
664 _arguments -s -w : $_hg_global_opts ':evaluation:(help init reset next good bad)'
e21644bbf01e Updated zsh completion from issue722.
Brendan Cully <brendan@kublai.com>
parents: 4448
diff changeset
665 }
e21644bbf01e Updated zsh completion from issue722.
Brendan Cully <brendan@kublai.com>
parents: 4448
diff changeset
666
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
667 # HGK
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
668 _hg_cmd_view() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
669 _arguments -s -w : $_hg_global_opts \
3517
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
670 '(--limit -l)'{-l+,--limit}'[limit number of changes displayed]:' \
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
671 ':revision range:_hg_tags'
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
672 }
1362
246e1a00af6f zsh completion function for hg
Steve Borho <steve@borho.org>
parents:
diff changeset
673
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
674 # MQ
3527
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
675 _hg_qseries() {
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
676 typeset -a patches
3545
35b99f076d02 zsh: suppress mq completion error messages outside of repository
Brendan Cully <brendan@kublai.com>
parents: 3544
diff changeset
677 patches=($(_hg_cmd qseries 2>/dev/null))
3527
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
678 (( $#patches )) && _describe -t hg-patches 'patches' patches
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
679 }
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
680
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
681 _hg_qapplied() {
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
682 typeset -a patches
3545
35b99f076d02 zsh: suppress mq completion error messages outside of repository
Brendan Cully <brendan@kublai.com>
parents: 3544
diff changeset
683 patches=($(_hg_cmd qapplied 2>/dev/null))
3535
3dbec3f6d3a2 zsh: add qbase and qtip to qapplied completions
Brendan Cully <brendan@kublai.com>
parents: 3534
diff changeset
684 if (( $#patches ))
3dbec3f6d3a2 zsh: add qbase and qtip to qapplied completions
Brendan Cully <brendan@kublai.com>
parents: 3534
diff changeset
685 then
3dbec3f6d3a2 zsh: add qbase and qtip to qapplied completions
Brendan Cully <brendan@kublai.com>
parents: 3534
diff changeset
686 patches+=(qbase qtip)
3dbec3f6d3a2 zsh: add qbase and qtip to qapplied completions
Brendan Cully <brendan@kublai.com>
parents: 3534
diff changeset
687 _describe -t hg-applied-patches 'applied patches' patches
3dbec3f6d3a2 zsh: add qbase and qtip to qapplied completions
Brendan Cully <brendan@kublai.com>
parents: 3534
diff changeset
688 fi
3527
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
689 }
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
690
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
691 _hg_qunapplied() {
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
692 typeset -a patches
3545
35b99f076d02 zsh: suppress mq completion error messages outside of repository
Brendan Cully <brendan@kublai.com>
parents: 3544
diff changeset
693 patches=($(_hg_cmd qunapplied 2>/dev/null))
3527
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
694 (( $#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: 3517
diff changeset
695 }
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
696
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
697 _hg_qguards() {
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
698 typeset -a guards
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
699 local guard
3529
fe9c1e886b5e zsh: complete qguard with +/- guard prefixes
Brendan Cully <brendan@kublai.com>
parents: 3527
diff changeset
700 compset -P "+|-"
3545
35b99f076d02 zsh: suppress mq completion error messages outside of repository
Brendan Cully <brendan@kublai.com>
parents: 3544
diff changeset
701 _hg_cmd qselect -s 2>/dev/null | while read guard
3527
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
702 do
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
703 guards+=(${guard#(+|-)})
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
704 done
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
705 (( $#guards )) && _describe -t hg-guards 'guards' guards
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
706 }
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
707
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
708 _hg_qseries_opts=(
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
709 '(--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: 3517
diff changeset
710
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
711 _hg_cmd_qapplied() {
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
712 _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: 3517
diff changeset
713 }
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
714
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
715 _hg_cmd_qdelete() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
716 _arguments -s -w : $_hg_global_opts \
3517
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
717 '(--keep -k)'{-k,--keep}'[keep patch file]' \
3536
ef80b13df85a zsh: add revrange completion
Brendan Cully <brendan@kublai.com>
parents: 3535
diff changeset
718 '*'{-r+,--rev}'[stop managing a revision]:applied patch:_hg_revrange' \
3527
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
719 '*:unapplied patch:_hg_qunapplied'
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
720 }
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
721
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
722 _hg_cmd_qdiff() {
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
723 _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
724 '*:pattern:_hg_files'
3527
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
725 }
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
726
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
727 _hg_cmd_qfold() {
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
728 _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: 3517
diff changeset
729 '(--keep,-k)'{-k,--keep}'[keep folded patch files]' \
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
730 '*:unapplied patch:_hg_qunapplied'
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
731 }
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
732
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
733 _hg_cmd_qguard() {
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
734 _arguments -s -w : $_hg_global_opts \
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
735 '(--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: 3517
diff changeset
736 '(--none -n)'{-n,--none}'[drop all guards]' \
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
737 ':patch:_hg_qseries' \
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
738 '*:guards:_hg_qguards'
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
739 }
1362
246e1a00af6f zsh completion function for hg
Steve Borho <steve@borho.org>
parents:
diff changeset
740
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
741 _hg_cmd_qheader() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
742 _arguments -s -w : $_hg_global_opts \
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
743 ':patch:_hg_qseries'
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
744 }
1362
246e1a00af6f zsh completion function for hg
Steve Borho <steve@borho.org>
parents:
diff changeset
745
3527
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
746 _hg_cmd_qimport() {
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
747 _arguments -s -w : $_hg_global_opts \
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
748 '(--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: 3517
diff changeset
749 '(--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: 3517
diff changeset
750 '(--force -f)'{-f,--force}'[overwrite existing files]' \
3536
ef80b13df85a zsh: add revrange completion
Brendan Cully <brendan@kublai.com>
parents: 3535
diff changeset
751 '*'{-r+,--rev}'[place existing revisions under mq control]:revision:_hg_revrange' \
3527
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
752 '*:patch:_files'
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
753 }
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
754
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
755 _hg_cmd_qnew() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
756 _arguments -s -w : $_hg_global_opts $_hg_commit_opts \
3517
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
757 '(--force -f)'{-f,--force}'[import uncommitted changes into patch]' \
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
758 ':patch:'
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
759 }
1368
d1d605d1e839 Fix completion function for 'hg pull'. Fix truncation bug and remove tabs.
Steve Borho <steve@borho.org>
parents: 1365
diff changeset
760
3527
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
761 _hg_cmd_qnext() {
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
762 _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: 3517
diff changeset
763 }
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
764
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
765 _hg_cmd_qpop() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
766 _arguments -s -w : $_hg_global_opts \
3517
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
767 '(--all -a :)'{-a,--all}'[pop all patches]' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
768 '(--name -n)'{-n+,--name}'[queue name to pop]:' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
769 '(--force -f)'{-f,--force}'[forget any local changes]' \
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
770 ':patch:_hg_qapplied'
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
771 }
3482
46958e428fcd zsh completion: basic mq support
Brendan Cully <brendan@kublai.com>
parents: 1544
diff changeset
772
3527
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
773 _hg_cmd_qprev() {
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
774 _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: 3517
diff changeset
775 }
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
776
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
777 _hg_cmd_qpush() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
778 _arguments -s -w : $_hg_global_opts \
3517
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
779 '(--all -a :)'{-a,--all}'[apply all patches]' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
780 '(--list -l)'{-l,--list}'[list patch name in commit text]' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
781 '(--merge -m)'{-m+,--merge}'[merge from another queue]:' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
782 '(--name -n)'{-n+,--name}'[merge queue name]:' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
783 '(--force -f)'{-f,--force}'[apply if the patch has rejects]' \
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
784 ':patch:_hg_qunapplied'
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
785 }
3482
46958e428fcd zsh completion: basic mq support
Brendan Cully <brendan@kublai.com>
parents: 1544
diff changeset
786
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
787 _hg_cmd_qrefresh() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
788 _arguments -s -w : $_hg_global_opts $_hg_pat_opts $_hg_commit_opts \
3517
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
789 '(--git -g)'{-g,--git}'[use git extended diff format]' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
790 '(--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
791 '*:files:_hg_files'
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
792 }
3482
46958e428fcd zsh completion: basic mq support
Brendan Cully <brendan@kublai.com>
parents: 1544
diff changeset
793
3527
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
794 _hg_cmd_qrename() {
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
795 _arguments -s -w : $_hg_global_opts \
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
796 ':patch:_hg_qseries' \
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
797 ':destination:'
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
798 }
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
799
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
800 _hg_cmd_qselect() {
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
801 _arguments -s -w : $_hg_global_opts \
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
802 '(--none -n :)'{-n,--none}'[disable all guards]' \
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
803 '(--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: 3517
diff changeset
804 '--pop[pop to before first guarded applied patch]' \
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
805 '--reapply[pop and reapply patches]' \
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
806 '*:guards:_hg_qguards'
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
807 }
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
808
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
809 _hg_cmd_qseries() {
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
810 _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: 3517
diff changeset
811 '(--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: 3517
diff changeset
812 }
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
813
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
814 _hg_cmd_qunapplied() {
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
815 _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: 3517
diff changeset
816 }
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
817
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
818 _hg_cmd_qtop() {
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
819 _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: 3517
diff changeset
820 }
ee6b8de6df3c zsh: complete qapplied, qdiff, qfold, qguard, qimport, qnext, qprev
Brendan Cully <brendan@kublai.com>
parents: 3517
diff changeset
821
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
822 _hg_cmd_strip() {
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
823 _arguments -s -w : $_hg_global_opts \
3517
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
824 '(--force -f)'{-f,--force}'[force multi-head removal]' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
825 '(--backup -b)'{-b,--backup}'[bundle unrelated changesets]' \
a6dd7ab568cc zsh: make option lists more compact
Brendan Cully <brendan@kublai.com>
parents: 3511
diff changeset
826 '(--nobackup -n)'{-n,--nobackup}'[no backups]' \
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
827 ':revision:_hg_tags'
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
828 }
3487
1b9494d2b070 zsh: expand tags lazily
Brendan Cully <brendan@kublai.com>
parents: 3482
diff changeset
829
3511
060aefba4459 zsh: rewrite
Brendan Cully <brendan@kublai.com>
parents: 3492
diff changeset
830 _hg "$@"