Terminal — Panes
Split (alternating)
CmdT
Close focused pane
CmdW
Quarter layout (2x2)
ShiftCmd4
Equalize all splits
ShiftCmdE
Terminal — Navigation
Focus left / right / up / down
OptArrow
Nudge split ratio
CmdOptArrow
Rename focused pane
Double-click label
Click pane to focus
Mouse click
Workspace Switching
Open IDE workspace
ShiftCmdO
Back to Terminal workspace
ShiftCmd1
Command palette
ShiftCmdP
Sync editor to terminal dir
ShiftCmdR
IDE — Editor
Save file
CmdS
Search files (fuzzy finder)
CmdP
Toggle sidebar
CmdB
Close tab
Click X on tab
Close other tabs
Right-click tab
Navigate to path
Click path bar
IDE — File Management
New file
+ button in FILES header
New folder
Folder+ button in FILES header
Rename file/folder
Right-click → Rename
Delete file/folder
Right-click → Delete
Copy file path
Right-click → Copy Path
Reveal in Finder
Right-click → Reveal
Go to parent directory
UP button / arrow icon
Filter files in sidebar
Type in filter field
Add project session
+ button in sessions
IDE — Panels
Toggle sidebar
CmdB
Toggle bottom panel
PANEL button in top bar
Switch bottom tab: Net Stats
Click NET STATS tab
Switch bottom tab: Terminal
Click TERMINAL tab
Toggle shortcut hints
? button in top chrome
Auto-Completion
Completions come from three sources, merged and deduplicated:
- LSP servers — Semantic completions from sourcekit-lsp (Swift), typescript-language-server (JS/TS), pyright (Python)
- Language keywords — Built-in keyword lists for 15+ languages
- File tokens — All identifiers extracted from the current file
Supported languages for LSP:
Swift
JavaScript
TypeScript
Python
Keyword completions for:
Swift
Python
JS/TS
Go
Rust
Java
HTML
CSS
Markdown
JSON/YAML
Quick Reference
Run the app: swift run FRACTAL
Build only: swift build
macOS requirement: macOS 14 (Sonoma) or later
Shell support: zsh (default), bash, fish, or any POSIX shell via $SHELL
Editor engine: Monaco Editor v0.50 (loaded from CDN)
Terminal engine: xterm.js (loaded from CDN)