feat: add S-tab keybinding to open_file
This commit is contained in:
parent
0c6f7a50b8
commit
4700505362
1 changed files with 18 additions and 0 deletions
|
@ -113,6 +113,7 @@ fn mapPress(self: *Self, keypress: u32, egc: u32, modifiers: u32) !void {
|
||||||
else => {},
|
else => {},
|
||||||
},
|
},
|
||||||
mod.SHIFT => switch (keypress) {
|
mod.SHIFT => switch (keypress) {
|
||||||
|
key.TAB => self.reverse_complete_file(),
|
||||||
else => if (!key.synthesized_p(keypress))
|
else => if (!key.synthesized_p(keypress))
|
||||||
self.insert_code_point(egc)
|
self.insert_code_point(egc)
|
||||||
else {},
|
else {},
|
||||||
|
@ -173,6 +174,23 @@ fn try_complete_file(self: *Self) !void {
|
||||||
try project_manager.query_recent_files(self.complete_trigger_count, self.query.items);
|
try project_manager.query_recent_files(self.complete_trigger_count, self.query.items);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn reverse_complete_file(self: *Self) !void {
|
||||||
|
if (self.complete_trigger_count < 2) {
|
||||||
|
self.complete_trigger_count = 0;
|
||||||
|
self.file_path.clearRetainingCapacity();
|
||||||
|
try self.file_path.appendSlice(self.query.items);
|
||||||
|
if (tui.current().mini_mode) |*mini_mode| {
|
||||||
|
mini_mode.text = self.file_path.items;
|
||||||
|
mini_mode.cursor = self.file_path.items.len;
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
self.complete_trigger_count -= 1;
|
||||||
|
if (self.query_pending) return;
|
||||||
|
self.query_pending = true;
|
||||||
|
try project_manager.query_recent_files(self.complete_trigger_count, self.query.items);
|
||||||
|
}
|
||||||
|
|
||||||
fn receive_project_manager(self: *Self, _: tp.pid_ref, m: tp.message) error{Exit}!bool {
|
fn receive_project_manager(self: *Self, _: tp.pid_ref, m: tp.message) error{Exit}!bool {
|
||||||
if (try m.match(.{ "PRJ", tp.more })) {
|
if (try m.match(.{ "PRJ", tp.more })) {
|
||||||
self.process_project_manager(m) catch |e| return tp.exit_error(e, @errorReturnTrace());
|
self.process_project_manager(m) catch |e| return tp.exit_error(e, @errorReturnTrace());
|
||||||
|
|
Loading…
Add table
Reference in a new issue