feat: add configurable three-pane conflict views

This commit is contained in:
Valdemar Lorenzen
2026-10-16 16:19:54 +02:00
parent a6310594c5
commit de6a57e67d
11 changed files with 176 additions and 20 deletions
+13 -1
View File
@@ -157,6 +157,7 @@ module Vamp
@diff_view_mode = "split"
@diff_split_orientation = "vertical"
@diff_follow_working_copy = true
@resolve_history_layout = "columns"
end
# @param path [String] relative to the configuration file
@@ -326,6 +327,16 @@ module Vamp
@diff_follow_working_copy = enabled
end
# @param layout [String] "columns" or "base_below"
# @return [String]
def resolve_history_layout=(layout)
layout = nonempty_string!(layout, "resolve history layout")
unless %w[columns base_below].include?(layout)
raise ArgumentError, "resolve history layout must be columns or base_below"
end
@resolve_history_layout = layout
end
# @return [Module<Vamp::Core>] frozen namespace with catalog-generated Action methods
def core
Core
@@ -370,7 +381,8 @@ module Vamp
"popup" => { "command" => @popup.command, "search" => @popup.search },
"diff_context_lines" => @diff_context_lines, "diff_expand_lines" => @diff_expand_lines,
"diff_view_mode" => @diff_view_mode, "diff_split_orientation" => @diff_split_orientation,
"diff_follow_working_copy" => @diff_follow_working_copy }
"diff_follow_working_copy" => @diff_follow_working_copy,
"resolve_history_layout" => @resolve_history_layout }
end
private