contrib/zsh_completion
changeset 3602 ec221317e018
parent 3601 cedf056bb723
child 3603 ef9c515836ae
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://