export interface KeyboardShortcut { separator?: string; actionName?: string; description?: string; defaultShortcuts?: string[]; effectiveShortcuts?: string[]; /** * Scope here means on which element the keyboard shortcuts are attached - this means that for the shortcut to work, * the focus has to be inside the element. * * So e.g. shortcuts with "note-tree" scope work only when the focus is in note tree. * This allows to have the same shortcut have different actions attached based on the context * e.g. CTRL-C in note tree does something a bit different from CTRL-C in the text editor. */ scope?: "window" | "note-tree" | "text-detail" | "code-detail"; } export interface KeyboardShortcutWithRequiredActionName extends KeyboardShortcut { actionName: string; }