From 5378f6ad775098210cf8046a8aceeaecbcc58b51 Mon Sep 17 00:00:00 2001 From: Peter Stephenson Date: Tue, 23 Sep 2014 12:38:46 +0100 Subject: 33221 (including 33173 from Anthony Heading): _perforce tweak. Complete directories when handling unmaintained files for add. Rationalise code and comments around this. --- Completion/Unix/Command/_perforce | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) (limited to 'Completion') diff --git a/Completion/Unix/Command/_perforce b/Completion/Unix/Command/_perforce index 839870211..db91e11af 100644 --- a/Completion/Unix/Command/_perforce +++ b/Completion/Unix/Command/_perforce @@ -1231,10 +1231,15 @@ _perforce_files() { # "subdirs:subdirectory search:_perforce_subdirs" ) _alternative $altfiles - elif [[ -n $unmaintained && -z $dodirs ]]; then - # a la _cvs_nonentried_files: directories are never maintained, - # so skip 'em. Unmaintained files can't be integrated, opened - # or resolved, so treat as exclusive (just as well, since + elif [[ -n $unmaintained ]]; then + # As directories are always umaintained, but may contain files + # we want to add, we'll always complete directories here. That's + # neater than the alternative of excluding them here and requesting + # them separately in the caller. The only client for this + # branch is currently 'p4 add'. + # + # Unmaintained files can't be integrated, opened + # or resolved, so treat as exclusive to other options (just as well, since # this bit's messy). local MATCH MBEGIN MEND local -a omitpats @@ -1253,7 +1258,7 @@ _perforce_files() { [[ $#omitpats -eq 1 && $omitpats[1] = '' ]] && omitpats=() if (( ${#omitpats} )); then - _path_files -g "*~(*/|)(${(j:|:)~omitpats})(D.)" + _path_files -g "*~(*/|)(${(j:|:)~omitpats})(D)" else _path_files fi -- cgit 1.4.1