termic.dev
Documentation menu

Editor & diff viewer

Termic has a built-in CodeMirror editor and a syntax-highlighted diff view against HEAD, side-by-side or unified, plus Send to main to land a worktree's changes in your parent checkout.


Reviewing what an agent did is half the job, and bouncing out to another app to do it breaks the flow. Termic has a real editor and a proper diff view built in, so you can read, check and tidy an agent’s work without leaving the task.

The file tree

Each task has a file explorer with Sublime-style preview tabs: single-click a file to preview it (the tab is reused as you click around), double-click or edit to make it a permanent tab. It’s a fast way to skim what’s in a worktree without opening a dozen tabs you then have to close.

Right-click a file or folder for the actions you’d reach for: rename or remove it straight from the tree, copy its path (relative or absolute), and show in Finder. Those copy-path and reveal actions follow you across the file surfaces, so they’re also on the All Files tree, the Git panel, the diff header, and the editor breadcrumb.

The editor

Files open in a built-in editor powered by CodeMirror 6. It’s a real code editor, syntax highlighting, the keybindings you’d expect, and it’s deliberately CodeMirror rather than Monaco: Monaco was measurably slower to cold-start inside WKWebView when the choice was benchmarked, and editor-open latency is something you feel.

  • Saving is explicit, with a dirty-state indicator so you always know whether what’s on screen matches disk.
  • The Find / Replace panel is styled to match the rest of the app (no bevelled WebKit gradient buttons), and it never shows spellcheck or autocorrect squiggles, because file contents, paths and identifiers aren’t prose.

When an agent changes a file on disk, Termic reloads it intelligently. A file you opened in preview (temporary) mode refreshes quietly, instead of showing a false “modified” dot. A file you opened to edit asks before reloading, and only when you focus its tab, so an agent’s edits never quietly overwrite what you’re working on.

The editor is loaded lazily, so it doesn’t cost you anything until you actually open a file.

The diff viewer

The diff view shows a task’s changes against HEAD with full syntax highlighting. You can flip between side-by-side and unified layouts depending on what you’re reading: side-by-side for understanding a rewrite, unified for scanning a lot of small edits.

A file's diff open in Termic's diff viewer: a removed line highlighted red and its replacement lines highlighted green, with the unified / side-by-side toggle in the header and the Git panel on the right listing the changed files.

A diff against HEAD, with the unified / side-by-side toggle in the header and the changed files listed in the Git panel on the right.

Click a file in the Git panel to open its diff here, then stage and commit it without leaving the task.

The change highlights are tuned for readability: softer change highlights and even add/remove line tints keep syntax-colored code legible, so you read the code, not the background.

For multi-repo tasks, the diff is aggregated across every member repo, so you review everything the agent changed in one place instead of opening each repo’s diff separately.

Send to main

When an agent in a worktree has done something you want to keep, Send to main lands that diff in your parent checkout. It’s the bridge from the isolated worktree back to the branch you actually work on, without manually cherry-picking or merging. (Tasks on the main checkout don’t need this, they’re already in your checkout.)

Syntax themes

The editor and diff view support eight syntax themes, set in Appearance. They’re chosen to pair with the app’s overall theme, and there’s a live, syntax-highlighted preview in settings so you can see a theme before committing to it.

There’s also an Auto theme that matches the app palette, so a light app theme no longer shows light code on a light background.

Last reviewed: June 25, 2026