zsh-workers
 help / color / mirror / code / Atom feed
* support more arguments to diff
@ 2018-04-16  5:48 Eitan Adler
  2018-04-16 14:59 ` Daniel Tameling
  0 siblings, 1 reply; 8+ messages in thread
From: Eitan Adler @ 2018-04-16  5:48 UTC (permalink / raw)
  To: Zsh hackers list

This patch isn't perfect since {Net,DragonFly,Open,Free}BSD are not
identical but this patch at leasts makes the completion a lot closer
to reality.

Currently FreeBSD doesn't even show -q for example.

diff --git i/Completion/Unix/Type/_diff_options
w/Completion/Unix/Type/_diff_options
index 55ddecd2a..e436d5cfe 100644
--- i/Completion/Unix/Type/_diff_options
+++ w/Completion/Unix/Type/_diff_options
@@ -148,7 +148,7 @@ else
         '-S+[set first file in comparison]:start with file:_files'
       )
     ;;
-    openbsd*)
+    dragonfly*|freebsd*|netbsd*|openbsd*)
       of+=' -n -q -u -C -D -U'
       args=(
         "($of)-n[produce an rcsdiff(1)-compatible diff]"

-- 
Eitan Adler


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: support more arguments to diff
  2018-04-16  5:48 support more arguments to diff Eitan Adler
@ 2018-04-16 14:59 ` Daniel Tameling
  2018-04-17 11:22   ` Eitan Adler
  0 siblings, 1 reply; 8+ messages in thread
From: Daniel Tameling @ 2018-04-16 14:59 UTC (permalink / raw)
  To: zsh-workers

On Sun, Apr 15, 2018 at 10:48:08PM -0700, Eitan Adler wrote:
> This patch isn't perfect since {Net,DragonFly,Open,Free}BSD are not
> identical but this patch at leasts makes the completion a lot closer
> to reality.
> 
> Currently FreeBSD doesn't even show -q for example.
> 

Did the patch change the behavior of diff completion for you? On my
FreeBSD, diff is some GNU variant, and I think that it's the default
and that I didn't install it via pkg:

$ uname -sr
FreeBSD 11.1-RELEASE-p9

$ which diff
/usr/bin/diff

$ diff -v
diff (GNU diffutils) 2.8.7
Written by Paul Eggert, Mike Haertel, David Hayes,
Richard Stallman, and Len Tower.

Copyright (C) 2004 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

If completing, I also get the GNU options. -q appears actually on the
first line:

$ diff -<Tab>
Completing option
--brief                     -q      -- output only whether files = differ
.....

I think the reason why there is only openbsd in the else branch is
that all the other ship with some kind of GNU diff. (At least that is
what the online man pages of dragonfly and netbsd indicate.) However,
the versions seem to differ wildly across BSDs.

--
Kind regards,
Daniel


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: support more arguments to diff
  2018-04-16 14:59 ` Daniel Tameling
@ 2018-04-17 11:22   ` Eitan Adler
  2018-04-17 12:53     ` Matthew Martin
  2018-08-29 14:56     ` Oliver Kiddle
  0 siblings, 2 replies; 8+ messages in thread
From: Eitan Adler @ 2018-04-17 11:22 UTC (permalink / raw)
  To: Zsh hackers list

On 16 April 2018 at 07:59, Daniel Tameling <tamelingdaniel@gmail.com> wrote:
> On Sun, Apr 15, 2018 at 10:48:08PM -0700, Eitan Adler wrote:
>> This patch isn't perfect since {Net,DragonFly,Open,Free}BSD are not
>> identical but this patch at leasts makes the completion a lot closer
>> to reality.
>>
>> Currently FreeBSD doesn't even show -q for example.
>>
>
> Did the patch change the behavior of diff completion for you? On my
> FreeBSD, diff is some GNU variant, and I think that it's the default
> and that I didn't install it via pkg:

FreeBSD is in the process of converting to a new diff implementation.
This resulted in me seeing a huge difference with this patch.

I'd also like to port this particular diff implementation to the other
BSDs, hence adding all of them to the case statement.

> I think the reason why there is only openbsd in the else branch is
> that all the other ship with some kind of GNU diff. (At least that is
> what the online man pages of dragonfly and netbsd indicate.) However,
> the versions seem to differ wildly across BSDs.

Makes sense from a historical point of view.



-- 
Eitan Adler


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: support more arguments to diff
  2018-04-17 11:22   ` Eitan Adler
@ 2018-04-17 12:53     ` Matthew Martin
  2018-04-18  0:37       ` Eitan Adler
  2018-08-29 14:56     ` Oliver Kiddle
  1 sibling, 1 reply; 8+ messages in thread
From: Matthew Martin @ 2018-04-17 12:53 UTC (permalink / raw)
  To: zsh-workers

On Tue, Apr 17, 2018 at 04:22:38AM -0700, Eitan Adler wrote:
> On 16 April 2018 at 07:59, Daniel Tameling <tamelingdaniel@gmail.com> wrote:
> > On Sun, Apr 15, 2018 at 10:48:08PM -0700, Eitan Adler wrote:
> >> This patch isn't perfect since {Net,DragonFly,Open,Free}BSD are not
> >> identical but this patch at leasts makes the completion a lot closer
> >> to reality.
> >>
> >> Currently FreeBSD doesn't even show -q for example.
> >>
> >
> > Did the patch change the behavior of diff completion for you? On my
> > FreeBSD, diff is some GNU variant, and I think that it's the default
> > and that I didn't install it via pkg:
> 
> FreeBSD is in the process of converting to a new diff implementation.
> This resulted in me seeing a huge difference with this patch.
> 
> I'd also like to port this particular diff implementation to the other
> BSDs, hence adding all of them to the case statement.

I think it would be best to add the other cases as each BSD adopts
whichever diff. I generally try to update the completion to match
-current, so when a new release is picked up the options are correct.

> > I think the reason why there is only openbsd in the else branch is
> > that all the other ship with some kind of GNU diff. (At least that is
> > what the online man pages of dragonfly and netbsd indicate.) However,
> > the versions seem to differ wildly across BSDs.
> 
> Makes sense from a historical point of view.

I think the real reason is I only bothered to update OpenBSD completion
when I sent the patch. I usually shoot for [DFNO]BSD now.

- Matthew Martin


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: support more arguments to diff
  2018-04-17 12:53     ` Matthew Martin
@ 2018-04-18  0:37       ` Eitan Adler
  2018-04-18  9:22         ` Oliver Kiddle
  0 siblings, 1 reply; 8+ messages in thread
From: Eitan Adler @ 2018-04-18  0:37 UTC (permalink / raw)
  To: Zsh hackers list

On 17 April 2018 at 05:53, Matthew Martin <phy1729@gmail.com> wrote:
> On Tue, Apr 17, 2018 at 04:22:38AM -0700, Eitan Adler wrote:
>> On 16 April 2018 at 07:59, Daniel Tameling <tamelingdaniel@gmail.com> wrote:
>> > On Sun, Apr 15, 2018 at 10:48:08PM -0700, Eitan Adler wrote:
>> >> This patch isn't perfect since {Net,DragonFly,Open,Free}BSD are not
>> >> identical but this patch at leasts makes the completion a lot closer
>> >> to reality.
>> >>
>> >> Currently FreeBSD doesn't even show -q for example.
>> >>
>> >
>> > Did the patch change the behavior of diff completion for you? On my
>> > FreeBSD, diff is some GNU variant, and I think that it's the default
>> > and that I didn't install it via pkg:
>>
>> FreeBSD is in the process of converting to a new diff implementation.
>> This resulted in me seeing a huge difference with this patch.
>>
>> I'd also like to port this particular diff implementation to the other
>> BSDs, hence adding all of them to the case statement.
>
> I think it would be best to add the other cases as each BSD adopts
> whichever diff. I generally try to update the completion to match
> -current, so when a new release is picked up the options are correct.

I also wonder if we could just get rid of the OS test and replace it
with a pure version test. What if we run different verrsions than the
default?


-- 
Eitan Adler


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: support more arguments to diff
  2018-04-18  0:37       ` Eitan Adler
@ 2018-04-18  9:22         ` Oliver Kiddle
  2018-04-18  9:36           ` Eitan Adler
  0 siblings, 1 reply; 8+ messages in thread
From: Oliver Kiddle @ 2018-04-18  9:22 UTC (permalink / raw)
  To: Eitan Adler; +Cc: Zsh hackers list

Eitan Adler wrote:
> >> I'd also like to port this particular diff implementation to the other
> >> BSDs, hence adding all of them to the case statement.
> >
> > I think it would be best to add the other cases as each BSD adopts
> > whichever diff. I generally try to update the completion to match
> > -current, so when a new release is picked up the options are correct.
>
> I also wonder if we could just get rid of the OS test and replace it
> with a pure version test. What if we run different verrsions than the
> default?

Yes, detecting the version first is usually best. Arguably, this is what
we already do with $OSTYPE being a fallback; we have:

  _pick_variant -c $cmd gnu=GNU unix -v

Does this new diff produce a helpful signature by which it can be
identified if run as diff -v
Of course this new diff may later diverge and we'll need $OSTYPE checks
again.

I'm not fond of the patch in the form that was posted. I agree with what
Matthew Martin said - lets wait till each BSD actually adopts a new
diff, at least into their unstable/CVS/whatever branch. And it'd be good
not to obscure the valid OpenBSD diff handling just to get a few more
options in. And GNU diff is probably closer anyway.

If you want a temporary workaround while using 12-CURRENT, I'd recommend
setting: _cmd_variant[diff]=gnu

Oliver


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: support more arguments to diff
  2018-04-18  9:22         ` Oliver Kiddle
@ 2018-04-18  9:36           ` Eitan Adler
  0 siblings, 0 replies; 8+ messages in thread
From: Eitan Adler @ 2018-04-18  9:36 UTC (permalink / raw)
  To: Oliver Kiddle; +Cc: Zsh hackers list

On 18 April 2018 at 02:22, Oliver Kiddle <okiddle@yahoo.co.uk> wrote:
> Eitan Adler wrote:
>> >> I'd also like to port this particular diff implementation to the other
>> >> BSDs, hence adding all of them to the case statement.
>> >
>> > I think it would be best to add the other cases as each BSD adopts
>> > whichever diff. I generally try to update the completion to match
>> > -current, so when a new release is picked up the options are correct.
>>
>> I also wonder if we could just get rid of the OS test and replace it
>> with a pure version test. What if we run different verrsions than the
>> default?
>
> Yes, detecting the version first is usually best. Arguably, this is what
> we already do with $OSTYPE being a fallback; we have:
>
>   _pick_variant -c $cmd gnu=GNU unix -v
>
> Does this new diff produce a helpful signature by which it can be
> identified if run as diff -v

Annoyingly no, but that seems easy to fix.
∴diff -V
diff: invalid option -- V

> I'm not fond of the patch in the form that was posted.

What about just adding FreeBSD then?

> If you want a temporary workaround while using 12-CURRENT, I'd recommend
> setting: _cmd_variant[diff]=gnu

I'll use that for now.



-- 
Eitan Adler


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: support more arguments to diff
  2018-04-17 11:22   ` Eitan Adler
  2018-04-17 12:53     ` Matthew Martin
@ 2018-08-29 14:56     ` Oliver Kiddle
  1 sibling, 0 replies; 8+ messages in thread
From: Oliver Kiddle @ 2018-08-29 14:56 UTC (permalink / raw)
  To: Eitan Adler; +Cc: Zsh hackers list

On 17 Apr, Eitan Adler wrote:
> FreeBSD is in the process of converting to a new diff implementation.
> This resulted in me seeing a huge difference with this patch.

Running the FreeBSD 12 alpha in a jail worked just about well enough for
me to be able to run the new diff in order to adapt the completion to
it. It is mostly similar to GNU diff which is no surprise given that it
likely needed to be backward compatible with the old diff.

I also rearranged a few other options and made some descriptions more
consistent.

Oliver

diff --git a/Completion/Unix/Type/_diff_options b/Completion/Unix/Type/_diff_options
index 55ddecd2a..4fd27442e 100644
--- a/Completion/Unix/Type/_diff_options
+++ b/Completion/Unix/Type/_diff_options
@@ -1,6 +1,6 @@
 #autoload
 
-local of ofwuc ouc oss ofwy ofwg ofwl cmd
+local of ofwuc ouc oss ofwy ofwg ofwl cmd variant
 local -a args
 
 cmd="$1"
@@ -25,16 +25,16 @@ _diff_palette() {
   return ret
 }
 
-if _pick_variant -c $cmd gnu=GNU unix -v; then
+if _pick_variant -r variant -c $cmd gnu=GNU unix -v || [[ $OSTYPE = freebsd<12->.* ]]; then
   # output formats
   of="-y --side-by-side -n --rcs -e -f --ed -q --brief -c -C --context -u -U \
   --unified --old-group-format --new-group-format --changed-group-format \
   --unchanged-group-format --line-format --old-line-format --new-line-format \
-  --unchanged-line-format --normal -D --ifdef"
+  --unchanged-line-format -D --ifdef"
 
   # output formats w/o unified and context
   ofwuc="-y --side-by-side -n --rcs -e -f --ed -q --brief --old-group-format \
-  --new-group-format --changed-group-format --unchanged-group-format --normal \
+  --new-group-format --changed-group-format --unchanged-group-format \
   --line-format --old-line-format --new-line-format --unchanged-line-format \
   -D --ifdef"
 
@@ -48,26 +48,50 @@ if _pick_variant -c $cmd gnu=GNU unix -v; then
   ofwy="-n --rcs -e -f --ed -q --brief -c -C --context -u -U --unified \
   --old-group-format --new-group-format --changed-group-format \
   --unchanged-group-format --line-format --old-line-format \
-  --new-line-format --unchanged-line-format --normal -D --ifdef"
+  --new-line-format --unchanged-line-format -D --ifdef"
 
   # output formats w/o group format
-  ofwg="-n --rcs -e -f --ed -q --brief -c -C --context -u -U --unified --normal \
+  ofwg="-n --rcs -e -f --ed -q --brief -c -C --context -u -U --unified \
   --line-format --old-line-format --new-line-format --unchanged-line-format
   -D --ifdef"
 
   # output formats w/o line format
   ofwl="-n --rcs -e -f --ed -q --brief -c -C --context -u -U --unified \
-  --old-group-format --new-group-format --changed-group-format --normal \
+  --old-group-format --new-group-format --changed-group-format \
   --unchanged-group-format"
 
-  _arguments -s \
+  if [[ $variant = gnu ]]; then
+    (( $#words > 2 )) || args+=(
+      '(-v --version)'{-v,--version}'[display version information]'
+      '--help[display usage information]'
+    )
+    args+=(
+      '(-H --speed-large-files)'{-H,--speed-large-files}'[assume large files and many small changes]'
+      '(-E --ignore-tab-expansion)'{-E,--ignore-tab-expansion}'[ignore changes due to tab expansion]'
+      '(-Z --ignore-trailing-space)'{-Z,--ignore-trailing-space}'[ignore white space at line end]'
+      "($ofwuc $oss -F --show-function-line)"{-F+,--show-function-line=}'[show the most recent line matching regex]:regex'
+      "($ofwy $ouc --width -W)"{--width=,-W+}'[set size of line]:number of characters per line'
+      "($ofwy $ouc)--left-column[output only left column of common lines]"
+      "($ofwy $ouc)--suppress-common-lines[do not output common lines]"
+      "($ofwg $ouc $oss)--old-group-format=[set old group format]:old group format"
+      "($ofwg $ouc $oss)--new-group-format=[set new group format]:new group format"
+      "($ofwl $ouc $oss)--unchanged-line-format=[set unchanged line format]:unchanged line format"
+      '(--to-file)--from-file=[compare specified file to all operands]:from file:_files' \
+      '(--from-file)--to-file=[compare all operands to specified file]:to file:_files' \
+      '--color=-[use colors in output]::when [auto]:(never always auto)'
+      '--palette=[specify colors to use]:color:_diff_palette'
+      "($of $ouc)--side-by-side[output in two columns]"
+      "($of $ouc)-y[output in two columns]"
+    )
+  else
+    args+=( '!--speed-large-files' )
+  fi
+
+  _arguments -s $args \
     '(-i --ignore-case)'{-i,--ignore-case}'[case insensitive]' \
-    '(--no-ignore-file-name-case)--ignore-file-name-case[ignore case when comparing file names]' \
-    '(--ignore-file-name-case)--no-ignore-file-name-case[consider case when comparing file names]' \
-    '(-E --ignore-tab-expansion)'{-E,--ignore-tab-expansion}'[ignore changes due to tab expansion]' \
-    '(-Z --ignore-trailing-space)'{-Z,--ignore-trailing-space}'[ignore white space at line end]' \
+    '--ignore-file-name-case[ignore case when comparing file names]' \
+    '!(--ignore-file-name-case)--no-ignore-file-name-case' \
     '(-b --ignore-space-change)'{-b,--ignore-space-change}'[ignore changes in the amount of white space]' \
-    '(--ignore-all-space -w)'{--ignore-all-space,-w}'[ignore all white space]' \
     '(-B --ignore-blank-lines)'{-B,--ignore-blank-lines}'[ignore lines that are all blank]' \
     '(-I --ignore-matching-lines)'{-I+,--ignore-matching-lines=}'[ignore lines that match regex]:line exclusion regex:' \
     '--strip-trailing-cr[strip trailing carriage return on input]' \
@@ -78,30 +102,18 @@ if _pick_variant -c $cmd gnu=GNU unix -v; then
     "($of $oss)-u[output a unified diff]" \
     "($ofwuc $oss)*"{-L+,--label=}'[set label to use instead of file name and timestamp]:label' \
     "($ofwuc $oss -p --show-c-function)"{-p,--show-c-function}'[show C function of each change]' \
-    "($ofwuc $oss -F --show-function-line)"{-F+,--show-function-line=}'[show the most recent line matching regex]:regex' \
-    "($of $ouc $oss)--brief[output only whether files differ]" \
-    "($of $ouc $oss)-q[output only whether files differ]" \
+    "($of $ouc $oss)"{-q,--brief}'[output only whether files differ]' \
     "($of $ouc $oss -e --ed)"{--ed,-e}'[output an ed script]' \
-    "($of $ouc $oss)--normal[output a normal diff]" \
-    "($of $ouc $oss)--forward-ed[output a reversed ed script]" \
-    "($of $ouc $oss)-f[output a reversed ed script]" \
-    "($of $ouc $oss)--rcs[RCS format diff]" \
-    "($of $ouc $oss)-n[RCS format diff]" \
-    "($of $ouc)--side-by-side[output in two columns]" \
-    "($of $ouc)-y[output in two columns]" \
-    "($ofwy $ouc --width -W)"{--width=,-W+}'[set size of line]:number of characters per line' \
-    "($ofwy $ouc)--left-column[output only left column of common lines]" \
-    "($ofwy $ouc)--suppress-common-lines[do not output common lines]" \
-    "($of $oss)"{-D,--ifdef=}'[output merged file with preprocessor directives]:preprocessor symbol' \
-    "($ofwg $ouc $oss)--old-group-format=[set old group format]:old group format" \
-    "($ofwg $ouc $oss)--new-group-format=[set new group format]:new group format" \
+    "!($of $ouc $oss)--normal" \
+    "($of $ouc $oss)"{-f,--forward-ed}'[output a reversed ed script]' \
+    "($of $ouc $oss)"{-n,--rcs}'[output an RCS format diff]' \
+    "($of $oss)"{-D+,--ifdef=}'[output merged file with preprocessor directives]:preprocessor symbol' \
     "($ofwg $ouc $oss)--changed-group-format=[set changed group format]:changed group format" \
     "($ofwg $ouc $oss)--unchanged-group-format=[set unchanged group format]:unchanged group format" \
     "($ofwl $ouc $oss)--line-format=[set line format]:line format" \
     "($ofwl $ouc $oss)--old-line-format=[set old line format]:old line format" \
     "($ofwl $ouc $oss)--new-line-format=[set new line format]:new line format" \
-    "($ofwl $ouc $oss)--unchanged-line-format=[set unchanged line format]:unchanged line format" \
-    '(-l --paginate)'{-l,--paginate}'[output through pr]' \
+    '(-l --paginate)'{-l,--paginate}'[long output format (paginate with pr(1))]' \
     '(-t --expand-tabs)'{-t,--expand-tabs}'[expand tabs to spaces]' \
     '(-T --initial-tab)'{-T,--initial-tab}'[prepend a tab]' \
     '--tabsize=[specify width of tab]:width [8]' \
@@ -111,66 +123,55 @@ if _pick_variant -c $cmd gnu=GNU unix -v; then
     '(-P --unidirectional-new-file)'{-P,--unidirectional-new-file}'[treat absent first files as empty]' \
     '(-s --report-identical-files)'{-s,--report-identical-files}'[report when two files are the same]' \
     \*{-x+,--exclude=}'[exclude files matching pattern]:exclusion pattern' \
-    '(-X --exclude-from)'{-X+,--exclude-from=}'[exclude files matching pattern in file]:exclude file:_files' \
+    \*{-X+,--exclude-from=}'[exclude files matching pattern in file]:exclude file:_files' \
     '(-S --starting-file)'{-S+,--starting-file=}'[set first file in comparison]:start with file:_files' \
-    '(--to-file)--from-file=[compare specified file to all operands]:from file:_files' \
-    '(--from-file)--to-file=[compare all operands to specified file]:to file:_files' \
     '--horizon-lines=[set number of lines to keep in prefix and suffix]:number of horizon lines' \
     '(-d --minimal)'{-d,--minimal}'[try to find a smaller set of changes]' \
-    '(-H --speed-large-files)'{-H,--speed-large-files}'[assume large files and many small changes]' \
-    '--color=-[use colors in output]::when [auto]:(never always auto)' \
-    '--palette=[specify colors to use]:color:_diff_palette' \
-    '(-v --version)'{-v,--version}'[display version info]' \
-    '--help[display help info]' \
     "$@"
 else
   of='-c -e -f'
   case $OSTYPE in
-    solaris2.<9->)
+    openbsd*|solaris2.<9->)
       of+=' -u -U'
-      args=(
-	"($of)-u[output a unified diff]"
-	"($of)-U[output a unified diff]:lines of context"
-      )
-    ;&
-    solaris*)
-      of+=' -C -h -n -D'
       args+=(
-	'-i[case insensitive]'
-        '-t[expand tabs to spaces]'
-	'-w[ignore all white space]'
+	"($of)-u[output a unified diff]"
+	"($of)-U+[output a unified diff]:lines of context"
+      )
+    ;|
+    openbsd*|solaris*)
+      args+=(
 	"($of)-C+[output a context diff]:lines of context"
-	"($of)-h[do a fast, half-hearted job]"
-	"($of)-n[reversed ed script]"
-	"($of)-D[output merged file with preprocessor directives]:preprocessor symbol"
-        '-l[output through pr]'
+	"($of)-D+[output merged file with preprocessor directives]:preprocessor symbol"
+	'-i[case insensitive]'
+	'-l[long output format (paginate with pr(1))]'
 	'-s[report on identical files]'
+	'-t[expand tabs in output lines]'
+      )
+    ;|
+    solaris*)
+      of+=' -h -n'
+      args+=(
+	'-w[ignore all white space]'
+	"($of)-h[do a fast, half-hearted job]"
+	"($of)-n[output a reversed ed script]"
         '-S+[set first file in comparison]:start with file:_files'
       )
     ;;
     openbsd*)
       of+=' -n -q -u -C -D -U'
       args=(
-        "($of)-n[produce an rcsdiff(1)-compatible diff]"
+        "($of)-n[output an rcsdiff(1)-compatible diff]"
         "($of)-q[only print a line when the files differ; does not produce a list of changes]"
-        "($of)-u[produce a unified diff with 3 lines of context]"
-        "($of)-C+[produce a context diff]:number of lines of context"
-        "($of)-D[produce a merged file with preprocessor directives]:preprocessor symbol"
-        "($of)-U+[produce a unified diff]:number of lines of context"
         '-a[treat all files as ASCII text]'
         '-d[try to produce the smallest diff possible]'
         '-I[ignore changes whose lines match the extended regular expression]:extended regular expression pattern'
-        '-i[ignore case]'
         '*-L[print a label instead of the file name and time]:label'
-        '-l[long output format (paginate with pr(1))]'
         '-p[show characters from the last line before the context]'
         '-T[consistently align tabs]'
-        '-t[expand tabs in output lines]'
         '-w[like -b, but totally ignore whitespace]'
         '-N[treat absent files in either directory as if they were empty]'
         '-P[treat absent files in the second directory as if they were empty]'
         '-S[start a directory diff from a file name]:file name:_files'
-        '-s[report files that are the same]'
         '*-X[exclude files and subdirectories whose basenames match lines in a file]:file name:_files'
         '-x[exclude files and subdirectories whose basenames match a pattern]:pattern'
       )


^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2018-08-29 14:56 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-04-16  5:48 support more arguments to diff Eitan Adler
2018-04-16 14:59 ` Daniel Tameling
2018-04-17 11:22   ` Eitan Adler
2018-04-17 12:53     ` Matthew Martin
2018-04-18  0:37       ` Eitan Adler
2018-04-18  9:22         ` Oliver Kiddle
2018-04-18  9:36           ` Eitan Adler
2018-08-29 14:56     ` Oliver Kiddle

Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/zsh/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).