Об этом проекте
NEO Emacs — это разрабатываемая жёсткая ветвь GNU Emacs, заменяющая ~300 000 строк кода на C ядром на Rust и запускающая графический движок на GPU через wgpu (Vulkan, Metal, DX12, GL). Цель — 100% совместимость с существующей экосистемой Emacs: init.el, пакетами и мышечной памятью, с использованием GNU Emacs в качестве тестового оракула для проверки каждой переписанной подсистемы.
Ключевые возможности включают:
- Рендеринг текста, изображений и эффектов на GPU, заменяющий xdisp.c на ~4 000 строк кода на Rust
- Встроенный в буферы мультимедийный контент: видео 4K (GStreamer + VA-API на Linux), изображения, декодируемые на GPU, встроенный браузер WPE WebKit и GPU-совместимый терминал (Alacritty) с путями нулевого копирования через DMA-BUF
- Настраиваемая анимация: 8 режимов курсора, 21 эффект прокрутки, 10 переходов между буферами с частотой обновления дисплея
- Расширяемый с помощью Elisp фронтенд, доходящий до шейдеров GPU (WGSL)
- Полностью на Rust среда выполнения Elisp: интерпретатор, байткод-виртуальная машина, сборщик мусора и переносимый дамп
- Режимы GUI и терминала из одного бинарного файла (neomacs -nw)
Проект сообщает о ~95% совместимости с GNU Emacs через тестовые наборы-оракулы, при этом работают JIT-компиляция и встраивание кэширования для Elisp. Настоящий многопоточный Elisp и параллельный сборщик мусора с нулевыми паузами находятся на стадии исследования и проектирования.
Предварительно собранные пакеты доступны для Linux (.deb, .rpm, AppImage), macOS (экспериментальная) и Windows (экспериментальная). Опубликованы образы Docker для amd64 и arm64. Лицензия: GPL-3.0.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.