Everything below describes behaviour that exists in the build. Sections whose content must be exported from the source are marked as placeholders rather than filled with plausible text.
01 · what it is
Publisher: Talyh. Platforms: Windows and macOS. No account, no cloud, no sync — the editor works with files on disk.
| Layer | What it is built from |
|---|---|
| Core | C++23, independent of the GUI: persistent Piece Table, memory-mapped opening, snapshot model, atomic saving |
| Interface | Qt 6: two design directions (Slate, Graphite), dark and light themes, window transparency |
| Formats | txt · csv · tsv · md · json · c · cpp · go · js · py · epub · fb2 · rtf · pdf · svg and raster images |
| Extensions | Plugins over a plain C ABI; eight bundled in 0.4.3 |
| External engines | tree-sitter (highlighting), LSP/clangd (diagnostics), RE2 (regular expressions), libgit2 (git) |
02 · how it works
The opens a file rather than loading it. From 100 MB the original is memory-mapped: pages are faulted in on access, so opening is near-instant and costs almost no RAM. The line index is built in a background thread, which keeps “go to line” and the cursor position immediate.
The buffer is a persistent Piece Table. Text is never rewritten wholesale — it is assembled from pieces — so an edit at the start of a large file costs the same as one at the end. Undo history is stored as snapshots and is effectively free.
Saving is atomic. The file on disk is replaced as a whole, so a crash or power loss during a write leaves either the entire old version or the entire new one, never a torn file.
Everything above the core is a plugin: file formats, highlighting, themes, tools. The plugin boundary is a plain C ABI, so an extension survives a compiler change and may be written in a language other than C++.
03 · modes
Instead of degrading silently, the editor states which capabilities it has disabled.
| Mode | Threshold | Behaviour |
|---|---|---|
| Normal | < 16 MiB | Everything enabled: highlighting, folding, project-wide search, git markers, language intelligence. |
| LargeText | 16 MiB — 1 GiB | Memory-mapped opening, background indexing; heavy whole-file passes are constrained. |
| HugeSlice | ≥ 1 GiB | Work proceeds in slices; anything that must walk the whole content is disabled deliberately. |
placeholder
Exact switching thresholds and the per-mode list of disabled capabilities must be exported from the 0.4.3 source before this page is published.
04 · formats
| Format | Read | Write |
|---|---|---|
| txt, logs | Yes, gigabyte files included | Yes |
| csv, tsv | Table mode: rainbow columns, pinned header | Yes, as text |
| md | Preview with Mermaid diagrams | Yes |
| c, cpp, go, js, py | tree-sitter highlighting; clangd diagnostics for C/C++ | Yes |
| epub, fb2, rtf | WYSIWYG: sheet, contents, serif typography, zoom | Saved from rich text |
| Thumbnails, text-layer extraction | Export only | |
| svg, raster | Built-in viewer | No |
05 · plugins
All are enabled with a toggle and require no rebuild of the core.
# enabled by default plaintext text files, encodings, large-file modes markdown preview, mermaid diagrams csv table mode for csv and tsv json highlighting and structure cpp tree-sitter grammar, smart indentation ripgrep project-wide search git markers, source control, per-hunk staging, diff # off by default clangd C/C++ diagnostics over LSP, Unreal Engine projects
06 · files
placeholder
On-disk locations — configuration directory, session state, log path per platform — are not fixed in the project materials and must be taken from the build.
07 · settings and keys
Theme (dark, light), design direction (Slate, Graphite), accent colour, separate fonts for code, interface and panels, window transparency, zoom from 50% to 400% with fit-width and whole-page modes, indentation style with auto-detection.
placeholder · keymap
The keymap is not documented in the project materials. It must be exported from the build (default keymap per platform) rather than reconstructed by analogy with other editors — a wrong shortcut in the docs is worse than a missing one.
placeholder · config file
Setting names, the configuration file format and its location must be exported from the build.
08 · limits
Everything listed here is deliberate and documented, not a defect.
Go-to-definition, hover, completion and rename are not implemented.
Highlighting covers C, C++, Go, JavaScript and Python.
PDF is read and exported to; editing a PDF is not supported.
There is diff and per-hunk staging; merge and conflict resolution are absent.
Third-party plugins run in the editor's process. A WASM sandbox is planned.
Builds exist for Windows and macOS only.
see also