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 => {},
|
||||
},
|
||||
mod.SHIFT => switch (keypress) {
|
||||
key.TAB => self.reverse_complete_file(),
|
||||
else => if (!key.synthesized_p(keypress))
|
||||
self.insert_code_point(egc)
|
||||
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);
|
||||
}
|
||||
|
||||
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 {
|
||||
if (try m.match(.{ "PRJ", tp.more })) {
|
||||
self.process_project_manager(m) catch |e| return tp.exit_error(e, @errorReturnTrace());
|
||||
|
|
Loading…
Add table
Reference in a new issue