Mercurial > hg > mercurial-crew-with-dirclash
comparison contrib/zsh_completion @ 3602:ec221317e018
zsh: complete users in ssh URLS
author | Brendan Cully <brendan@kublai.com> |
---|---|
date | Tue, 31 Oct 2006 16:04:03 -0800 |
parents | cedf056bb723 |
children | ef9c515836ae |
comparison
equal
deleted
inserted
replaced
3601:cedf056bb723 | 3602:ec221317e018 |
---|---|
188 then | 188 then |
189 local host=${PREFIX%%/*} | 189 local host=${PREFIX%%/*} |
190 typeset -a remdirs | 190 typeset -a remdirs |
191 compset -p $(( $#host + 1 )) | 191 compset -p $(( $#host + 1 )) |
192 local rempath=${(M)PREFIX##*/} | 192 local rempath=${(M)PREFIX##*/} |
193 local cacheid="hg_${host}_${rempath//\//_}" | 193 local cacheid="hg:${host}-${rempath//\//_}" |
194 cacheid=${cacheid%[-_]} | |
194 compset -P '*/' | 195 compset -P '*/' |
195 if _cache_invalid "$cacheid" || ! _retrieve_cache "$cacheid" | 196 if _cache_invalid "$cacheid" || ! _retrieve_cache "$cacheid" |
196 then | 197 then |
197 remdirs=(${${(M)${(f)"$(_call_program files ssh -a -x $host ls -1FL "${(q)rempath}" 2> /dev/null)"}##*/}%/}) | 198 remdirs=(${${(M)${(f)"$(_call_program files ssh -a -x $host ls -1FL "${(q)rempath}" 2> /dev/null)"}##*/}%/}) |
198 _store_cache "$cacheid" remdirs | 199 _store_cache "$cacheid" remdirs |
200 _describe -t directories 'remote directory' remdirs -S/ | 201 _describe -t directories 'remote directory' remdirs -S/ |
201 else | 202 else |
202 _message 'remote directory' | 203 _message 'remote directory' |
203 fi | 204 fi |
204 else | 205 else |
205 _hosts -S/ | 206 if compset -P '*@' |
207 then | |
208 _hosts -S/ | |
209 else | |
210 _alternative 'hosts:remote host name:_hosts -S/' \ | |
211 'users:user:_users -S@' | |
212 fi | |
206 fi | 213 fi |
207 } | 214 } |
208 | 215 |
209 _hg_urls() { | 216 _hg_urls() { |
210 if compset -P bundle:// | 217 if compset -P bundle:// |