Skip to content

Commit af872b1

Browse files
committed
docs
1 parent c3f323b commit af872b1

File tree

3 files changed

+379
-0
lines changed

3 files changed

+379
-0
lines changed

docs/diff-tool.md

Lines changed: 184 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -149,6 +149,14 @@ Non-MDI tools are preferred since it allows [DiffEngineTray](tray.md) to track a
149149
* Environment variable for custom install location: `DiffEngine_BeyondCompare`
150150
* Supported binaries: .7z, .bcpkg, .bin, .bmp, .bz, .bz2, .cab, .chm, .deb, .ear, .gif, .gz, .ico, .img, .iso, .iso, .jar, .jpeg, .jpg, .kmz, .nupkg, .pdf, .png, .rar, .rpm, .rtf, .svg, .swm, .tar, .tbz, .tbz2, .tbz2, .tgz, .tif, .tiff, .war, .webp, .wim, .xlsx, .xz, .zip, .zipx
151151

152+
#### Tool order:
153+
154+
Use [tool order](diff-tool.order.md) to prioritise BeyondCompare over other tools.
155+
156+
```
157+
DiffTools.UseOrder(DiffTool.BeyondCompare);
158+
```
159+
152160
#### Notes:
153161

154162
* [Command line reference](https://www.scootersoftware.com/v4help/index.html?command_line_reference.html)
@@ -211,6 +219,14 @@ Non-MDI tools are preferred since it allows [DiffEngineTray](tray.md) to track a
211219
* Environment variable for custom install location: `DiffEngine_DeltaWalker`
212220
* Supported binaries: .bmp, .bz2, .doc, .docx, .ear, .gif, .gz, .htm, .html, .ico, .j2k, .jar, .jp2, .jpg, .pbm, .pct, .pdf, .pgm, .pic, .pict, .png, .pnm, .ppm, .ppt, .psd, .rtf, .svg, .tar, .tbz2, .tgz, .tif, .xls, .xlsx, .zip
213221

222+
#### Tool order:
223+
224+
Use [tool order](diff-tool.order.md) to prioritise DeltaWalker over other tools.
225+
226+
```
227+
DiffTools.UseOrder(DiffTool.DeltaWalker);
228+
```
229+
214230
#### Notes:
215231

216232
* [Command line usage](https://www.deltawalker.com/integrate/command-line)
@@ -255,6 +271,14 @@ Non-MDI tools are preferred since it allows [DiffEngineTray](tray.md) to track a
255271
* Environment variable for custom install location: `DiffEngine_Diffinity`
256272
* Supported binaries: .svg
257273

274+
#### Tool order:
275+
276+
Use [tool order](diff-tool.order.md) to prioritise Diffinity over other tools.
277+
278+
```
279+
DiffTools.UseOrder(DiffTool.Diffinity);
280+
```
281+
258282
#### Windows settings:
259283

260284
* Example target on left arguments:
@@ -281,6 +305,14 @@ Non-MDI tools are preferred since it allows [DiffEngineTray](tray.md) to track a
281305
* Environment variable for custom install location: `DiffEngine_ExamDiff`
282306
* Supported binaries: .bin, .svg
283307

308+
#### Tool order:
309+
310+
Use [tool order](diff-tool.order.md) to prioritise ExamDiff over other tools.
311+
312+
```
313+
DiffTools.UseOrder(DiffTool.ExamDiff);
314+
```
315+
284316
#### Notes:
285317

286318
* [Command line reference](https://www.prestosoft.com/ps.asp?page=htmlhelp/edp/command_line_options)
@@ -313,6 +345,14 @@ Non-MDI tools are preferred since it allows [DiffEngineTray](tray.md) to track a
313345
* Environment variable for custom install location: `DiffEngine_Guiffy`
314346
* Supported binaries: .bmp, .gif, .jpeg, .jpg, .png, .svg, .wbmp
315347

348+
#### Tool order:
349+
350+
Use [tool order](diff-tool.order.md) to prioritise Guiffy over other tools.
351+
352+
```
353+
DiffTools.UseOrder(DiffTool.Guiffy);
354+
```
355+
316356
#### Notes:
317357

318358
* [Command line reference](https://www.guiffy.com/help/GuiffyHelp/GuiffyCmd.html)
@@ -360,6 +400,14 @@ Non-MDI tools are preferred since it allows [DiffEngineTray](tray.md) to track a
360400
* Environment variable for custom install location: `DiffEngine_Kaleidoscope`
361401
* Supported binaries: .bin, .bmp, .gif, .ico, .jpeg, .jpg, .png, .svg, .tif, .tiff
362402

403+
#### Tool order:
404+
405+
Use [tool order](diff-tool.order.md) to prioritise Kaleidoscope over other tools.
406+
407+
```
408+
DiffTools.UseOrder(DiffTool.Kaleidoscope);
409+
```
410+
363411
#### OSX settings:
364412

365413
* Example target on left arguments:
@@ -383,6 +431,14 @@ Non-MDI tools are preferred since it allows [DiffEngineTray](tray.md) to track a
383431
* Environment variable for custom install location: `DiffEngine_KDiff3`
384432
* Supported binaries: .svg
385433

434+
#### Tool order:
435+
436+
Use [tool order](diff-tool.order.md) to prioritise KDiff3 over other tools.
437+
438+
```
439+
DiffTools.UseOrder(DiffTool.KDiff3);
440+
```
441+
386442
#### Notes:
387443

388444
* `--cs CreateBakFiles=0` to not save a `.orig` file when merging
@@ -430,6 +486,14 @@ Non-MDI tools are preferred since it allows [DiffEngineTray](tray.md) to track a
430486
* Environment variable for custom install location: `DiffEngine_Neovim`
431487
* Supported binaries: .svg
432488

489+
#### Tool order:
490+
491+
Use [tool order](diff-tool.order.md) to prioritise Neovim over other tools.
492+
493+
```
494+
DiffTools.UseOrder(DiffTool.Neovim);
495+
```
496+
433497
#### Notes:
434498

435499
* https://neovim.io/doc/user/diff.html
@@ -484,6 +548,14 @@ Non-MDI tools are preferred since it allows [DiffEngineTray](tray.md) to track a
484548
* Environment variable for custom install location: `DiffEngine_P4Merge`
485549
* Supported binaries: .bmp, .gif, .jpeg, .jpg, .pbm, .pgm, .png, .ppm, .svg, .tif, .tiff, .xbm, .xpm
486550

551+
#### Tool order:
552+
553+
Use [tool order](diff-tool.order.md) to prioritise P4Merge over other tools.
554+
555+
```
556+
DiffTools.UseOrder(DiffTool.P4Merge);
557+
```
558+
487559
#### Windows settings:
488560

489561
* Example target on left arguments for text:
@@ -561,6 +633,14 @@ Non-MDI tools are preferred since it allows [DiffEngineTray](tray.md) to track a
561633
* Environment variable for custom install location: `DiffEngine_Rider`
562634
* Supported binaries: .svg
563635

636+
#### Tool order:
637+
638+
Use [tool order](diff-tool.order.md) to prioritise Rider over other tools.
639+
640+
```
641+
DiffTools.UseOrder(DiffTool.Rider);
642+
```
643+
564644
#### Notes:
565645

566646
* https://www.jetbrains.com/help/rider/Command_Line_Differences_Viewer.html
@@ -621,6 +701,14 @@ Non-MDI tools are preferred since it allows [DiffEngineTray](tray.md) to track a
621701
* Environment variable for custom install location: `DiffEngine_TkDiff`
622702
* Supported binaries: .svg
623703

704+
#### Tool order:
705+
706+
Use [tool order](diff-tool.order.md) to prioritise TkDiff over other tools.
707+
708+
```
709+
DiffTools.UseOrder(DiffTool.TkDiff);
710+
```
711+
624712
#### OSX settings:
625713

626714
* Example target on left arguments:
@@ -645,6 +733,14 @@ Non-MDI tools are preferred since it allows [DiffEngineTray](tray.md) to track a
645733
* Environment variable for custom install location: `DiffEngine_TortoiseGitIDiff`
646734
* Supported binaries: .bmp, .gif, .ico, .jpeg, .jpg, .png, .tif, .tiff
647735

736+
#### Tool order:
737+
738+
Use [tool order](diff-tool.order.md) to prioritise TortoiseGitIDiff over other tools.
739+
740+
```
741+
DiffTools.UseOrder(DiffTool.TortoiseGitIDiff);
742+
```
743+
648744
#### Windows settings:
649745

650746
* Example target on left arguments:
@@ -671,6 +767,14 @@ Non-MDI tools are preferred since it allows [DiffEngineTray](tray.md) to track a
671767
* Environment variable for custom install location: `DiffEngine_TortoiseGitMerge`
672768
* Supported binaries: .bin, .svg
673769

770+
#### Tool order:
771+
772+
Use [tool order](diff-tool.order.md) to prioritise TortoiseGitMerge over other tools.
773+
774+
```
775+
DiffTools.UseOrder(DiffTool.TortoiseGitMerge);
776+
```
777+
674778
#### Windows settings:
675779

676780
* Example target on left arguments:
@@ -697,6 +801,14 @@ Non-MDI tools are preferred since it allows [DiffEngineTray](tray.md) to track a
697801
* Environment variable for custom install location: `DiffEngine_TortoiseIDiff`
698802
* Supported binaries: .bmp, .gif, .ico, .jpeg, .jpg, .png, .tif, .tiff
699803

804+
#### Tool order:
805+
806+
Use [tool order](diff-tool.order.md) to prioritise TortoiseIDiff over other tools.
807+
808+
```
809+
DiffTools.UseOrder(DiffTool.TortoiseIDiff);
810+
```
811+
700812
#### Windows settings:
701813

702814
* Example target on left arguments:
@@ -723,6 +835,14 @@ Non-MDI tools are preferred since it allows [DiffEngineTray](tray.md) to track a
723835
* Environment variable for custom install location: `DiffEngine_TortoiseMerge`
724836
* Supported binaries: .svg
725837

838+
#### Tool order:
839+
840+
Use [tool order](diff-tool.order.md) to prioritise TortoiseMerge over other tools.
841+
842+
```
843+
DiffTools.UseOrder(DiffTool.TortoiseMerge);
844+
```
845+
726846
#### Windows settings:
727847

728848
* Example target on left arguments:
@@ -749,6 +869,14 @@ Non-MDI tools are preferred since it allows [DiffEngineTray](tray.md) to track a
749869
* Environment variable for custom install location: `DiffEngine_Vim`
750870
* Supported binaries: .svg
751871

872+
#### Tool order:
873+
874+
Use [tool order](diff-tool.order.md) to prioritise Vim over other tools.
875+
876+
```
877+
DiffTools.UseOrder(DiffTool.Vim);
878+
```
879+
752880
#### Notes:
753881

754882
* [Options](http://vimdoc.sourceforge.net/htmldoc/options.html)
@@ -797,6 +925,14 @@ Non-MDI tools are preferred since it allows [DiffEngineTray](tray.md) to track a
797925
* Environment variable for custom install location: `DiffEngine_WinMerge`
798926
* Supported binaries: .bin, .bmp, .bw, .cut, .dds, .exr, .g3, .gif, .hdp, .hdr, .ico, .iff, .j2c, .j2k, .jif, .jng, .jp2, .jpe, .jpeg, .jpg, .jxr, .koa, .lbm, .mng, .pbm, .pcd, .pct, .pcx, .pfm, .pgm, .pic, .pict, .png, .ppm, .psd, .ras, .rgb, .rgba, .sgi, .svg, .targa, .tga, .tif, .tiff, .wap, .wbm, .wbmp, .wdp, .webp, .xbm, .xpm
799927

928+
#### Tool order:
929+
930+
Use [tool order](diff-tool.order.md) to prioritise WinMerge over other tools.
931+
932+
```
933+
DiffTools.UseOrder(DiffTool.WinMerge);
934+
```
935+
800936
#### Notes:
801937

802938
* [Command line reference](https://manual.winmerge.org/en/Command_line.html).
@@ -836,6 +972,14 @@ Non-MDI tools are preferred since it allows [DiffEngineTray](tray.md) to track a
836972
* Environment variable for custom install location: `DiffEngine_AraxisMerge`
837973
* Supported binaries: .bmp, .dib, .emf, .gif, .j2c, .j2k, .jif, .jp2, .jpc, .jpeg, .jpg, .jpx, .pbm, .pcx, .pgm, .png, .ppm, .ras, .svg, .tga, .tif, .tiff, .wmf
838974

975+
#### Tool order:
976+
977+
Use [tool order](diff-tool.order.md) to prioritise AraxisMerge over other tools.
978+
979+
```
980+
DiffTools.UseOrder(DiffTool.AraxisMerge);
981+
```
982+
839983
#### Notes:
840984

841985
* [Supported image files](https://www.araxis.com/merge/documentation-windows/comparing-image-files.en)
@@ -883,6 +1027,14 @@ Non-MDI tools are preferred since it allows [DiffEngineTray](tray.md) to track a
8831027
* Environment variable for custom install location: `DiffEngine_Cursor`
8841028
* Supported binaries: .bin, .svg
8851029

1030+
#### Tool order:
1031+
1032+
Use [tool order](diff-tool.order.md) to prioritise Cursor over other tools.
1033+
1034+
```
1035+
DiffTools.UseOrder(DiffTool.Cursor);
1036+
```
1037+
8861038
#### Notes:
8871039

8881040
* [Command line reference](https://cursor.com/docs/configuration/shell)
@@ -940,6 +1092,14 @@ Non-MDI tools are preferred since it allows [DiffEngineTray](tray.md) to track a
9401092
* Environment variable for custom install location: `DiffEngine_Meld`
9411093
* Supported binaries: .svg
9421094

1095+
#### Tool order:
1096+
1097+
Use [tool order](diff-tool.order.md) to prioritise Meld over other tools.
1098+
1099+
```
1100+
DiffTools.UseOrder(DiffTool.Meld);
1101+
```
1102+
9431103
#### Notes:
9441104

9451105
* While Meld is not MDI, it is treated as MDI since it uses a single shared process to managing multiple windows. As such it is not possible to close a Meld merge process for a specific diff. [Vote for this feature](https://gitlab.gnome.org/GNOME/meld/-/issues/584)
@@ -998,6 +1158,14 @@ Non-MDI tools are preferred since it allows [DiffEngineTray](tray.md) to track a
9981158
* Environment variable for custom install location: `DiffEngine_SublimeMerge`
9991159
* Supported binaries: .svg
10001160

1161+
#### Tool order:
1162+
1163+
Use [tool order](diff-tool.order.md) to prioritise SublimeMerge over other tools.
1164+
1165+
```
1166+
DiffTools.UseOrder(DiffTool.SublimeMerge);
1167+
```
1168+
10011169
#### Notes:
10021170

10031171
* While SublimeMerge is not MDI, it is treated as MDI since it uses a single shared process to managing multiple windows. As such it is not possible to close a Sublime merge process for a specific diff. [Vote for this feature](https://github.com/sublimehq/sublime_merge/issues/1168)
@@ -1055,6 +1223,14 @@ Non-MDI tools are preferred since it allows [DiffEngineTray](tray.md) to track a
10551223
* Environment variable for custom install location: `DiffEngine_VisualStudio`
10561224
* Supported binaries: .svg
10571225

1226+
#### Tool order:
1227+
1228+
Use [tool order](diff-tool.order.md) to prioritise VisualStudio over other tools.
1229+
1230+
```
1231+
DiffTools.UseOrder(DiffTool.VisualStudio);
1232+
```
1233+
10581234
#### Windows settings:
10591235

10601236
* Example target on left arguments:
@@ -1090,6 +1266,14 @@ Non-MDI tools are preferred since it allows [DiffEngineTray](tray.md) to track a
10901266
* Environment variable for custom install location: `DiffEngine_VisualStudioCode`
10911267
* Supported binaries: .bin, .svg
10921268

1269+
#### Tool order:
1270+
1271+
Use [tool order](diff-tool.order.md) to prioritise VisualStudioCode over other tools.
1272+
1273+
```
1274+
DiffTools.UseOrder(DiffTool.VisualStudioCode);
1275+
```
1276+
10931277
#### Notes:
10941278

10951279
* [Command line reference](https://code.visualstudio.com/docs/editor/command-line)

src/DiffEngine.Tests/DefinitionsTest.cs

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -133,6 +133,17 @@ static void AddTool(StreamWriter writer, Definition tool)
133133
writer.WriteLine($" * Supported binaries: {string.Join(", ", tool.BinaryExtensions.OrderBy(_ => _))}");
134134
}
135135

136+
writer.WriteLine(
137+
$"""
138+
139+
#### Tool order:
140+
141+
Use [tool order](diff-tool.order.md) to prioritise {tool.Tool} over other tools.
142+
143+
```
144+
DiffTools.UseOrder(DiffTool.{tool.Tool});
145+
```
146+
""");
136147
if (tool.Notes != null)
137148
{
138149
writer.WriteLine(

0 commit comments

Comments
 (0)