feat: add home/end keybindings to palette
This commit is contained in:
parent
4c759b14f3
commit
f59125f74a
3 changed files with 30 additions and 5 deletions
|
@ -301,6 +301,8 @@
|
|||
["down", "palette_menu_down"],
|
||||
["page_up", "palette_menu_pageup"],
|
||||
["page_down", "palette_menu_pagedown"],
|
||||
["home", "palette_menu_top"],
|
||||
["end", "palette_menu_bottom"],
|
||||
["enter", "palette_menu_activate"],
|
||||
["delete", "palette_menu_delete_item"],
|
||||
["backspace", "overlay_delete_backwards"]
|
||||
|
|
|
@ -275,11 +275,6 @@ const cmds = struct {
|
|||
const Meta = command.Metadata;
|
||||
const Result = command.Result;
|
||||
|
||||
pub fn palette_menu_top(self: *Self, _: Ctx) Result {
|
||||
self.menu.select_first();
|
||||
}
|
||||
pub const palette_menu_top_meta: Meta = .{};
|
||||
|
||||
pub fn palette_menu_down(self: *Self, _: Ctx) Result {
|
||||
self.menu.select_down();
|
||||
}
|
||||
|
@ -300,6 +295,16 @@ const cmds = struct {
|
|||
}
|
||||
pub const palette_menu_pageup_meta: Meta = .{};
|
||||
|
||||
pub fn palette_menu_bottom(self: *Self, _: Ctx) Result {
|
||||
self.menu.select_last();
|
||||
}
|
||||
pub const palette_menu_bottom_meta: Meta = .{};
|
||||
|
||||
pub fn palette_menu_top(self: *Self, _: Ctx) Result {
|
||||
self.menu.select_first();
|
||||
}
|
||||
pub const palette_menu_top_meta: Meta = .{};
|
||||
|
||||
pub fn palette_menu_activate(self: *Self, _: Ctx) Result {
|
||||
self.menu.activate_selected();
|
||||
}
|
||||
|
|
|
@ -425,6 +425,24 @@ pub fn Create(options: type) type {
|
|||
}
|
||||
pub const palette_menu_pageup_meta: Meta = .{};
|
||||
|
||||
pub fn palette_menu_bottom(self: *Self, _: Ctx) Result {
|
||||
if (self.total_items > self.view_rows) {
|
||||
self.view_pos = self.total_items - self.view_rows;
|
||||
}
|
||||
try self.start_query(0);
|
||||
self.menu.select_last();
|
||||
self.selection_updated();
|
||||
}
|
||||
pub const palette_menu_bottom_meta: Meta = .{};
|
||||
|
||||
pub fn palette_menu_top(self: *Self, _: Ctx) Result {
|
||||
self.view_pos = 0;
|
||||
try self.start_query(0);
|
||||
self.menu.select_first();
|
||||
self.selection_updated();
|
||||
}
|
||||
pub const palette_menu_top_meta: Meta = .{};
|
||||
|
||||
pub fn palette_menu_delete_item(self: *Self, _: Ctx) Result {
|
||||
if (@hasDecl(options, "delete_item")) {
|
||||
const button = self.menu.get_selected() orelse return;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue