TheThe0.10.1
The/Large files

A gigabyte file is not a “please wait”.

An ordinary editor reads the whole file into memory and hopes it fits. The memory-maps the original and states plainly which mode it is in and what that mode switches off.

mechanics

Three decisions that add up to speed.

mmap

The original is mapped, not copied

Files from 100 MB open through memory-mapping: pages are faulted in on access, so opening costs almost no RAM and requires no full read from disk.

index

Line indexing runs in the background

Jumping to a line and the cursor position are instant while the interface never blocks on counting: the index is built in parallel and its status is visible in the status bar.

piece table

Editing anywhere is equally cheap

The buffer is assembled from pieces rather than rewritten: inserting at the start of a several-hundred-megabyte file costs the same as at the end. Undo is snapshot-based.

modes

The editor says what it turned off instead of stalling.

The mode is chosen by file size and shown in the status bar. This is the key difference from “sudden slowdowns”: behaviour is predictable and the limits are named out loud.

mode 01

Normal

Ordinary files, read fully into memory. Everything is available — code folding, breakpoints, line-ending conversion, highlighting from the first byte.

threshold
< 4 MiB
opening
full read into memory
highlighting
the whole file
find all
100,000 matches
disabled
nothing

mode 02

LargeText

Big logs and dumps. Memory-mapped, with line indexing running in the background; up to 64 MiB the file moves into a buffer of its own once that finishes and lets the mapping go. Soft wrap stays on.

threshold
4 MiB — 1 GiB
opening
mmap + background line index
soft wrap
on
highlighting
256 KiB around the viewport
find all
10,000 matches
full pass
Enter/F3, 8 MiB per press
disabled
code folding, breakpoints, line-ending conversion, multiline regex, symbol index, VCS gutter markers, inline diff

mode 03

HugeSlice

Gigabyte files. The mapping is held for the whole session, and anything that would have to walk the file end to end is dropped.

threshold
≥ 1 GiB
opening
mmap, held for the session
soft wrap
off
highlighting
64 KiB around the viewport
find all
1,000 matches
disabled
everything LargeText disables, plus the background recount of wrapped lines

data

A million-line log is easier to read as a table.

CSV and TSV table mode

  • Rainbow columns — the eye does not lose a column while scrolling.
  • The header stays pinned, line numbers are large.
  • Works on multi-million-row tables: the same mmap and background index.
  • Project-wide search on RE2 — results grouped by file.
All formats

one more thing

A big file is especially easy to ruin.

So saving is atomic: a crash or a power cut during a write will not leave a torn file. An open file is locked across processes, and if it changed on disk the editor tells you instead of silently overwriting it.