|
/* |
|
# 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) |