diff --git a/assets/keymaps/default.json b/assets/keymaps/default.json index 783d90f8e1..7af7426f19 100644 --- a/assets/keymaps/default.json +++ b/assets/keymaps/default.json @@ -67,9 +67,11 @@ "up": "editor::MoveUp", "pageup": "editor::PageUp", "shift-pageup": "editor::MovePageUp", + "home": "editor::MoveToBeginningOfLine", "down": "editor::MoveDown", "pagedown": "editor::PageDown", "shift-pagedown": "editor::MovePageDown", + "end": "editor::MoveToEndOfLine", "left": "editor::MoveLeft", "right": "editor::MoveRight", "ctrl-p": "editor::MoveUp", @@ -110,6 +112,12 @@ "stop_at_soft_wraps": true } ], + "shift-home": [ + "editor::SelectToBeginningOfLine", + { + "stop_at_soft_wraps": true + } + ], "ctrl-shift-a": [ "editor::SelectToBeginningOfLine", { @@ -122,6 +130,12 @@ "stop_at_soft_wraps": true } ], + "shift-end": [ + "editor::SelectToEndOfLine", + { + "stop_at_soft_wraps": true + } + ], "ctrl-shift-e": [ "editor::SelectToEndOfLine", { diff --git a/crates/gpui/src/platform/mac/event.rs b/crates/gpui/src/platform/mac/event.rs index 36dab73149..0464840e86 100644 --- a/crates/gpui/src/platform/mac/event.rs +++ b/crates/gpui/src/platform/mac/event.rs @@ -47,6 +47,8 @@ pub fn key_to_native(key: &str) -> Cow { "right" => NSRightArrowFunctionKey, "pageup" => NSPageUpFunctionKey, "pagedown" => NSPageDownFunctionKey, + "home" => NSHomeFunctionKey, + "end" => NSEndFunctionKey, "delete" => NSDeleteFunctionKey, "f1" => NSF1FunctionKey, "f2" => NSF2FunctionKey, @@ -258,6 +260,8 @@ unsafe fn parse_keystroke(native_event: id) -> Keystroke { Some(NSRightArrowFunctionKey) => "right".to_string(), Some(NSPageUpFunctionKey) => "pageup".to_string(), Some(NSPageDownFunctionKey) => "pagedown".to_string(), + Some(NSHomeFunctionKey) => "home".to_string(), + Some(NSEndFunctionKey) => "end".to_string(), Some(NSDeleteFunctionKey) => "delete".to_string(), Some(NSF1FunctionKey) => "f1".to_string(), Some(NSF2FunctionKey) => "f2".to_string(),