Julius Marmingefmt25127219 months agoHistory
46 lines · 1.0 KB · TypeScript
RawDownload
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  );}