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://