TheThe0.5.0
The/Документация

Справочник по версии 0.4.3.

Всё описанное ниже существует в сборке. Разделы, содержимое которых нужно выгрузить из исходников, помечены как placeholder, а не заполнены правдоподобным текстом.

01 · что это

Текстовый редактор для кода, данных и документов.

Издатель — Talyh. Платформы: Windows и macOS. Без аккаунта, облака и синхронизации: редактор работает с файлами на диске.

СлойИз чего собран
ЯдроC++23, не зависит от GUI: persistent Piece Table, открытие через mmap, модель снимков, атомарное сохранение
ИнтерфейсQt 6: два дизайн-направления (Slate, Graphite), тёмная и светлая темы, прозрачность окна
Форматыtxt · csv · tsv · md · json · c · cpp · go · js · py · epub · fb2 · rtf · pdf · svg и растровые изображения
РасширенияПлагины через чистый C ABI; в 0.4.3 восемь в комплекте
Внешние движкиtree-sitter (подсветка), LSP/clangd (диагностика), RE2 (регулярные выражения), libgit2 (git)

02 · как устроено

Четыре решения, определяющие поведение.

2.1

The открывает файл, а не загружает его. От 100 МБ оригинал отображается в память: страницы подгружаются по обращению, поэтому открытие почти мгновенно и почти не расходует RAM. Индекс строк строится в фоновом потоке — переход к строке и позиция курсора остаются мгновенными.

2.2

Буфер — persistent Piece Table. Текст не переписывается целиком, а собирается из кусков, поэтому правка в начале большого файла стоит столько же, сколько в конце. История отмен хранится снимками и практически бесплатна.

2.3

Сохранение атомарное. Файл на диске заменяется целиком: сбой или отключение питания во время записи оставит либо полностью старую версию, либо полностью новую, но не «рваную».

2.4

Всё, что выше ядра, — плагин: форматы файлов, подсветка, темы, инструменты. Граница плагина описана в терминах чистого C ABI, поэтому расширение переживает смену компилятора и может быть написано не на C++.

03 · режимы

Режим выбирается по размеру и виден в строке состояния.

Вместо тихой деградации редактор сообщает, какие возможности он отключил.

РежимПорогПоведение
Normal< 16 MiBВсё включено: подсветка, свёртка, поиск по проекту, git-маркеры, языковой интеллект.
LargeText16 MiB — 1 GiBОткрытие через mmap, фоновая индексация; тяжёлые проходы по всему файлу ограничены.
HugeSlice≥ 1 GiBРабота идёт срезами; всё, что требует обхода целого содержимого, отключается осознанно.

placeholder

Точные пороги переключения и список отключаемых возможностей по каждому режиму нужно выгрузить из исходников 0.4.3 до публикации страницы.

Как работают большие файлы

04 · форматы

Что читается и что записывается.

ФорматЧтениеЗапись
txt, логиДа, включая гигабайтные файлыДа
csv, tsvТабличный режим: радуга колонок, закреплённая шапкаДа, как текст
mdПредпросмотр с диаграммами MermaidДа
c, cpp, go, js, pyПодсветка tree-sitter; для C/C++ диагностика clangdДа
epub, fb2, rtfWYSIWYG: лист, оглавление, засечная типографика, масштабСохранение из rich-текста
pdfМиниатюры, извлечение текстового слояТолько экспорт
svg, растрВстроенный просмотрНет

Полная матрица форматов

05 · плагины

В комплекте 0.4.3.

Все включаются тумблером и не требуют пересборки ядра.

# включены по умолчанию
plaintext   текстовые файлы, кодировки, режимы больших файлов
markdown    предпросмотр, диаграммы mermaid
csv         табличный режим для csv и tsv
json        подсветка и структура
cpp         грамматика tree-sitter, умные отступы
ripgrep     поиск по всему проекту
git         маркеры, source control, стейджинг по ханкам, diff

# выключен по умолчанию
clangd      диагностика C/C++ по LSP, проекты Unreal Engine

06 · файлы

Файл не должен пострадать от того, что вы его открыли.

  • Сохранение атомарное: файл заменяется целиком, а не переписывается на месте.
  • Открытый файл заблокирован между процессами: второе окно не испортит его молча.
  • Внешнее изменение на диске вызывает уведомление; ничего не применяется без вашего решения.
  • Недавние файлы и мультикорневые рабочие пространства хранятся в профиле.

placeholder

Расположения на диске — каталог конфигурации, состояние сессии, путь к логам по платформам — не зафиксированы в материалах проекта и должны быть взяты из сборки.

07 · настройки и клавиши

Что настраивается сейчас.

Тема (тёмная, светлая), дизайн-направление (Slate, Graphite), акцентный цвет, раздельные шрифты для кода, интерфейса и панелей, прозрачность окна, масштаб 50–400% с режимами «по ширине» и «страница целиком», стиль отступов с автоопределением.

placeholder · клавиши

Раскладка команд не описана в материалах проекта. Её нужно выгрузить из сборки (keymap по умолчанию для каждой платформы), а не восстанавливать по аналогии с другими редакторами: неверное сочетание в документации хуже отсутствующего.

placeholder · файл конфигурации

Имена настроек, формат файла конфигурации и его расположение нужно выгрузить из сборки.

08 · ограничения

Известные ограничения 0.4.3.

Всё перечисленное — осознанное и задокументированное, а не дефект.

LSP: только диагностика

Переходы к определению, hover, автодополнение и rename не реализованы.

Пять грамматик

Подсветка охватывает C, C++, Go, JavaScript и Python.

PDF только на чтение

PDF читается и в него экспортируют; редактирование не поддерживается.

Git без merge

Есть diff и стейджинг по ханкам; merge и разрешение конфликтов отсутствуют.

Нет песочницы плагинов

Сторонние плагины работают в процессе редактора. Песочница WASM запланирована.

Две платформы

Сборки существуют только для Windows и macOS.

Что запланировано, без сроков

см. также

Куда идти дальше.

SDKПлагинный API через C ABI, шаблон и сборкаразработчикам
Большие файлыmmap, фоновая индексация, режимы подробноподробно
ИзмененияЧто менялось в каждой версии линейки 0.4.xс датами
NoticesСторонние компоненты и их лицензиибез JS
БезопасностьКак сообщить об уязвимостиконтакт