export interface ShortcutEventLike { key: string; metaKey: boolean; ctrlKey: boolean; shiftKey: boolean; altKey: boolean;} function isMacPlatform(platform: string): boolean { return /mac|iphone|ipad|ipod/i.test(platform);} export function isTerminalToggleShortcut( event: ShortcutEventLike, platform = navigator.platform,): boolean { const key = event.key.toLowerCase(); if (key !== "j") return false; if (event.shiftKey || event.altKey) return false; if (isMacPlatform(platform)) { return event.metaKey && !event.ctrlKey; } return event.ctrlKey && !event.metaKey;} export function isTerminalClearShortcut( event: ShortcutEventLike, platform = navigator.platform,): boolean { const key = event.key.toLowerCase(); if (key === "l" && event.ctrlKey && !event.metaKey && !event.altKey && !event.shiftKey) { return true; } return ( isMacPlatform(platform) && key === "k" && event.metaKey && !event.ctrlKey && !event.altKey && !event.shiftKey );}
export interface ShortcutEventLike {
key: string;
metaKey: boolean;
ctrlKey: boolean;
shiftKey: boolean;
altKey: boolean;
}
function isMacPlatform(platform: string): boolean {
return /mac|iphone|ipad|ipod/i.test(platform);
}
export function isTerminalToggleShortcut(
event: ShortcutEventLike,
platform = navigator.platform,
): boolean {
const key = event.key.toLowerCase();
if (key !== "j") return false;
if (event.shiftKey || event.altKey) return false;
if (isMacPlatform(platform)) {
return event.metaKey && !event.ctrlKey;
}
return event.ctrlKey && !event.metaKey;
}
export function isTerminalClearShortcut(
event: ShortcutEventLike,
platform = navigator.platform,
): boolean {
const key = event.key.toLowerCase();
if (key === "l" && event.ctrlKey && !event.metaKey && !event.altKey && !event.shiftKey) {
return true;
}
return (
isMacPlatform(platform) &&
key === "k" &&
event.metaKey &&
!event.ctrlKey &&
!event.altKey &&
!event.shiftKey
);
}