import { map } from 'nanostores'; import { workbenchStore } from './workbench'; export interface Shortcut { key: string; ctrlKey?: boolean; shiftKey?: boolean; altKey?: boolean; metaKey?: boolean; ctrlOrMetaKey?: boolean; action: () => void; } export interface Shortcuts { toggleTerminal: Shortcut; } export interface Settings { shortcuts: Shortcuts; } export const shortcutsStore = map({ toggleTerminal: { key: 'j', ctrlOrMetaKey: true, action: () => workbenchStore.toggleTerminal(), }, }); export const settingsStore = map({ shortcuts: shortcutsStore.get(), }); shortcutsStore.subscribe((shortcuts) => { settingsStore.set({ ...settingsStore.get(), shortcuts, }); });