about summary refs log tree commit diff
path: root/Completion
diff options
context:
space:
mode:
authorClint Adams <clint@users.sourceforge.net>2007-04-19 20:37:00 +0000
committerClint Adams <clint@users.sourceforge.net>2007-04-19 20:37:00 +0000
commitad2d19e2e631ad10dbed53578445ac9929237a89 (patch)
tree5e5ce1aed48fccd8c568ce2cf7b6e09feb120108 /Completion
parent8f0fefdbfdd61d1400852c34a94b3827cf88285a (diff)
downloadzsh-ad2d19e2e631ad10dbed53578445ac9929237a89.tar.gz
zsh-ad2d19e2e631ad10dbed53578445ac9929237a89.tar.xz
zsh-ad2d19e2e631ad10dbed53578445ac9929237a89.zip
23302: complete properties after svn propget and propedit.
Diffstat (limited to 'Completion')
-rw-r--r--Completion/Unix/Command/_subversion14
1 files changed, 14 insertions, 0 deletions
diff --git a/Completion/Unix/Command/_subversion b/Completion/Unix/Command/_subversion
index 84e63a343..88a8f1d66 100644
--- a/Completion/Unix/Command/_subversion
+++ b/Completion/Unix/Command/_subversion
@@ -72,6 +72,12 @@ _svn () {
 	      '*:file:_files -g "*(e:_svn_controlled:)"'
             )
           ;;
+	  (propget|propedit)
+	    args+=(
+		'1:property name:_svn_props'
+		'2:target: _alternative "files:file:_files" "urls:URL:_svn_urls"'
+	    )
+	  ;;
 	  (propset)
 	    args=(
 	    ':propname:(svn:ignore svn:keywords svn:executable svn:eol-style svn:mime-type svn:externals svn:needs-lock)'
@@ -234,6 +240,14 @@ _svnadmin_commands() {
   compadd "$@" -k _svnadmin_cmds || compadd "$@" ${(s.:.)_svnadmin_cmds}
 }
 
+(( $+functions[_svn_props] )) ||
+_svn_props() {
+  local properties
+
+  properties=( ${${(M)${(f)"$(svn proplist 2>/dev/null)"}:#  [^ ]*}#  } )
+  compadd "$@" -a properties && return 0
+}
+
 _subversion () {
   case $service in
     (svn) _svn "$@" ;;