Compare commits

..

No commits in common. "da942fe64026159cedeba8bb6d5ba5b0c331acdf" and "eb1b0b7b7aea20c0c1e28bcfb0bce9ca35151e89" have entirely different histories.

3 changed files with 18 additions and 24 deletions

View file

@ -3427,10 +3427,6 @@ pub const Editor = struct {
} }
fn move_cursor_word_left_space(root: Buffer.Root, cursor: *Cursor, metrics: Buffer.Metrics) error{Stop}!void { fn move_cursor_word_left_space(root: Buffer.Root, cursor: *Cursor, metrics: Buffer.Metrics) error{Stop}!void {
if (is_eol_left(root, cursor, metrics)) {
try move_cursor_left(root, cursor, metrics);
return;
}
try move_cursor_left(root, cursor, metrics); try move_cursor_left(root, cursor, metrics);
var next = cursor.*; var next = cursor.*;
next.move_left(root, metrics) catch next.move_left(root, metrics) catch

View file

@ -40,25 +40,24 @@ pub const defaultValue: ValueType = .{};
var max_description: usize = 0; var max_description: usize = 0;
pub fn load_entries(self: *Type) !usize { pub fn load_entries(self: *Type) !usize {
max_description = 0;
var max_label_len: usize = 0;
const editor = tui.get_active_editor() orelse return error.NotFound; const editor = tui.get_active_editor() orelse return error.NotFound;
self.value.start = editor.get_primary().*; self.value.start = editor.get_primary().*;
var iter: []const u8 = editor.completions.items; var iter: []const u8 = editor.completions.items;
while (iter.len > 0) { while (iter.len > 0) {
var cbor_item: []const u8 = undefined; var cbor_item: []const u8 = undefined;
if (!try cbor.matchValue(&iter, cbor.extract_cbor(&cbor_item))) return error.BadCompletion; if (!try cbor.matchValue(&iter, cbor.extract_cbor(&cbor_item))) return error.BadCompletion;
const values = get_values(cbor_item); (try self.entries.addOne(self.allocator)).* = .{ .cbor = cbor_item, .label = undefined, .sort_text = undefined };
}
max_description = 0;
var max_label_len: usize = 0;
for (self.entries.items) |*item| {
const values = get_values(item.cbor);
if (self.value.replace == null) if (get_replace_selection(values.replace)) |replace| { if (self.value.replace == null) if (get_replace_selection(values.replace)) |replace| {
self.value.replace = replace; self.value.replace = replace;
}; };
const item = try self.entries.addOne(self.allocator); item.label = values.label;
item.* = .{ item.sort_text = values.sort_text;
.cbor = cbor_item,
.label = values.label,
.sort_text = values.sort_text,
};
var lines = std.mem.splitScalar(u8, values.label_description, '\n'); var lines = std.mem.splitScalar(u8, values.label_description, '\n');
const label_description_len: usize = if (lines.next()) |desc| desc.len else values.label_description.len; const label_description_len: usize = if (lines.next()) |desc| desc.len else values.label_description.len;

View file

@ -35,25 +35,24 @@ pub const defaultValue: ValueType = .{};
var max_description: usize = 0; var max_description: usize = 0;
pub fn load_entries(palette: *Type) !usize { pub fn load_entries(palette: *Type) !usize {
max_description = 0;
var max_label_len: usize = 0;
const editor = tui.get_active_editor() orelse return error.NotFound; const editor = tui.get_active_editor() orelse return error.NotFound;
palette.value.start = editor.get_primary().*; palette.value.start = editor.get_primary().*;
var iter: []const u8 = editor.completions.items; var iter: []const u8 = editor.completions.items;
while (iter.len > 0) { while (iter.len > 0) {
var cbor_item: []const u8 = undefined; var cbor_item: []const u8 = undefined;
if (!try cbor.matchValue(&iter, cbor.extract_cbor(&cbor_item))) return error.BadCompletion; if (!try cbor.matchValue(&iter, cbor.extract_cbor(&cbor_item))) return error.BadCompletion;
const values = get_values(cbor_item); (try palette.entries.addOne(palette.allocator)).* = .{ .cbor = cbor_item, .label = undefined, .sort_text = undefined };
}
max_description = 0;
var max_label_len: usize = 0;
for (palette.entries.items) |*item| {
const values = get_values(item.cbor);
if (palette.value.replace == null) if (get_replace_selection(values.replace)) |replace| { if (palette.value.replace == null) if (get_replace_selection(values.replace)) |replace| {
palette.value.replace = replace; palette.value.replace = replace;
}; };
const item = (try palette.entries.addOne(palette.allocator)); item.label = values.label;
item.* = .{ item.sort_text = values.sort_text;
.cbor = cbor_item,
.label = values.label,
.sort_text = values.sort_text,
};
var lines = std.mem.splitScalar(u8, values.label_description, '\n'); var lines = std.mem.splitScalar(u8, values.label_description, '\n');
const label_description_len = if (lines.next()) |desc| desc.len else values.label_description.len; const label_description_len = if (lines.next()) |desc| desc.len else values.label_description.len;