History & Sync
Shell History
Boo keeps a searchable history of the commands you run in all tabs, windows and hosts. Each entry has the command, folder, exit code, duration, host and workspace. It is stored in ~/.boo/history.db.
Commands are recorded through Boo's shell integration (see Command Blocks).
Searching history
Press Ctrl+R at a shell prompt to open the history search. Type to fuzzy-filter. Recent, frequent and same-folder commands rank first.
| Key | Action |
|---|---|
| Return | Put the command on the prompt, without running it |
| Cmd+Return | Run the command |
| Cmd+C | Copy the command |
| Cmd+Delete | Remove the entry from history |
| Up / Down | Move the selection |
| Ctrl+R / Ctrl+S | Move to an older / newer match, like the shell's own search |
| Esc | Close |
Four chips narrow the results; toggle them with Cmd+1 to Cmd+4:
- This workspace
- Failed — non-zero exit codes only
- the current host, or Local
- the current folder
Boo takes over Ctrl+R only at a prompt with Boo's shell integration. Elsewhere, such as inside vim, the key goes to the program as usual.
The command palette searches the same history with the ! prefix.
History settings
Settings → General → Command History:
| Setting | Default | Description |
|---|---|---|
| Record commands | On | Save finished commands to ~/.boo/history.db |
| ⌃R opens history search | On | Off leaves Ctrl+R to the shell |
| Ignore pattern | ^\s|(?i)(token|secret|password|passwd|api_key|apikey)= | Commands matching this regex are never saved. Empty saves everything. Default restores it |
| Keep for | 365 days | Older commands are removed at launch. 0 keeps them forever |
Clear History… deletes every saved command. This can't be undone.
The default pattern skips commands that start with a space and commands that set a secret-looking variable, such as API_KEY=… curl ….
Sync
Sync keeps Boo's configuration the same on several Macs through a shared folder, such as one in iCloud Drive. Boo copies files between ~/.boo and that folder; there is no server.
Turning it on
- Open Settings → General → Sync.
- Click Choose… next to Sync folder and pick a folder that all your Macs can see.
- Do the same on your other Macs, with the same folder.
Sync Now syncs right away. Turn Off stops syncing; the files already in the folder stay.
What syncs
| Synced | Stays on each Mac |
|---|---|
Appearance, editor, status bar, plugin and history settings, and custom themes (from settings.json) | Folders, paths and window layout |
profiles.json, rules.json | Session, bookmarks, history database, recordings |
keytables.json, snippets.json | |
themes/, recipes/ |
Conflicts
Boo watches both ~/.boo and the sync folder:
- A file changed or deleted on one side only is copied or deleted on the other.
- A file changed on both sides since the last sync is a conflict. So is a file that differs on the first sync. Neither side is overwritten.
Conflicts show in the status bar as ⚠ Sync conflict (or ⚠ N sync conflicts). Click it and pick, for each file:
- Keep Mine — your Mac's version wins
- Take Theirs — the sync folder's version wins
- Show Diff — compare the two first
Files that iCloud hasn't downloaded yet (.icloud placeholders) are skipped until they arrive.
