Text editor / Rust / MIT

Multi-cursor. Syntax aware. Absurdly fast.

Token is a minimal code editor with multi-cursor editing, split views, and Tree-sitter syntax highlighting. No Electron. No bloat. Just code.

MIT Licensed · No Telemetry · Open Source
Token editor showing Rust code with multi-cursor editing and split views
18Languages
<50msStartup
Cursors
0Electron

Built for speed

01

Multi-cursor editing

Add cursors anywhere with Option+Click. All cursors move and edit simultaneously. Overlapping cursors merge automatically.

12let name = "alice";
13let name = "bob";
14let name = "carol";
+Click add cursor   +J select next match
02

Split views

Horizontal and vertical splits with independent viewports. Same file, different positions.

03

Tree-sitter syntax

Incremental parsing with real AST understanding. Not regex. Accurate highlighting.

fn parse(input: &str)
-> Result<AST, Error>
04

CSV spreadsheet

View CSV and TSV as proper tables. Navigate with arrow keys. Edit cells in place.

NameAgeCity
Alice32Oslo
Bob28London
Carol25Berlin
05

YAML config

Keymaps and themes in plain YAML. No JSON schema. No settings UI maze.

bindings:
- key: "cmd+s"
command: SaveFile

Languages

RustTypeScriptJavaScriptPython GoJavaCC++PHP HTMLCSSJSONYAMLTOML MarkdownBashSchemeXML RustTypeScriptJavaScriptPython GoJavaCC++PHP HTMLCSSJSONYAMLTOML
Split views Token
Token editor screenshot

Side-by-side editing with independent viewports. Horizontal, vertical, or nested.

⌘+\

Get Token

Auto-detects your platform. One command.

$ curl -fsSL token-editor.com/install.sh | sh

Detects macOS (ARM/Intel), Linux, and Windows. Downloads the latest release and installs to /usr/local/bin.

Or build from source
git clone https://github.com/HelgeSverre/token
cd token && make release
sudo mv target/release/token /usr/local/bin/

Keyboard-first editing

Token is designed to keep your hands on the keyboard.

Files

SSave
OOpen file
OGo to file
WClose tab

Navigation

ACommand palette
LGo to line
FFind & replace
1File explorer

Multi-cursor

+ClickAdd cursor
JUnselect last
JSelect next
EscSingle cursor

Editing

DDuplicate line
Delete line
Expand selection
TabUnindent
100+ conversations

Built with AI,
in the open

Every feature, every bug fix, every architectural decision — built through conversations with AI coding assistants. The entire development process is documented publicly.

View the threads →
amp — token-editor
youadd multi-cursor support with Opt+Click
ampI'll implement this in 3 steps: cursor storage, click handling, and synchronized editing…
src/model/cursor.rs src/update/text_edit.rs src/model/selection.rs
12 tests passing · 3 files changed
youimplement CSV spreadsheet view mode
ampI'll add a grid renderer with cell navigation, parsing, and inline editing…
src/view/mod.rs src/model/csv.rs src/update/csv.rs
8 tests passing · 4 files changed
youadd Tree-sitter syntax highlighting
ampAnalyzing parser integration