(code: KeyCode, modifiers: KeyModifiers)
| 490 | } |
| 491 | |
| 492 | pub fn key_to_buffer_move(code: KeyCode, modifiers: KeyModifiers) -> Option<BufferMove> { |
| 493 | match code { |
| 494 | #[cfg(target_os = "macos")] |
| 495 | KeyCode::Left if modifiers.contains(KeyModifiers::SUPER) => Some(BufferMove::Home), |
| 496 | #[cfg(target_os = "macos")] |
| 497 | KeyCode::Right if modifiers.contains(KeyModifiers::SUPER) => Some(BufferMove::End), |
| 498 | KeyCode::Left |
| 499 | if modifiers.contains(KeyModifiers::CONTROL) |
| 500 | || modifiers.contains(KeyModifiers::ALT) => |
| 501 | { |
| 502 | Some(BufferMove::PreviousWord) |
| 503 | } |
| 504 | KeyCode::Right |
| 505 | if modifiers.contains(KeyModifiers::CONTROL) |
| 506 | || modifiers.contains(KeyModifiers::ALT) => |
| 507 | { |
| 508 | Some(BufferMove::NextWord) |
| 509 | } |
| 510 | KeyCode::Left => Some(BufferMove::Left), |
| 511 | KeyCode::Right => Some(BufferMove::Right), |
| 512 | KeyCode::Up => Some(BufferMove::Up), |
| 513 | KeyCode::Down => Some(BufferMove::Down), |
| 514 | KeyCode::Home => Some(BufferMove::Home), |
| 515 | KeyCode::End => Some(BufferMove::End), |
| 516 | _ => None, |
| 517 | } |
| 518 | } |
| 519 | |
| 520 | pub fn is_primary_modifier(modifiers: KeyModifiers) -> bool { |
| 521 | modifiers.contains(KeyModifiers::CONTROL) || modifiers.contains(KeyModifiers::SUPER) |
no outgoing calls
no test coverage detected