diff --git a/src/buffer/reflow.zig b/src/buffer/reflow.zig index 3f8fe39..b191a06 100644 --- a/src/buffer/reflow.zig +++ b/src/buffer/reflow.zig @@ -60,16 +60,8 @@ fn detect_prefix(text: []const u8) Prefix { var lines = std.mem.splitScalar(u8, text, '\n'); const line1 = lines.next() orelse return .{}; var prefix: []const u8 = line1; - var count: usize = 0; - while (lines.next()) |line| { + while (lines.next()) |line| prefix = lcp(prefix, line); - count += 1; - } - if (count < 1) return .{ - .len = 0, - .first = &.{}, - .continuation = &.{}, - }; if (line1.len > prefix.len + 2 and line1[prefix.len] == '-' and line1[prefix.len + 1] == ' ') { const first = line1[0 .. prefix.len + 2]; diff --git a/src/tui/mode/overlay/completion_dropdown.zig b/src/tui/mode/overlay/completion_dropdown.zig index 7c9592a..5708532 100644 --- a/src/tui/mode/overlay/completion_dropdown.zig +++ b/src/tui/mode/overlay/completion_dropdown.zig @@ -36,7 +36,6 @@ pub const ValueType = struct { query: ?Buffer.Selection = null, last_query: ?[]const u8 = null, commands: command.Collection(cmds) = undefined, - data: []const u8 = &.{}, }; pub const defaultValue: ValueType = .{}; @@ -54,9 +53,7 @@ pub fn load_entries(self: *Type) !usize { self.value.cursor = self.value.editor.get_primary().cursor; self.value.query = null; - self.allocator.free(self.value.data); - self.value.data = try self.allocator.dupe(u8, self.value.editor.completions.data.items); - var iter: []const u8 = self.value.data; + var iter: []const u8 = self.value.editor.completions.data.items; while (iter.len > 0) { var cbor_item: []const u8 = undefined; if (!try cbor.matchValue(&iter, cbor.extract_cbor(&cbor_item))) return error.BadCompletion; @@ -93,7 +90,6 @@ pub fn load_entries(self: *Type) !usize { } pub fn deinit(self: *Type) void { - self.allocator.free(self.value.data); if (self.value.last_query) |p| self.allocator.free(p); self.value.commands.deinit(); }