diff --git a/build.zig.version b/build.zig.version index aa57b2f..a3c5b4e 100644 --- a/build.zig.version +++ b/build.zig.version @@ -1 +1 @@ -0.14.0-dev.3280+bbd13ab96 +0.14.0-dev.3091+42e48b83b diff --git a/src/location_history.zig b/src/location_history.zig index 98d5864..c64c43f 100644 --- a/src/location_history.zig +++ b/src/location_history.zig @@ -123,13 +123,13 @@ const Process = struct { if (isdupe(self.backwards.getLastOrNull(), entry)) { if (self.current) |current| self.forwards.append(current) catch {}; - if (self.backwards.pop()) |top| - self.allocator.free(top.file_path); + const top = self.backwards.pop(); + self.allocator.free(top.file_path); tp.trace(tp.channel.all, tp.message.fmt(.{ "location", "back", entry.file_path, entry.cursor.row, entry.cursor.col, self.backwards.items.len, self.forwards.items.len })); } else if (isdupe(self.forwards.getLastOrNull(), entry)) { if (self.current) |current| self.backwards.append(current) catch {}; - if (self.forwards.pop()) |top| - self.allocator.free(top.file_path); + const top = self.forwards.pop(); + self.allocator.free(top.file_path); tp.trace(tp.channel.all, tp.message.fmt(.{ "location", "forward", entry.file_path, entry.cursor.row, entry.cursor.col, self.backwards.items.len, self.forwards.items.len })); } else if (self.current) |current| { try self.backwards.append(current); diff --git a/src/project_manager.zig b/src/project_manager.zig index caa62ef..b749397 100644 --- a/src/project_manager.zig +++ b/src/project_manager.zig @@ -913,11 +913,10 @@ const FilteredWalker = struct { var containing = top; var dirname_len = top.dirname_len; if (top.iter.next() catch { - var item_ = self.stack.pop(); - if (item_) |*item| - if (self.stack.items.len != 0) { - item.iter.dir.close(); - }; + var item = self.stack.pop(); + if (self.stack.items.len != 0) { + item.iter.dir.close(); + } continue; }) |base| { self.name_buffer.shrinkRetainingCapacity(dirname_len); @@ -948,11 +947,10 @@ const FilteredWalker = struct { else => continue, } } else { - var item_ = self.stack.pop(); - if (item_) |*item| - if (self.stack.items.len != 0) { - item.iter.dir.close(); - }; + var item = self.stack.pop(); + if (self.stack.items.len != 0) { + item.iter.dir.close(); + } } } return null; diff --git a/src/tui/WidgetList.zig b/src/tui/WidgetList.zig index 3e3274a..81ccaa3 100644 --- a/src/tui/WidgetList.zig +++ b/src/tui/WidgetList.zig @@ -104,7 +104,7 @@ pub fn remove_all(self: *Self) void { } pub fn pop(self: *Self) ?Widget { - return if (self.widgets.pop()) |ws| ws.widget else null; + return if (self.widgets.popOrNull()) |ws| ws.widget else null; } pub fn empty(self: *const Self) bool { diff --git a/src/tui/editor.zig b/src/tui/editor.zig index 1cba0e1..070c6b9 100644 --- a/src/tui/editor.zig +++ b/src/tui/editor.zig @@ -629,7 +629,7 @@ pub const Editor = struct { pub fn pop_cursor(self: *Self, _: Context) Result { if (self.cursels.items.len > 1) { - const cursel = self.cursels.pop() orelse return orelse return; + const cursel = self.cursels.popOrNull() orelse return orelse return; if (cursel.selection) |sel| if (self.find_selection_match(sel)) |match| { match.has_selection = false; }; @@ -3994,20 +3994,6 @@ pub const Editor = struct { } pub const smart_insert_line_after_meta: Meta = .{ .description = "Insert line after (smart)" }; - pub fn smart_buffer_append(self: *Self, ctx: Context) Result { - var chars: []const u8 = undefined; - if (!try ctx.args.match(.{tp.extract(&chars)})) - return error.InvalidInsertCharsArgument; - const b = try self.buf_for_update(); - var root = b.root; - var cursel: CurSel = .{}; - cursel.cursor.move_buffer_end(root, self.metrics); - root = try self.insert(root, &cursel, chars, b.allocator); - try self.update_buf(root); - self.clamp(); - } - pub const smart_buffer_append_meta: Meta = .{ .arguments = &.{.string} }; - pub fn enable_fast_scroll(self: *Self, _: Context) Result { self.fast_scroll = true; } diff --git a/src/tui/editor_gutter.zig b/src/tui/editor_gutter.zig index f8045d8..709bd88 100644 --- a/src/tui/editor_gutter.zig +++ b/src/tui/editor_gutter.zig @@ -266,8 +266,7 @@ inline fn render_diff_symbols(self: *Self, diff_symbols: *[]Symbol, pos: usize, } fn render_diagnostics(self: *Self, theme: *const Widget.Theme) void { - if (tui.config().inline_diagnostics) - for (self.editor.diagnostics.items) |*diag| self.render_diagnostic(diag, theme); + for (self.editor.diagnostics.items) |*diag| self.render_diagnostic(diag, theme); } fn render_diagnostic(self: *Self, diag: *const ed.Diagnostic, theme: *const Widget.Theme) void { diff --git a/src/tui/mainview.zig b/src/tui/mainview.zig index 967bd9a..4bede32 100644 --- a/src/tui/mainview.zig +++ b/src/tui/mainview.zig @@ -847,7 +847,8 @@ const cmds = struct { return error.InvalidShellOutputArgument; const buffer = self.buffer_manager.buffer_from_ref(buffer_ref) orelse return; if (self.get_active_editor()) |editor| if (editor.buffer) |eb| if (eb == buffer) { - editor.smart_buffer_append(command.fmt(.{output})) catch {}; + editor.move_buffer_end(.{}) catch {}; + editor.insert_chars(command.fmt(.{output})) catch {}; tui.need_render(); return; };