Всё описанное ниже существует в сборке. Разделы, содержимое которых нужно выгрузить из исходников, помечены как 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 · как устроено
The открывает файл, а не загружает его. От 100 МБ оригинал отображается в память: страницы подгружаются по обращению, поэтому открытие почти мгновенно и почти не расходует RAM. Индекс строк строится в фоновом потоке — переход к строке и позиция курсора остаются мгновенными.
Буфер — persistent Piece Table. Текст не переписывается целиком, а собирается из кусков, поэтому правка в начале большого файла стоит столько же, сколько в конце. История отмен хранится снимками и практически бесплатна.
Сохранение атомарное. Файл на диске заменяется целиком: сбой или отключение питания во время записи оставит либо полностью старую версию, либо полностью новую, но не «рваную».
Всё, что выше ядра, — плагин: форматы файлов, подсветка, темы, инструменты. Граница плагина описана в терминах чистого C ABI, поэтому расширение переживает смену компилятора и может быть написано не на C++.
03 · режимы
Вместо тихой деградации редактор сообщает, какие возможности он отключил.
| Режим | Порог | Поведение |
|---|---|---|
| Normal | < 16 MiB | Всё включено: подсветка, свёртка, поиск по проекту, git-маркеры, языковой интеллект. |
| LargeText | 16 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, rtf | WYSIWYG: лист, оглавление, засечная типографика, масштаб | Сохранение из rich-текста |
| Миниатюры, извлечение текстового слоя | Только экспорт | |
| svg, растр | Встроенный просмотр | Нет |
05 · плагины
Все включаются тумблером и не требуют пересборки ядра.
# включены по умолчанию 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 · ограничения
Всё перечисленное — осознанное и задокументированное, а не дефект.
Переходы к определению, hover, автодополнение и rename не реализованы.
Подсветка охватывает C, C++, Go, JavaScript и Python.
PDF читается и в него экспортируют; редактирование не поддерживается.
Есть diff и стейджинг по ханкам; merge и разрешение конфликтов отсутствуют.
Сторонние плагины работают в процессе редактора. Песочница WASM запланирована.
Сборки существуют только для Windows и macOS.
см. также