From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 28374 invoked by alias); 24 Aug 2018 05:55:16 -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: 43329 Received: (qmail 19504 invoked by uid 1010); 24 Aug 2018 05:55:15 -0000 X-Qmail-Scanner-Diagnostics: from park01.gkg.net 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(205.235.26.22):SA:0(-1.6/5.0):. Processed in 1.849426 secs); 24 Aug 2018 05:55:15 -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.6 required=5.0 tests=BAYES_00, FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,HEADER_FROM_DIFFERENT_DOMAINS, RCVD_IN_DNSWL_NONE,SPF_PASS,T_DKIM_INVALID autolearn=no autolearn_force=no version=3.4.1 X-Envelope-From: SRS0=7v4M=LH=yahoo.co.uk=okiddle@bounces.park01.gkg.net X-Qmail-Scanner-Mime-Attachments: | X-Qmail-Scanner-Zip-Files: | X-Virus-Scanned: by amavisd-new at gkg.net Authentication-Results: amavisd4.gkg.net (amavisd-new); dkim=pass (2048-bit key) header.d=yahoo.co.uk X-Greylist: domain auto-whitelisted by SQLgrey-1.8.0 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.co.uk; s=s2048; t=1535090062; bh=erVBW4kKToF/08Rbrmo0ubWlLyjGH+/eJMcE4O0xTWM=; h=From:To:Subject:Date:From:Subject; b=DCgPojmsWJGaQUrESY8Fn8BG+IN7r/lDSOiw7X7PphmmeMytZN3HFJWAeEhqt1+VV/cYckMLOtKSRvsDjx+OGuJ63bdg2Q5M/sKZjRLwzVAE3DNiAEJiE/l9C97Nhc5STA8KbNlTkzouUIog+ubuV4ojk2uBCdtRvH4rOzoiv0bzjdKqyNHMFUi5URpDOFXSxrPcMkpG6t2KcEUIMypZqfsOBOxEtICcTfNz++pO1UHwJlQUOlup3YcA9tpDHTIaiNnT+WPTSK+XAD3dLCcu/Ue2kC+G+c30/nhBU9Wmeo7N/F4k8/Z9ZVUo8bNbl9uiyXuQdchO/gjLivZgsgDFNw== X-YMail-OSG: trDpiAsVM1l5_7JWbTAIYWEHaXPa0f2OEhJNFWsKQfFm_OtBN6jrnoCC9lrtWhQ Z6GjgOPfLQn0UtDZXUyFrHxJugVo4x7dO5n6sFEEzMTItll6MfPB489PSMrySy7A7lN5dwRSsPdi jJmi0VMM.R7bxB.gW8dzK8EAoaFE7NNrtI.PrmGIqT9yCg0xw7pXdsSn5T0TxNsYPhERNrjdg0Tv keKaKvYnpNeYJvq3f3G0I4pSeaZ.mFSFdngcT4a16piJ5Eq_sdlUE_w8uDCFsDpu..XDoLDalex5 CgJC5unFYLd9aro25WtNAoR8Xwf36D60tbqiAbopP42gQuTvF0OfC9yWwH4F46_DtXGPkuQZGuNC mAJap9AMCdOo4vnbqWcfzjkCmtJRsZIcek88k0pXHUIT8FPmhoWl.cEeHBohR5Lzwqhh7McsFWpB fkjyaHixli5.69_Guxq5TLWfTRkcF8J4T4bJ1EHaGm4FhrQLPIWl29kMlE.lbZKg3qSz281c36V5 pOr4O4ErqlapiT1Cy5jJgd9Y9gWSQoy5tGMCtKvp.vqb6XiVqCssonxmlVb2GRJANrTygCWamvxS zcD79xXXPTzJc8.Q6CjTPTfjq7GQ3LcI4YR2cAaJpihh5JA7boswYxMXeauB8gQwxklSDwKRjaQI WzmHcWSbVupNuXr4UN2R_r3vJncuvk04E1dmGpW8weMouypvgK7ybIGtOJw2DdGJyeAyPNbtqzZT S5Pm4vm4oaY2byL8I5aGyZAOhKy2NAqK6kiUjzHnfAnLz9r5gl8GkbAF3veqTSlZph_vET9k19LO zu._prKGWthcHg14hyxF.JZIfjYRskN_EbQx5_WbrVcOO_KIeG3EOcr_DkbOYA2A01SxgzIWPYeF 4AJ.pzCKqiIqJOHU52yK07rkemQcRYuLthNHxMBAArcCCG7ygiGbIhlR9R6FJd4IL2dRaclQg7Pt XPsaszUJ3NwLVyy1wASgnteLWUiyJPAae.w25 From: Oliver Kiddle To: Zsh workers Subject: PATCH: new diff3 completion MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-ID: <33780.1535090060.1@hydra> Date: Fri, 24 Aug 2018 07:54:20 +0200 Message-ID: <33781-1535090060.665327@G26z.3ukV.SIkh> This adds completion for diff3 which was lacking. Apart from openbsd, the BSDs include the GNU version so this was relatively simple. Oliver diff --git a/Completion/Unix/Command/_diff3 b/Completion/Unix/Command/_diff3 new file mode 100644 index 000000000..81e274d05 --- /dev/null +++ b/Completion/Unix/Command/_diff3 @@ -0,0 +1,46 @@ +#compdef diff3 + +local -a args ed +local ign + +if _pick_variant gnu=GNU unix; then + ed=( + '(-m --merge -A --show-all)'{-e,--ed}'[output ed script for incorporating changes]' + '(-m --merge -A --show-all)'{-E,--show-overlap}'[like -e, but bracket conflicts]' + '(-m --merge -A --show-all)'{-3,--easy-only}'[like -e, but incorporate only nonoverlapping changes]' + '(-m --merge -A --show-all)'{-x,--overlap-only}'[like -e, but incorporate only overlapping changes]' + '(-m --merge -A --show-all)-X[like -x, but bracket conflicts]' + ) + (( $#words > 2 )) && ign='!' + args=( + '(-A --show-all ed)'{-A,--show-all}'[output all changes, bracketing conflicts]' + "(-m --merge)-i[append 'w' and 'q' commands to ed scripts]" + '(-m --merge -i ed)'{-m,--merge}'[output merged file instead of ed script]' + '(-a --text)'{-a,--text}'[treat all files as text]' + '--strip-trailing-cr[strip trailing carriage return on input]' + '(-T --initial-tab)'{-T,--initial-tab}'[make tabs line up by prepending a tab]' + '--diff-program=[specify program to compare files]: : _command_names -e' + \*{-L+,--label=}'[use specified label instead of file name]:label' + "$ign(-)--help[display usage information]" + "$ign(-)"{-v,--version}'[display version information]' + ) +else + args=( -A "-*" ) + ed=( + '-e[output ed script for incorporating changes]' + '-E[like -e, but bracket conflicts]' + '-x[like -e, but incorporate only overlapping changes]' + '-X[like -x, but bracket conflicts]' + '-3[like -e, but incorporate only nonoverlapping changes]' + ) + if [[ $OSTYPE != solaris* ]]; then # likely the openbsd diff3 implementation + args+=( '-a[treat all files as text]' ) + fi +fi + +_arguments -s -S $args \ + '1:updated file:_files' \ + '2:original file:_files' \ + '3:updated file:_files' \ + + '(ed)' $ed +