Ниже только реализованное в текущей линейке. Планы вынесены отдельной страницей, чтобы их нельзя было спутать с готовым.
01 · редактирование
Буфер — persistent Piece Table: текст не переписывается целиком, а собирается из кусков. Поэтому вставка в начало файла на 800 МБ стоит столько же, сколько вставка в конец.
Полноценный движок мягкого переноса с ленивой раскладкой поверх текстового буфера: раскладка считается только для видимой области, поэтому строка на несколько миллионов символов не подвешивает интерфейс.
мягкий перенос · ленивая раскладка · плавный зум колесом
02 · поиск и замена
Мы не пишем свой движок регулярных выражений: RE2 даёт предсказуемое время работы без катастрофического бэктрекинга.
Полноценная замена с регулярными выражениями, по выделению или по файлу.
Слово под курсором подсвечивается по всему видимому тексту.
Результаты сгруппированы по файлам, с переходом к строке.
Несколько корней в одном рабочем пространстве — поиск идёт по всем.
03 · синтаксис и языковой интеллект
.clangd генерируется автоматически.границы честно
Переходы к определению, hover и автодополнение по LSP пока не реализованы — они в планах.
04 · git и изменения
На libgit2: маркеры изменений у номеров строк, панель Source Control, стейджинг по отдельным ханкам, side-by-side diff и inline-peek к версии из HEAD.
05 · работа с файлами
Сохранение атомарное: на диске всегда либо старая целая версия, либо новая целая. Открытый файл заблокирован между процессами, а внешние изменения не применяются молча.
06 · оформление
07 · полный список
Формулировки взяты из описания версии 0.4.x. Если чего-то нет в этой таблице — этого нет в продукте.
| Область | Что есть сейчас |
|---|---|
| Скорость и большие файлы | Открытие через mmap от 100 МБ, фоновая индексация строк, явные режимы Normal / LargeText / HugeSlice |
| Редактирование | Мультикаретка, колоночное выделение, умные отступы с автоопределением, парные скобки, свёртка, закладки, история отмен на снимках |
| Перенос строк | Мягкий перенос с ленивой раскладкой поверх буфера |
| Поиск | Быстрый поиск, «найти и заменить» с RE2, подсветка вхождений слова под курсором, поиск по проекту с группировкой по файлам |
| Синтаксис | tree-sitter: C, C++, Go, JavaScript, Python — инкрементальный разбор |
| Языковой интеллект | LSP: диагностика C/C++ через clangd, поддержка проектов Unreal Engine |
| Данные | Табличный режим CSV/TSV: радуга колонок, закреплённая шапка, крупные номера строк |
| Markdown | Предпросмотр с диаграммами Mermaid во встроенном веб-движке |
| Книги и документы | WYSIWYG для EPUB, FB2, RTF: лист, оглавление, засечная типографика, масштаб. PDF: миниатюры страниц, извлечение текстового слоя |
| Rich-текст | Заголовки, списки, выравнивание, ссылки, изображения; экспорт в PDF, сохранение в EPUB, FB2, RTF |
| Изображения | Встроенный просмотр, включая корректный рендер SVG |
| Git | Маркеры изменений, Source Control с коммитами, стейджинг по ханкам, side-by-side diff, inline-peek к HEAD (libgit2) |
| Оформление | Тёмная и светлая темы, направления Slate и Graphite, акцентные цвета, раздельные шрифты, прозрачность окна |
| Масштаб | Единый контрол 50–400%, режимы «по ширине» и «страница целиком», зум колесом |
| Плагины | API на чистом C ABI, SDK и шаблон; в комплекте восемь плагинов |
| Файлы | Атомарное сохранение, блокировка между процессами, уведомление о внешних изменениях, недавние файлы, мультикорневые пространства |