@@ -26,6 +26,21 @@ func (s *diffMergeMac) Report(approved, received string) bool {
2626 return launchProgram (programName , approved , args ... )
2727}
2828
29+ type fileMergeMac struct {}
30+
31+ func NewFileMergeMacReporter () Reporter {
32+ return & fileMergeMac {}
33+ }
34+
35+ func (s * fileMergeMac ) Report (approved , received string ) bool {
36+ if runtime .GOOS != goosDarwin {
37+ return false
38+ }
39+ programName := "/Applications/Xcode.app/Contents/Applications/FileMerge.app/Contents/MacOS/FileMerge"
40+ args := []string {"--nosplash" , "-left" , received , "-right" , approved }
41+ return launchProgram (programName , approved , args ... )
42+ }
43+
2944type beyondCompareMac struct {}
3045
3146func NewBeyondCompareMacReporter () Reporter {
@@ -451,6 +466,7 @@ type diffToolOnMac struct{}
451466func NewDiffToolOnMacReporter () Reporter {
452467 return NewFirstWorkingReporter (
453468 NewDiffMergeMacReporter (),
469+ NewFileMergeMacReporter (),
454470 NewBeyondCompareMacReporter (),
455471 NewKaleidoscopeMacReporter (),
456472 NewKaleidoscope3MacReporter (),
@@ -470,6 +486,7 @@ func (s *diffToolOnMac) Report(approved, received string) bool {
470486 }
471487 return NewFirstWorkingReporter (
472488 NewDiffMergeMacReporter (),
489+ NewFileMergeMacReporter (),
473490 NewBeyondCompareMacReporter (),
474491 NewKaleidoscopeMacReporter (),
475492 NewKaleidoscope3MacReporter (),
0 commit comments