diff --git a/src/file_type_config.zig b/src/file_type_config.zig index 779db97..9a2846c 100644 --- a/src/file_type_config.zig +++ b/src/file_type_config.zig @@ -93,9 +93,11 @@ pub fn get(file_type_name: []const u8) !?@This() { } pub fn get_config_file_path(allocator: std.mem.Allocator, file_type: []const u8) ![]u8 { - var stream: std.Io.Writer.Allocating = .initOwnedSlice(allocator, try get_config_dir_path(allocator)); + const config_dir_path = try get_config_dir_path(allocator); + var stream: std.Io.Writer.Allocating = .initOwnedSlice(allocator, config_dir_path); defer stream.deinit(); const writer = &stream.writer; + writer.end = config_dir_path.len; _ = try writer.writeAll(file_type); _ = try writer.writeAll(".conf"); return stream.toOwnedSlice(); diff --git a/src/keybind/keybind.zig b/src/keybind/keybind.zig index 385e425..e4839ae 100644 --- a/src/keybind/keybind.zig +++ b/src/keybind/keybind.zig @@ -562,12 +562,14 @@ const BindingSet = struct { for (self.press.items) |binding| { const cmd = binding.commands[0].command; - var hint: std.Io.Writer.Allocating = if (hints_map.get(cmd)) |previous| - .initOwnedSlice(allocator, previous) - else - .init(allocator); + var end: usize = 0; + var hint: std.Io.Writer.Allocating = if (hints_map.get(cmd)) |previous| blk: { + end = previous.len; + break :blk .initOwnedSlice(allocator, previous); + } else .init(allocator); defer hint.deinit(); const writer = &hint.writer; + writer.end = end; if (hint.written().len > 0) try writer.writeAll(", "); const count = binding.key_events.len; for (binding.key_events, 0..) |key_, n| {