@@ -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" ) ;
@@ -1243,6 +1257,19 @@ public ContextMenu CreateContextMenuForStagedChanges(string selectedSingleFolder
12431257 var change = _selectedStaged [ 0 ] ;
12441258 var path = Native . OS . GetAbsPath ( _repo . FullPath , change . Path ) ;
12451259
1260+ var diffWithMerger = new MenuItem ( ) ;
1261+ diffWithMerger . Header = App . Text ( "DiffWithMerger" ) ;
1262+ diffWithMerger . Icon = App . CreateMenuIcon ( "Icons.OpenWith" ) ;
1263+ diffWithMerger . Click += ( sender , ev ) =>
1264+ {
1265+ var toolType = Preferences . Instance . ExternalMergeToolType ;
1266+ var toolPath = Preferences . Instance . ExternalMergeToolPath ;
1267+ var opt = new Models . DiffOption ( change , false ) ;
1268+
1269+ _ = Commands . MergeTool . OpenForDiffAsync ( _repo . FullPath , toolType , toolPath , opt ) ;
1270+ ev . Handled = true ;
1271+ } ;
1272+
12461273 var explore = new MenuItem ( ) ;
12471274 explore . IsEnabled = File . Exists ( path ) || Directory . Exists ( path ) ;
12481275 explore . Header = App . Text ( "RevealFile" ) ;
@@ -1310,6 +1337,7 @@ public ContextMenu CreateContextMenuForStagedChanges(string selectedSingleFolder
13101337 e . Handled = true ;
13111338 } ;
13121339
1340+ menu . Items . Add ( diffWithMerger ) ;
13131341 menu . Items . Add ( explore ) ;
13141342 menu . Items . Add ( openWith ) ;
13151343 menu . Items . Add ( new MenuItem ( ) { Header = "-" } ) ;
0 commit comments