/* # Main Menu Cheat Sheet | Script | Key | | ------------------------- | - | | App Launcher | ; | | File Browser | / | | Terminal | > | | Clipboard | < | | Calculator | 1-9 | | Emoji Picker | 0 | | Scratch Pad | , | | File Search | . | | View Snippets | ' | | Word API | " | | System Commands | - | | Dev Tools Window | = | | Google Suggest | ~ | | Google | ` | | GitHub Discussions | ? | | Actions | Shortcut | | ------------------------- | --------- | | Run Selected Script | return | | Reveal Actions | right arrow | | Debug Script (Pro) | cmd+return | | Show Log Window (Pro) | opt+return | | New Script | cmd+n | | Edit Script | cmd+o | | Share Script on GitHub | cmd+s | | Export Script | cmd+e | | Copy Script Contents | cmd+c | | Paste Script as Markdown | cmd+shift+p | | Open Log | cmd+l | | Open Kenv in VS Code | cmd+shift+o | | Create/Edit Docs | cmd+. | | Reveal Script in Finder | cmd+shift+f | | Manage Running Processes | cmd+p | */ // Name: Main Menu Reference // Description: List of Main Menu Features // Index: 0 import { highlightJavaScript, getMetadata, backToMainShortcut } from "@johnlindquist/kit" let mainScriptsPath = kitPath("main") let files = await readdir(mainScriptsPath) let scripts = ( await Promise.all( files .filter(f => f.endsWith(".js")) .map(async file => { let scriptPath = path.resolve(mainScriptsPath, file) let contents = await readFile(scriptPath, "utf8") let metadata = getMetadata(contents) if (metadata?.exclude) return "" return { name: metadata?.name || metadata?.description || file, description: metadata?.description || file, value: scriptPath, preview: async () => highlightJavaScript(scriptPath), } }) ) ).filter(Boolean) let selectedScript = await arg( { placeholder: "Select a Main Script to Run", enter: "Run", shortcuts: [ backToMainShortcut, { name: "View Source", key: `${cmd}+o`, bar: "right", onPress: async (input, { focused }) => { await run(kitPath("cli", "edit-script.js"), focused.value) submit(false) }, }, ], }, scripts ) if (selectedScript) await run(selectedScript)