feat: trip leading whitespace from clipboard history palette display
This commit is contained in:
parent
6c6a8cee32
commit
46def038bd
1 changed files with 9 additions and 3 deletions
|
|
@ -24,8 +24,13 @@ pub fn load_entries(palette: *Type) !usize {
|
||||||
if (history.len > 0) {
|
if (history.len > 0) {
|
||||||
var idx = history.len - 1;
|
var idx = history.len - 1;
|
||||||
while (true) : (idx -= 1) {
|
while (true) : (idx -= 1) {
|
||||||
|
var label_ = history[idx];
|
||||||
|
while (label_.len > 0) switch (label_[0]) {
|
||||||
|
' ', '\t', '\n' => label_ = label_[1..],
|
||||||
|
else => break,
|
||||||
|
};
|
||||||
(try palette.entries.addOne(palette.allocator)).* = .{
|
(try palette.entries.addOne(palette.allocator)).* = .{
|
||||||
.label = history[idx],
|
.label = label_,
|
||||||
.idx = idx,
|
.idx = idx,
|
||||||
};
|
};
|
||||||
if (idx == 0) break;
|
if (idx == 0) break;
|
||||||
|
|
@ -46,14 +51,15 @@ pub fn add_menu_entry(palette: *Type, entry: *Entry, matches: ?[]const usize) !v
|
||||||
|
|
||||||
var hint: std.Io.Writer.Allocating = .init(palette.allocator);
|
var hint: std.Io.Writer.Allocating = .init(palette.allocator);
|
||||||
defer hint.deinit();
|
defer hint.deinit();
|
||||||
|
const item = if (tui.clipboard_get_history()) |clipboard| clipboard[entry.idx] else &.{};
|
||||||
var line_count: usize = 1;
|
var line_count: usize = 1;
|
||||||
for (0..entry.label.len) |i| if (entry.label[i] == '\n') {
|
for (0..item.len) |i| if (item[i] == '\n') {
|
||||||
line_count += 1;
|
line_count += 1;
|
||||||
};
|
};
|
||||||
if (line_count > 1)
|
if (line_count > 1)
|
||||||
try hint.writer.print(" {d} lines", .{line_count})
|
try hint.writer.print(" {d} lines", .{line_count})
|
||||||
else
|
else
|
||||||
try hint.writer.print(" {d} {s}", .{ entry.label.len, if (entry.label.len == 1) "byte" else "bytes" });
|
try hint.writer.print(" {d} {s}", .{ item.len, if (item.len == 1) "byte " else "bytes" });
|
||||||
try cbor.writeValue(writer, hint.written());
|
try cbor.writeValue(writer, hint.written());
|
||||||
|
|
||||||
try cbor.writeValue(writer, matches orelse &[_]usize{});
|
try cbor.writeValue(writer, matches orelse &[_]usize{});
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue