diff options
| author | Ogulcan Celik <ogulcancelik@gmail.com> | 2026-06-15 17:29:45 +0300 |
|---|---|---|
| committer | Ogulcan Celik <ogulcancelik@gmail.com> | 2026-06-15 17:45:44 +0300 |
| commit | 0099c10881fd05ddecd3b535700d41eb3f42b633 (patch) | |
| tree | 0c05211953394414b35fe6930b5b45594294833a /src/raw_input.rs | |
| parent | 07261e09be60ac0c145685fd11f94351cc0e5ba6 (diff) | |
fix: use ctrl-click for captured pane links on macos
Diffstat (limited to 'src/raw_input.rs')
| -rw-r--r-- | src/raw_input.rs | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/src/raw_input.rs b/src/raw_input.rs index fddcb3fd..346da476 100644 --- a/src/raw_input.rs +++ b/src/raw_input.rs @@ -818,6 +818,27 @@ mod tests { assert_eq!(mouse.kind, MouseEventKind::Down(MouseButton::Left)); assert_eq!(mouse.column, 19); assert_eq!(mouse.row, 9); + assert_eq!(mouse.modifiers, KeyModifiers::empty()); + } + + #[test] + fn parses_sgr_mouse_observable_modifiers() { + let cases = [ + (b"\x1b[<8;20;10M".as_slice(), KeyModifiers::ALT), + (b"\x1b[<16;20;10M".as_slice(), KeyModifiers::CONTROL), + ( + b"\x1b[<24;20;10M".as_slice(), + KeyModifiers::ALT | KeyModifiers::CONTROL, + ), + ]; + + for (input, expected) in cases { + let (RawInputEvent::Mouse(mouse), _) = extract_one_event(input).unwrap() else { + panic!("expected mouse"); + }; + assert_eq!(mouse.modifiers, expected); + assert!(!mouse.modifiers.contains(KeyModifiers::SUPER)); + } } #[test] |
