aboutsummaryrefslogtreecommitdiff
path: root/src/raw_input.rs
diff options
context:
space:
mode:
authorOgulcan Celik <ogulcancelik@gmail.com>2026-06-15 17:29:45 +0300
committerOgulcan Celik <ogulcancelik@gmail.com>2026-06-15 17:45:44 +0300
commit0099c10881fd05ddecd3b535700d41eb3f42b633 (patch)
tree0c05211953394414b35fe6930b5b45594294833a /src/raw_input.rs
parent07261e09be60ac0c145685fd11f94351cc0e5ba6 (diff)
fix: use ctrl-click for captured pane links on macos
Diffstat (limited to 'src/raw_input.rs')
-rw-r--r--src/raw_input.rs21
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]