Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

hone-ide

IDE workbench shell. Compiles to a native binary via Perry.

# macOS
cd hone-ide && perry compile src/app.ts --output hone-ide

# iOS Simulator
cd hone-ide && perry compile src/app.ts --target ios-simulator --output Hone

# Web
cd hone-ide && perry compile src/app.ts --target web --output hone-ide.html

Entry Point

src/app.ts performs startup in order:

  1. Load themes from @honeide/themes
  2. Detect platform and screen dimensions
  3. Register built-in commands and panels
  4. Build the visual workbench (or show first-run setup screen)
  5. Call App({ title: 'Hone', width: 1200, height: 800, icon: 'hone-icon.png', body: body })

The plugin system initializes conditionally based on the __plugins__ compile flag.

Commands

src/commands.ts provides registerCommand() with:

  • id — unique string identifier
  • title — display name
  • category — grouping (e.g., “File”, “Edit”, “View”)
  • handler — function to execute
  • showInPalette — whether the command appears in the command palette

Commands are the central mechanism for keybindings, menus, and the command palette.

Keybindings

src/keybindings.ts handles keyboard shortcut resolution.

  • Modifier support: Ctrl, Shift, Alt, Meta (Cmd on macOS)
  • Chord sequences (e.g., Ctrl+K then Ctrl+C)
  • When-clauses for context-dependent activation
  • CmdOrCtrl normalizes to Cmd on macOS, Ctrl on other platforms

Views

25+ views in src/workbench/views/:

ViewPurpose
ai-chatAI conversation panel
ai-inlineInline AI completion UI
debugDebugger controls and state
diffSide-by-side and inline diff
explorerFile tree browser
extensionsExtension management
findFind and replace
gitGit status, staging, commit
lspAutocomplete, diagnostics, hover, signature help
notificationsToast notifications
pluginsPlugin management (V2)
pr-reviewPull request review
quick-openFuzzy file finder
recentRecent files and workspaces
searchWorkspace-wide search
settings-uiVisual settings editor
setupFirst-run configuration
syncCross-device sync status
tabsEditor tab bar
terminalIntegrated terminal
updateUpdate notifications
welcomeWelcome/start page
status-barBottom status bar

Theme Engine

Loads VS Code-compatible JSON theme files. Ships with 15 built-in themes.

  • UI colors accessed via getter functions
  • Dynamic theme switching at runtime
  • Token colors resolved through the tokenizer’s theme mapping