From 422dae7b1c71033113eb7e9bdd655b07858f71d8 Mon Sep 17 00:00:00 2001 From: Daniel Shahaf Date: Tue, 11 Aug 2015 22:14:00 +0000 Subject: unposted: _subversion: Complete property names for propdel Previously, filenames would be completed. --- Completion/Unix/Command/_subversion | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'Completion/Unix/Command/_subversion') diff --git a/Completion/Unix/Command/_subversion b/Completion/Unix/Command/_subversion index 188a81367..8c3d8746f 100644 --- a/Completion/Unix/Command/_subversion +++ b/Completion/Unix/Command/_subversion @@ -98,7 +98,7 @@ _svn () { (mergeinfo) args[(r)--show-revs:arg:]=( '--show-revs=:revisions:(merged eligible)' ) ;; - (propget|propedit) + (propget|propedit|propdel) args+=( '1:property name:_svn_props' '2:target: _alternative "files:file:_files" "urls:URL:_svn_urls"' -- cgit v1.2.3 From 0c5f6e911b6e8e1e2a5be5103a8c2da72bfc8937 Mon Sep 17 00:00:00 2001 From: Daniel Shahaf Date: Mon, 17 Aug 2015 22:03:56 +0000 Subject: 36208: _subversion: Complete a few more option switches The while (( idx )) form should guarantee that these switches are only added if the 'svn' binary supports them. (One of these switches isn't present in svn 1.8 or earlier.) --- ChangeLog | 5 +++++ Completion/Unix/Command/_subversion | 18 ++++++++++++++++++ 2 files changed, 23 insertions(+) (limited to 'Completion/Unix/Command/_subversion') diff --git a/ChangeLog b/ChangeLog index aef8e9520..64e2f6d22 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2015-08-19 Daniel Shahaf + + * 36208: Completion/Unix/Command/_subversion: _subversion: + Complete a few more option switches + 2015-08-18 Peter Stephenson * 36232: Src/compat.c: Unmeta an additional chdir(). diff --git a/Completion/Unix/Command/_subversion b/Completion/Unix/Command/_subversion index 8c3d8746f..1cffc3c04 100644 --- a/Completion/Unix/Command/_subversion +++ b/Completion/Unix/Command/_subversion @@ -50,9 +50,27 @@ _svn () { args=( ${=${${${(M)${(f)"$(_comp_locale; _call_program options svn help $cmd)"#(*Valid options:|(#e))}:#* :*}%% #:*}/ (arg|ARG)/:arg:}/(#b)(-##)([[:alpha:]]##) \[--([a-z-]##)\](:arg:)#/(--$match[3])$match[1]$match[2]$match[4] ($match[1]$match[2])--$match[3]$match[4]} ) + while (( idx=$args[(I)*--accept:arg:] )); do + args[(I)*--accept:arg:]=( --accept':automatic conflict resolution action:((working\:working base\:base '"`for i j in p postpone mc mine-conflict tc theirs-conflict mf mine-full tf theirs-full e edit l launch; print -rn $i\\\\:$j $j\\\\:$j "" `"'))' ) + done while (( idx=$args[(I)*--c(l|hangelist):arg:] )); do args[(I)*--c(l|hangelist):arg:]=( \*{--cl,--changelist}':change list:_svn_changelists' ) done + while (( idx=$args[(I)*--config-dir:arg:] )); do + args[(I)*--config-dir:arg:]=( --config-dir':config dir:_directories' ) + done + while (( idx=$args[(I)*--depth:arg:] )); do + args[(I)*--depth:arg:]=( --depth':operation depth (how far to recurse):(empty files immediates infinity)' ) + done + while (( idx=$args[(I)*(-F|--file):arg:] )); do + args[(I)*(-F|--file):arg:]=( '(-F --file)'{-F,--file}':log message file:_files' ) + done + while (( idx=$args[(I)*--set-depth:arg:] )); do + args[(I)*--set-depth:arg:]=( --set-depth'[make working copy deeper or shallower]:new depth:(exclude empty files immediates infinity)' ) + done + while (( idx=$args[(I)*--trust-server-cert-failures:arg:] )); do + args[(I)*--trust-server-cert-failures:arg:]=( --trust-server-cert-failures':failures:_values -s , "certificate failures to ignore" "unknown-ca[unknown authority]" "cn-mismatch[hostname mismatch]" "expired[certificate expired]" "not-yet-valid[certificate not yet valid]" "other[all other failures]"' ) + done _store_cache svn-${cmd}-args args fi -- cgit v1.2.3