##// END OF EJS Templates
Update zsh completion for new help format
Brendan Cully -
r7466:05010666 default
parent child Browse files
Show More
@@ -4,14 +4,13 b''
4 4 # it into your zsh function path (/usr/share/zsh/site-functions for
5 5 # instance)
6 6 #
7 # Copyright (C) 2005 Steve Borho
7 # Copyright (C) 2005-6 Steve Borho
8 8 # Copyright (C) 2006-8 Brendan Cully <brendan@kublai.com>
9 9 #
10 10 # This is free software; you can redistribute it and/or modify it under
11 11 # the terms of the GNU General Public License as published by the Free
12 12 # Software Foundation; either version 2 of the License, or (at your
13 13 # option) any later version.
14 #
15 14
16 15 emulate -LR zsh
17 16 setopt extendedglob
@@ -117,28 +116,54 b' typeset -A _hg_cmd_globals'
117 116 _hg_get_commands() {
118 117 typeset -ga _hg_cmd_list
119 118 typeset -gA _hg_alias_list
120 local hline cmd cmdalias
121 _call_program help hg --verbose help | while read -A hline
119 local hline cmd cmdalias helpstate
120 local helpmode=$1
121
122 _call_program help hg --verbose help $helpmode 2>/dev/null | while read -A hline
122 123 do
123 cmd="$hline[1]"
124 case $cmd in
125 *:)
126 cmd=${cmd%:}
127 _hg_cmd_list+=($cmd)
128 ;;
129 *,)
130 cmd=${cmd%,}
131 _hg_cmd_list+=($cmd)
132 integer i=2
133 while (( i <= $#hline ))
134 do
135 cmdalias=${hline[$i]%(:|,)}
136 _hg_cmd_list+=($cmdalias)
137 _hg_alias_list+=($cmdalias $cmd)
138 (( i++ ))
139 done
140 ;;
141 esac
124 if [ "$hline" = "list of commands:" ]
125 then
126 helpstate="commands"
127 continue
128 elif [ "$hline" = "enabled extensions:" ]
129 then
130 helpstate="extensions"
131 continue
132 elif [ "$hline" = "additional help topics:" ]
133 then
134 helpstate="topics"
135 continue
136 fi
137
138 if [ "$helpstate" = commands ]
139 then
140 cmd="$hline[1]"
141 case $cmd in
142 *:)
143 cmd=${cmd%:}
144 _hg_cmd_list+=($cmd)
145 ;;
146 *,)
147 cmd=${cmd%,}
148 _hg_cmd_list+=($cmd)
149 integer i=2
150 while (( i <= $#hline ))
151 do
152 cmdalias=${hline[$i]%(:|,)}
153 _hg_cmd_list+=($cmdalias)
154 _hg_alias_list+=($cmdalias $cmd)
155 (( i++ ))
156 done
157 ;;
158 esac
159 elif [ -z "$helpmode" -a "$helpstate" = extensions ]
160 then
161 cmd="$hline[1]"
162 if [ -n "$cmd" ]
163 then
164 _hg_get_commands $cmd
165 fi
166 fi
142 167 done
143 168 }
144 169
General Comments 0
You need to be logged in to leave comments. Login now