Compare commits
No commits in common. "da942fe64026159cedeba8bb6d5ba5b0c331acdf" and "eb1b0b7b7aea20c0c1e28bcfb0bce9ca35151e89" have entirely different histories.
da942fe640
...
eb1b0b7b7a
3 changed files with 18 additions and 24 deletions
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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;
|
||||||
|
|
|
||||||
|
|
@ -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;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue