Code editor
Splice is built around workspaces — fully isolated environments with their own file trees, terminals, editors, and layouts. Switch between projects in a keystroke. Keep everything in context. Never lose your place.
∞
Workspaces per window
Siloed
State per workspace
Native
Rust + Tauri backend
0ms
Context switch time
The workspace
Most editors give you one context. You juggle windows, fight for screen space, and lose threads. Splice gives you workspaces — each one a complete, isolated environment with its own file tree, terminal sessions, editor tabs, and pane layout.
Frontend and backend in separate workspaces. Client A and client B. Agent running a long build in one terminal while you write code in another. Everything lives in one window — organized, not crammed.
Switch workspaces in a keystroke. The state you left is exactly where you left it.
Full isolation
Each workspace has its own root folder, file tree, open files, terminals, and pane layout. Nothing bleeds between them.
Instant switch
Cmd+Opt+Shift+Arrow to move between workspaces. Your terminals keep running, your editors hold their state. No reload, no reconnect.
Arrange how you think
Each workspace has its own binary tree pane layout. Split terminals and editors any way you want — per project, per context, per workflow.
AI workflows
When you run Claude Code across multiple terminals — spanning multiple workspaces — Splice tracks each one. Permission requests and idle states surface as inline notifications in the footer, with the affected terminal identified. You stay focused until something actually needs your attention.
Inline notification
# Footer bar — always visible
● permission · Terminal 2 — Bash(npm run build)
Dismiss with any keypress in that terminal.
Multiple agents
# All surfaced in one place
permission · Terminal 1 · workspace/api
idle · Terminal 3 · workspace/ui
permission · Terminal 5 · workspace/infra
+2 more ↑
Features
Pane layout
Binary tree splits
Split any pane horizontally or vertically into a terminal or editor. Drag to resize from edges or intersection corners. Zoom any pane to full screen and back. Spatial navigation between panes with Cmd+Opt+Arrow.
Terminal
Custom emulator
A ground-up terminal emulator built to match the workspace's demands. VTE parser, Canvas 2D renderer, binary frame protocol over Tauri events. Full xterm-256color parity — because agents and build tools expect a real terminal.
Editor
CodeMirror 6
Syntax highlighting for TypeScript, Rust, Python, HTML, CSS, JSON, and Markdown. Minimap, indent guides, bracket matching. Tab drag and drop — move tabs between panes or create a new split by dragging to an edge zone. Git branch indicator and recent files per workspace.
File explorer
Per workspace
Each workspace opens its own root folder. Tree view with indent guides, folder expand/collapse, and single-click preview tabs. File system watching keeps the tree in sync automatically. The explorer is part of the workspace — not a global panel.
Command palette
Cmd+K
Quick access to actions — new terminal, new file, open folder, split pane, navigate. Keeps you keyboard-first regardless of what's on screen.
Keyboard
Navigate to adjacent pane
Cmd+Opt+Arrow
Switch workspace
Cmd+Opt+Shift+←/→
Toggle pane zoom
Cmd+Z
Focus pane by index
Cmd+1–9
Command palette
Cmd+K
Toggle file explorer
Cmd+B
New file
Cmd+N
Settings
Cmd+,
Stack
Native Tauri app — not a web app in a shell. The backend owns the PTY, the terminal parser, and the workspace state. The frontend handles layout and rendering. Sharp division, no blurring.
Tauri v2 + Rust
Native macOS app. PTY management, VTE parsing, workspace persistence, and the attention server all live in Rust. No Electron.
Svelte 5 (runes)
Frontend built with Svelte 5 runes. Fine-grained reactivity. Binary tree pane layout rendered recursively. Tailwind CSS v3.
Canvas 2D terminal
Custom terminal renderer. Cells decoded from a compact binary frame protocol. No DOM elements per character — full grid repaint up to 120fps.
CodeMirror 6
Editor panes powered by CodeMirror 6. Syntax highlighting for TypeScript, Rust, Python, HTML, CSS, JSON, and Markdown. Minimap, indent guides, git branch indicator.
Download
Build from source
# Prerequisites: Node.js 18+, Rust stable, Tauri CLI
git clone https://github.com/adrianhajdin/Splice
npm install
cargo tauri dev
Production build
Platform
macOS. Linux and Windows support planned.
License
MIT. Free to use, fork, and modify.
Source
github.com/adrianhajdin/Splice