Mercurial > hg > mercurial-crew-with-dirclash
comparison contrib/zsh_completion @ 3598:27121416f9a8
zsh: complete SSH directories
author | Brendan Cully <brendan@kublai.com> |
---|---|
date | Tue, 31 Oct 2006 14:53:08 -0800 |
parents | 0d253ec988a6 |
children | 932dadd2e614 |
comparison
equal
deleted
inserted
replaced
3597:0d253ec988a6 | 3598:27121416f9a8 |
---|---|
161 _hg_addremove() { | 161 _hg_addremove() { |
162 _alternative 'files:unknown files:_hg_unknown' \ | 162 _alternative 'files:unknown files:_hg_unknown' \ |
163 'files:missing files:_hg_missing' | 163 'files:missing files:_hg_missing' |
164 } | 164 } |
165 | 165 |
166 _hg_ssh_urls() { | |
167 if [[ -prefix */ ]] | |
168 then | |
169 if zstyle -T ":completion:${curcontext}:files" remote-access | |
170 then | |
171 local host=${PREFIX%%/*} | |
172 typeset -a remdirs | |
173 compset -p $(( $#host + 1 )) | |
174 local rempath=${(M)PREFIX##*/} | |
175 compset -P '*/' | |
176 remdirs=(${${(M)${(f)"$(_call_program files ssh -a -x $host ls -1FL "${(q)rempath}" 2> /dev/null)"}##*/}%/}) | |
177 _describe -t directories 'remote directory' remdirs -S/ | |
178 else | |
179 _message 'remote directory' | |
180 fi | |
181 else | |
182 _hosts -S/ | |
183 fi | |
184 } | |
185 | |
166 _hg_urls() { | 186 _hg_urls() { |
167 if compset -P bundle:// | 187 if compset -P bundle:// |
168 then | 188 then |
169 _files | 189 _files |
190 elif compset -P ssh:// | |
191 then | |
192 _hg_ssh_urls | |
170 elif [[ -prefix *: ]] | 193 elif [[ -prefix *: ]] |
171 then | 194 then |
172 _urls | 195 _urls |
173 else | 196 else |
174 local expl | 197 local expl |
188 } | 211 } |
189 | 212 |
190 _hg_remote() { | 213 _hg_remote() { |
191 _alternative 'path-aliases:repository alias:_hg_paths' \ | 214 _alternative 'path-aliases:repository alias:_hg_paths' \ |
192 'directories:directory:_files -/' \ | 215 'directories:directory:_files -/' \ |
193 'urls:URL schema:_hg_urls' | 216 'urls:URL:_hg_urls' |
194 } | 217 } |
195 | 218 |
196 # Common options | 219 # Common options |
197 _hg_global_opts=( | 220 _hg_global_opts=( |
198 '(--repository -R)'{-R+,--repository}'[repository root directory]:repository:_files -/' | 221 '(--repository -R)'{-R+,--repository}'[repository root directory]:repository:_files -/' |