diff --git a/docs/diff-tool.md b/docs/diff-tool.md index e803b25c..37faf09d 100644 --- a/docs/diff-tool.md +++ b/docs/diff-tool.md @@ -1365,6 +1365,7 @@ DiffTools.UseOrder(DiffTool.SublimeMerge); mergetool "tempFile.txt" "targetFile.txt" ``` * Scanned paths: + * `/Applications/Sublime Merge.app/Contents/SharedSupport/bin/smerge` * `/Applications/smerge.app/Contents/MacOS/smerge` * `%PATH%smerge` diff --git a/src/DiffEngine.Tests/diffTools.include.md b/src/DiffEngine.Tests/diffTools.include.md index 1a99761c..4101907c 100644 --- a/src/DiffEngine.Tests/diffTools.include.md +++ b/src/DiffEngine.Tests/diffTools.include.md @@ -1230,6 +1230,7 @@ DiffTools.UseOrder(DiffTool.SublimeMerge); mergetool "tempFile.txt" "targetFile.txt" ``` * Scanned paths: + * `/Applications/Sublime Merge.app/Contents/SharedSupport/bin/smerge` * `/Applications/smerge.app/Contents/MacOS/smerge` * `%PATH%smerge` diff --git a/src/DiffEngine/Implementation/SublimeMerge.cs b/src/DiffEngine/Implementation/SublimeMerge.cs index f16c05fd..840717a8 100644 --- a/src/DiffEngine/Implementation/SublimeMerge.cs +++ b/src/DiffEngine/Implementation/SublimeMerge.cs @@ -27,6 +27,12 @@ public static Definition SublimeMerge() Osx: new( "smerge", launchArguments, + // The bundle is "Sublime Merge.app", and the command line tool inside it lives + // under SharedSupport/bin rather than MacOS - which holds the GUI binary. The + // one path listed here named neither, so a Mac install was never found by + // directory search and only resolved for someone who had put smerge on PATH + // themselves + "/Applications/Sublime Merge.app/Contents/SharedSupport/bin/", "/Applications/smerge.app/Contents/MacOS/")), Notes: " * 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)"); }