From da85c40603bb834b9c96863f576799ab95b9b2b2 Mon Sep 17 00:00:00 2001 From: CJ van den Berg Date: Wed, 30 Oct 2024 17:53:05 +0100 Subject: [PATCH] fix: remove obsolete and broken syntax.refresh function --- src/syntax/src/syntax.zig | 6 ------ src/tui/editor.zig | 14 ++++++++------ 2 files changed, 8 insertions(+), 12 deletions(-) diff --git a/src/syntax/src/syntax.zig b/src/syntax/src/syntax.zig index c348c14..9f9a21f 100644 --- a/src/syntax/src/syntax.zig +++ b/src/syntax/src/syntax.zig @@ -74,12 +74,6 @@ pub fn edit(self: *Self, ed: Edit) void { if (self.tree) |tree| tree.edit(&ed); } -pub fn refresh(self: *Self, content: []const u8) !void { - const old_tree = self.tree; - defer if (old_tree) |tree| tree.destroy(); - self.tree = try self.parser.parseString(old_tree, content); -} - pub fn refresh_from_buffer(self: *Self, buffer: anytype, metrics: anytype) !void { const old_tree = self.tree; defer if (old_tree) |tree| tree.destroy(); diff --git a/src/tui/editor.zig b/src/tui/editor.zig index 2d4b69e..93e6995 100644 --- a/src/tui/editor.zig +++ b/src/tui/editor.zig @@ -3072,13 +3072,15 @@ pub const Editor = struct { self.syntax_refresh_full = true; if (self.syntax_last_rendered_root == null) self.syntax_refresh_full = true; - var content = std.ArrayList(u8).init(self.allocator); - defer content.deinit(); + var content_ = std.ArrayList(u8).init(self.allocator); + defer content_.deinit(); { const frame = tracy.initZone(@src(), .{ .name = "editor store syntax" }); defer frame.deinit(); - try root.store(content.writer(), eol_mode); + try root.store(content_.writer(), eol_mode); } + const content = try content_.toOwnedSliceSentinel(0); + defer self.allocator.free(content); if (self.syntax_refresh_full) { { const frame = tracy.initZone(@src(), .{ .name = "editor reset syntax" }); @@ -3088,7 +3090,7 @@ pub const Editor = struct { { const frame = tracy.initZone(@src(), .{ .name = "editor refresh_full syntax" }); defer frame.deinit(); - try syn.refresh_full(content.items); + try syn.refresh_full(content); } kind = .full; self.syntax_last_rendered_root = root; @@ -3107,7 +3109,7 @@ pub const Editor = struct { const frame = tracy.initZone(@src(), .{ .name = "editor diff syntax" }); defer frame.deinit(); const diff = @import("diff"); - const edits = try diff.diff(self.allocator, content.items, old_content.items); + const edits = try diff.diff(self.allocator, content, old_content.items); defer self.allocator.free(edits); for (edits) |edit| syntax_process_edit(syn, edit); @@ -3116,7 +3118,7 @@ pub const Editor = struct { { const frame = tracy.initZone(@src(), .{ .name = "editor refresh syntax" }); defer frame.deinit(); - try syn.refresh(content.items); + try syn.refresh_from_string(content); } self.syntax_last_rendered_root = root; kind = .incremental;