refactor: switch git blame to incremental output mode

Also, move blame parser and related structures to a new module VcsBlame.

This includes a full parser re-write to take advantage of the slightly
more efficient incremental output format.
This commit is contained in:
CJ van den Berg 2026-01-26 21:38:15 +01:00
parent cb73153fd0
commit 7d1809ba57
6 changed files with 167 additions and 84 deletions

View file

@ -2160,7 +2160,7 @@ pub fn vcs_blame_update(self: *Self, m: tp.message) void {
buffer.set_vcs_blame(blame_info) catch {};
} else if (m.match(.{ "PRJ", "git_blame", tp.extract(&file_path), tp.null_ }) catch return) {
const buffer = self.buffer_manager.get_buffer_for_file(file_path) orelse return;
buffer.parse_git_blame() catch return;
buffer.parse_vcs_blame() catch return;
if (self.get_editor_for_buffer(buffer)) |editor|
editor.vcs_content_update() catch {};
}