Skip to content

Commit 2ef2bd6

Browse files
committed
enhance: diff with merger option on local changes
1 parent aec5cab commit 2ef2bd6

File tree

1 file changed

+28
-0
lines changed

1 file changed

+28
-0
lines changed

src/ViewModels/WorkingCopy.cs

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -590,6 +590,20 @@ public ContextMenu CreateContextMenuForUnstagedChanges(string selectedSingleFold
590590
var change = _selectedUnstaged[0];
591591
var path = Native.OS.GetAbsPath(_repo.FullPath, change.Path);
592592

593+
var diffWithMerger = new MenuItem();
594+
diffWithMerger.Header = App.Text("DiffWithMerger");
595+
diffWithMerger.Icon = App.CreateMenuIcon("Icons.OpenWith");
596+
diffWithMerger.Click += (sender, ev) =>
597+
{
598+
var toolType = Preferences.Instance.ExternalMergeToolType;
599+
var toolPath = Preferences.Instance.ExternalMergeToolPath;
600+
var opt = new Models.DiffOption(change, true);
601+
602+
_ = Commands.MergeTool.OpenForDiffAsync(_repo.FullPath, toolType, toolPath, opt);
603+
ev.Handled = true;
604+
};
605+
menu.Items.Add(diffWithMerger);
606+
593607
var explore = new MenuItem();
594608
explore.Header = App.Text("RevealFile");
595609
explore.Icon = App.CreateMenuIcon("Icons.Explore");
@@ -1239,6 +1253,19 @@ public ContextMenu CreateContextMenuForStagedChanges(string selectedSingleFolder
12391253
var change = _selectedStaged[0];
12401254
var path = Native.OS.GetAbsPath(_repo.FullPath, change.Path);
12411255

1256+
var diffWithMerger = new MenuItem();
1257+
diffWithMerger.Header = App.Text("DiffWithMerger");
1258+
diffWithMerger.Icon = App.CreateMenuIcon("Icons.OpenWith");
1259+
diffWithMerger.Click += (sender, ev) =>
1260+
{
1261+
var toolType = Preferences.Instance.ExternalMergeToolType;
1262+
var toolPath = Preferences.Instance.ExternalMergeToolPath;
1263+
var opt = new Models.DiffOption(change, false);
1264+
1265+
_ = Commands.MergeTool.OpenForDiffAsync(_repo.FullPath, toolType, toolPath, opt);
1266+
ev.Handled = true;
1267+
};
1268+
12421269
var explore = new MenuItem();
12431270
explore.IsEnabled = File.Exists(path) || Directory.Exists(path);
12441271
explore.Header = App.Text("RevealFile");
@@ -1305,6 +1332,7 @@ public ContextMenu CreateContextMenuForStagedChanges(string selectedSingleFolder
13051332
e.Handled = true;
13061333
};
13071334

1335+
menu.Items.Add(diffWithMerger);
13081336
menu.Items.Add(explore);
13091337
menu.Items.Add(openWith);
13101338
menu.Items.Add(new MenuItem() { Header = "-" });

0 commit comments

Comments
 (0)