Skip to content

Commit c0b6c9a

Browse files
committed
- F added SublimeMerge
1 parent f5a4c85 commit c0b6c9a

File tree

2 files changed

+71
-3
lines changed

2 files changed

+71
-3
lines changed

reporters/diff_reporters_generated.go

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -401,6 +401,51 @@ func (s *diffCommandLineMac) Report(approved, received string) bool {
401401
return launchProgram(programName, approved, args...)
402402
}
403403

404+
type sublimeMergeMac struct{}
405+
406+
func NewSublimeMergeMacReporter() Reporter {
407+
return &sublimeMergeMac{}
408+
}
409+
410+
func (s *sublimeMergeMac) Report(approved, received string) bool {
411+
if runtime.GOOS != goosDarwin {
412+
return false
413+
}
414+
programName := "/Applications/Sublime Merge.app/Contents/SharedSupport/bin/smerge"
415+
args := []string{"mergetool", received, approved}
416+
return launchProgram(programName, approved, args...)
417+
}
418+
419+
type sublimeMergeWindows struct{}
420+
421+
func NewSublimeMergeWindowsReporter() Reporter {
422+
return &sublimeMergeWindows{}
423+
}
424+
425+
func (s *sublimeMergeWindows) Report(approved, received string) bool {
426+
if runtime.GOOS != goosWindows {
427+
return false
428+
}
429+
programName := expandProgramFiles("{ProgramFiles}Sublime Merge\\smerge.exe")
430+
args := []string{"mergetool", received, approved}
431+
return launchProgram(programName, approved, args...)
432+
}
433+
434+
type sublimeMergeLinux struct{}
435+
436+
func NewSublimeMergeLinuxReporter() Reporter {
437+
return &sublimeMergeLinux{}
438+
}
439+
440+
func (s *sublimeMergeLinux) Report(approved, received string) bool {
441+
if runtime.GOOS != goosLinux {
442+
return false
443+
}
444+
programName := "/usr/bin/smerge"
445+
args := []string{"mergetool", received, approved}
446+
return launchProgram(programName, approved, args...)
447+
}
448+
404449
type diffToolOnMac struct{}
405450

406451
func NewDiffToolOnMacReporter() Reporter {
@@ -415,6 +460,7 @@ func NewDiffToolOnMacReporter() Reporter {
415460
NewVisualStudioCodeMacReporter(),
416461
NewAraxisMergeMacReporter(),
417462
NewDiffCommandLineMacReporter(),
463+
NewSublimeMergeMacReporter(),
418464
)
419465
}
420466

@@ -433,6 +479,7 @@ func (s *diffToolOnMac) Report(approved, received string) bool {
433479
NewVisualStudioCodeMacReporter(),
434480
NewAraxisMergeMacReporter(),
435481
NewDiffCommandLineMacReporter(),
482+
NewSublimeMergeMacReporter(),
436483
).Report(approved, received)
437484
}
438485

@@ -452,6 +499,7 @@ func NewDiffToolOnWindowsReporter() Reporter {
452499
NewCodeCompareWindowsReporter(),
453500
NewKdiff3WindowsReporter(),
454501
NewVisualStudioCodeWindowsReporter(),
502+
NewSublimeMergeWindowsReporter(),
455503
)
456504
}
457505

@@ -472,6 +520,7 @@ func (s *diffToolOnWindows) Report(approved, received string) bool {
472520
NewCodeCompareWindowsReporter(),
473521
NewKdiff3WindowsReporter(),
474522
NewVisualStudioCodeWindowsReporter(),
523+
NewSublimeMergeWindowsReporter(),
475524
).Report(approved, received)
476525
}
477526

@@ -483,6 +532,7 @@ func NewDiffToolOnLinuxReporter() Reporter {
483532
NewMeldMergeLinuxReporter(),
484533
NewKdiff3LinuxReporter(),
485534
NewDiffCommandLineLinuxReporter(),
535+
NewSublimeMergeLinuxReporter(),
486536
)
487537
}
488538

@@ -495,6 +545,7 @@ func (s *diffToolOnLinux) Report(approved, received string) bool {
495545
NewMeldMergeLinuxReporter(),
496546
NewKdiff3LinuxReporter(),
497547
NewDiffCommandLineLinuxReporter(),
548+
NewSublimeMergeLinuxReporter(),
498549
).Report(approved, received)
499550
}
500551

@@ -600,6 +651,24 @@ func (s *kdiff3Group) Report(approved, received string) bool {
600651
).Report(approved, received)
601652
}
602653

654+
type sublimeMergeGroup struct{}
655+
656+
func NewSublimeMergeGroupReporter() Reporter {
657+
return NewFirstWorkingReporter(
658+
NewSublimeMergeMacReporter(),
659+
NewSublimeMergeWindowsReporter(),
660+
NewSublimeMergeLinuxReporter(),
661+
)
662+
}
663+
664+
func (s *sublimeMergeGroup) Report(approved, received string) bool {
665+
return NewFirstWorkingReporter(
666+
NewSublimeMergeMacReporter(),
667+
NewSublimeMergeWindowsReporter(),
668+
NewSublimeMergeLinuxReporter(),
669+
).Report(approved, received)
670+
}
671+
603672
type tortoiseGroup struct{}
604673

605674
func NewTortoiseGroupReporter() Reporter {

scripts/generate_diff_reporters.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -145,9 +145,8 @@ def generate_group_aggregator(group_name: str, reporter_rows: list[dict]) -> str
145145

146146

147147
def main() -> None:
148-
script_dir = os.path.dirname(os.path.abspath(__file__))
149-
csv_path = os.path.join(script_dir, "diff_reporters.csv")
150-
repo_root = os.path.dirname(script_dir)
148+
repo_root = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
149+
csv_path = os.path.join(repo_root, "DiffTools", "diff_reporters.csv")
151150
out_path = os.path.join(repo_root, "reporters", "diff_reporters_generated.go")
152151

153152
rows = []

0 commit comments

Comments
 (0)