1
0
зеркало из https://github.com/glebtv/tui-textarea.git synced 2026-09-03 22:35:50 +03:00

support 'Ctrl + Home' and 'Ctrl + End' for termion backend

Этот коммит содержится в:
rhysd
2024-08-03 08:47:03 +09:00
родитель 3937eca234
Коммит 6f5ca389ff

Просмотреть файл

@@ -20,7 +20,9 @@ impl From<KeyEvent> for Input {
| KeyEvent::CtrlUp
| KeyEvent::CtrlRight
| KeyEvent::CtrlDown
| KeyEvent::CtrlLeft => (true, false, false),
| KeyEvent::CtrlLeft
| KeyEvent::CtrlHome
| KeyEvent::CtrlEnd => (true, false, false),
KeyEvent::Alt(_)
| KeyEvent::AltUp
| KeyEvent::AltRight
@@ -47,8 +49,8 @@ impl From<KeyEvent> for Input {
KeyEvent::Down | KeyEvent::CtrlDown | KeyEvent::AltDown | KeyEvent::ShiftDown => {
Key::Down
}
KeyEvent::Home => Key::Home,
KeyEvent::End => Key::End,
KeyEvent::Home | KeyEvent::CtrlHome => Key::Home,
KeyEvent::End | KeyEvent::CtrlEnd => Key::End,
KeyEvent::PageUp => Key::PageUp,
KeyEvent::PageDown => Key::PageDown,
KeyEvent::BackTab => Key::Tab,
@@ -123,6 +125,7 @@ mod tests {
(KeyEvent::ShiftDown, input(Key::Down, false, false, true)),
(KeyEvent::AltUp, input(Key::Up, false, true, false)),
(KeyEvent::CtrlLeft, input(Key::Left, true, false, false)),
(KeyEvent::CtrlHome, input(Key::Home, true, false, false)),
] {
assert_eq!(Input::from(from), to, "{:?} -> {:?}", from, to);
}