From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 23763 invoked by alias); 17 Jun 2018 21:49:23 -0000 Mailing-List: contact zsh-workers-help@zsh.org; run by ezmlm Precedence: bulk X-No-Archive: yes List-Id: Zsh Workers List List-Post: List-Help: List-Unsubscribe: X-Seq: 43043 Received: (qmail 15952 invoked by uid 1010); 17 Jun 2018 21:49:23 -0000 X-Qmail-Scanner-Diagnostics: from mail-io0-f193.google.com by f.primenet.com.au (envelope-from , uid 7791) with qmail-scanner-2.11 (clamdscan: 0.99.2/21882. spamassassin: 3.4.1. Clear:RC:0(209.85.223.193):SA:0(-1.9/5.0):. Processed in 1.554723 secs); 17 Jun 2018 21:49:23 -0000 X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on f.primenet.com.au X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2,SPF_PASS,T_DKIMWL_WL_MED,T_DKIM_INVALID autolearn=ham autolearn_force=no version=3.4.1 X-Envelope-From: dana@dana.is X-Qmail-Scanner-Mime-Attachments: | X-Qmail-Scanner-Zip-Files: | DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=dana-is.20150623.gappssmtp.com; s=20150623; h=from:content-transfer-encoding:mime-version:subject:message-id:date :to; bh=yMt9XD6OyF+XF+YePl/EivkuD0H6vT7L4JG44EKLgM8=; b=ch+i0gWb4TCoLIeirp4+QAJwL3NbDnNeIo9XS41gN4PWRzWLKGyKWHU6hk4nfo7ojn sNdZcPHQ+CaIvBDZQVPUA/JjkNpRd6/ko5iFAgZGKE6hkgaOCni1k4pNMO1NP6IieCj8 YclfRYnBlg3om+0IZma8ZUDbenS7+3+g1MMbAdy0r+XENTDydgEidOd+kegJWACJ2RcW yYxLTI8C1f1rx11SNPrzGT0Obq5LO99zIZfYMDMcyISKYvtWecPENKmBz4YM6nvknpD4 9R6wnlSvuVOB/FptsCscFXBlVp10H2v2p1dk3jZGHE7cP9yO3uK4Ll2tkfOfneZRWZR3 9s8g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:content-transfer-encoding:mime-version :subject:message-id:date:to; bh=yMt9XD6OyF+XF+YePl/EivkuD0H6vT7L4JG44EKLgM8=; b=gYWKcxWZba0Dy8gHwo8NsahIxbAYBg95WmW7AwNROCEle6jNcFiZ4uUnmjQ+asId5R v+4JloQn25ur5u8h2zGm6jHtbCpxIfn1sl8Mc0xdlpHOzNUMg3De30q3Ng/Aa1k5Lqq7 Hzge2FDzK7irjOBUfGKEb6XdnyRpMWc776g5LpNyum5xjhxbmbtnPn+SlIv/9oIPjQ0o 0HJ/3gZwLyzc5vhS+kmHa4QKz3xnbMc4G4RUxEJiBXB2q+u+xbUSa8KiRO5Psz+gVqgk ylu9EfLMVjVfyRqf+BqsUEZkTmNEqLtf5vJePH2vX9s2qSX0JSbXNy/vTLWpDxl5i+EV LU9g== X-Gm-Message-State: APt69E3fadQpqtLZFHVGuEvTATINrWR6tOTpx1e8wc6PQHEPJi2yqsiF voM4t7hjiXZ6eTzUz/2CkGhp5GwyEXo= X-Google-Smtp-Source: ADUXVKIeTekPT2ArrHdzN/cL68nqN55+KP8MrypHLeuW3GDrnQAUujJOk2AvyqGTMczIJ36/rIztpQ== X-Received: by 2002:a6b:b416:: with SMTP id d22-v6mr8071282iof.163.1529272159403; Sun, 17 Jun 2018 14:49:19 -0700 (PDT) From: dana Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable Mime-Version: 1.0 (Mac OS X Mail 10.3 \(3273\)) Subject: [PATCH] Completion: Minor improvements to _comm and _sed Message-Id: <9F50D6F1-6438-4220-8413-401E6D1998A8@dana.is> Date: Sun, 17 Jun 2018 16:49:18 -0500 To: Zsh workers X-Mailer: Apple Mail (2.3273) Some minor improvements to _comm and _sed: * Call _arguments with -S and (where appropriate) -A * Fix some option-spec syntax errors in _comm * Add some missing options to _comm * Don't complete `sed -r` on Darwin * Change all option specs in _sed to use -o+/--opt=3D instead of = -o-/--opt=3D- (i'm not aware of any platform where the latter is appropriate) dana diff --git a/Completion/Unix/Command/_comm = b/Completion/Unix/Command/_comm index d1d835f6a..f8c535a44 100644 --- a/Completion/Unix/Command/_comm +++ b/Completion/Unix/Command/_comm @@ -1,6 +1,6 @@ #compdef comm gcomm =20 -local -a args +local -a args aopts=3D( -A '-*' ) =20 args=3D( '-1[suppress lines unique to first file]' @@ -11,10 +11,13 @@ args=3D( ) =20 if _pick_variant gnu=3DGNU unix --version; then + aopts=3D( ) args+=3D( '(--nocheck-order)--check-order[check input is correctly sorted]' "(--check-order)--nocheck-order[don't check input is correctly = sorted]" - '--output-delimiter=3D:delimiter' + '--output-delimiter=3D[specify column delimiter]:delimiter' + '--total[display summary]' + '(-z --zero-terminated)'{-z,--zero-terminated}'[use NUL as line = delimiter]' '(- : *)--version[display version information]' '(- : *)--help[display help information]' ) @@ -24,4 +27,4 @@ elif [[ $OSTYPE =3D (openbsd|netbsd)* ]]; then args+=3D( '-f[case insensitive comparison of lines]' ) fi =20 -_arguments -s $args +_arguments -s -S $aopts : $args diff --git a/Completion/Unix/Command/_sed b/Completion/Unix/Command/_sed index 15b92a634..80218051b 100644 --- a/Completion/Unix/Command/_sed +++ b/Completion/Unix/Command/_sed @@ -1,11 +1,12 @@ #compdef sed gsed psed s2p =20 -local args inplace extended +local inplace extended +local -a args aopts=3D( -A '-*' ) =20 args=3D( '(-n --quiet --silent)'{-n,--quiet,--silent}'[suppress automatic = printing of pattern space]' - '(1)*'{-e,--expression=3D-}'[specify sed commands to run]:sed script' - '(1)*'{-f,--file=3D-}'[add contents of file to commands to = run]:file:_files' + '(1)*'{-e+,--expression=3D}'[specify sed commands to run]:sed script' + '(1)*'{-f+,--file=3D}'[add contents of file to commands to run]: = :_files' '(-e)1: :_guard "^-*" sed script' '*:input file:_files' ) @@ -18,11 +19,12 @@ if [[ $service =3D (psed|s2p) ]]; then '-a[delay opening files listed with w function]' ) elif _pick_variant gnu=3DGNU unix --version; then + aopts=3D( ) args+=3D( '--follow-symlinks[follow symlinks when processing in place]' - '(-i --in-place)'{-i-,--in-place=3D-}$inplace + '(-i --in-place)'{-i+,--in-place=3D}$inplace '(-c --copy)'{-c,--copy}'[copy instead of rename when shuffling = files in in-place mode]' - '(-l --line-length)'{-l,--line-length=3D-}'[specify line-wrap = length for the l command]' + '(-l --line-length)'{-l+,--line-length=3D}'[specify line-wrap = length for the l command]' '(-r)--posix[disable GNU extensions]' '(-E -r --regexp-extended)'{-E,-r,--regexp-extended}$extended '(-s --separate)'{-s,--separate}'[consider files separately instead = of as a combined stream]' @@ -37,20 +39,21 @@ else case $OSTYPE in openbsd*|freebsd*|netbsd*|darwin*|dragonfly*) args+=3D( - '(-r -E)'{-r,-E}$extended + '(-r -E)'-E$extended '-a[delay opening files listed with w function]' ) ;| - darwin*|freebsd*|netbsd*|openbsd*) args+=3D( '-i'$inplace ) ;| + openbsd*|freebsd*|netbsd*|dragonfly*) args+=3D( '(-r = -E)'-r$extended ) ;| + darwin*|freebsd*|netbsd*|openbsd*) args+=3D( '-i+'$inplace ) ;| darwin*|freebsd*|netbsd*) args+=3D( '-l[make output line buffered]' = ) ;| freebsd*) args+=3D( '-u[disable data buffering]' ) ;| freebsd*|netbsd*) args+=3D( - '-I[edit files in-place, treating all files as a single input = stream]::suffix for backup' + '-I+[edit files in-place, treating all files as a single input = stream]::suffix for backup' ) ;; openbsd*) args+=3D( '-u[make output line buffered]' ) ;; esac fi =20 -_arguments -s "$args[@]" +_arguments -s -S $aopts : "$args[@]"