contrib/zsh_completion
changeset 3602 ec221317e018
parent 3601 cedf056bb723
child 3603 ef9c515836ae
--- a/contrib/zsh_completion
+++ b/contrib/zsh_completion
@@ -190,7 +190,8 @@ typeset -A _hg_cmd_globals
       typeset -a remdirs
       compset -p $(( $#host + 1 ))
       local rempath=${(M)PREFIX##*/}
-      local cacheid="hg_${host}_${rempath//\//_}"
+      local cacheid="hg:${host}-${rempath//\//_}"
+      cacheid=${cacheid%[-_]}
       compset -P '*/'
       if _cache_invalid "$cacheid" || ! _retrieve_cache "$cacheid"
       then
@@ -202,7 +203,13 @@ typeset -A _hg_cmd_globals
       _message 'remote directory'
     fi
   else
-    _hosts -S/
+    if compset -P '*@'
+    then
+      _hosts -S/
+    else
+      _alternative 'hosts:remote host name:_hosts -S/' \
+        'users:user:_users -S@'
+    fi
   fi
 }