Темы:
-
Добавить gruber-dark (#8598).
-
Обновить everblush (#8705).
-
Обновить papercolor (#8718, #8827).
-
Добавить polmandres (#8759).
-
Добавить starlight (#8787).
-
Обновить naysayer (#8838).
-
Добавить темы modus operandi (#8728, #9912).
-
Обновить rose_pine (#8946).
-
Обновить darcula (#8738, #9002, #9449, #9588).
-
Добавить темы modus vivendi (#8894, #9912).
-
Добавить horizon-dark (#9008, #9493).
-
Обновить noctis (#9123).
-
Обновить nord (#9135).
-
Обновить темы monokai pro (#9148).
-
Обновить темы tokyonight (#9099, #9724, #9789).
-
Добавить ttox (#8524).
-
Добавить voxed (#9164).
-
Обновить sonokai (#9370, #9376). Обновление тем GitHub:
-
Update onedark, onedarker,
-
Add gruvbox_light_soft, gruvbox_light_hard,
-
обновление тем GitHub,
-
добавление term16_dark, term16_light,
-
обновление Zed тем,
-
добавление curzon,
-
monokai_soda,
-
обновление catppuccin тем,
-
rasmus,
-
dark_plus,
-
gruvbox,
-
jump label theming для dracula,
-
horizon-dark,
-
catppuccin,
-
onedark,
-
rose-pine,
-
Nord,
-
Monokai,
-
gruvbox,
-
kanagawa,
-
material.
Новые языки:
- Typst,
- LPF,
- GN,
- DBML,
- log,
- Janet,
- Agda,
- Avro,
- Smali,
- HOCON,
- Tact,
- PKL,
- CEL,
- SpiceDB,
- Hoon,
- DockerCompose,
- Groovy,
- FIDL,
- Powershell,
- ld,
- Hyperland config,
- JSONC. PHP Blade, SuperCollider, Koka, PKGBUILD, Ada, Helm charts, Ember.js templates, Ohm — языки программирования и связанные с ними запросы.
Добавлены запросы на внедрение HTML в Rust, переход на RON-парсер tree-sitter-ron, улучшение подсветки комментариев, выделение параметров типов в Rust, изменение парсеров KDL tree-sitter, обновление tree-sitter-markdown, tree-sitter-purescript, добавление выделения параметров типов для TypeScript, Go, Haskell, OCaml и Kotlin, добавление запросов на отступы для Scheme и lisps с использованием tree-sitter-scheme, распознавание meson_options.txt как Meson, добавление конфигурации языкового сервера для Nushell, распознавание musicxml как XML, обновление tree-sitter-rescript, tree-siter-python, распознавание .envrc.local и .envrc.private как env, обновление tree-sitter-gleam, tree-sitter-d, исправление названия языка R-markdown для обнаружения LSP, добавление конфигурации haskell-language-server LSP, распознавание glif как XML, распознавание .prettierrc как JSON, добавление конфигурации автопар для Scheme, добавление текстовых объектов для Scala и Protobuf, обновление tree-sitter-wren, добавление spago.yaml в качестве корня LSP для PureScript, улучшение запросов на подсветку и отступы для Bash, Make и CSS, обновление tree-sitter-scala, распознавание .bash_history как Bash и файлов игнорирования Helix как ignore. Инжектировать SQL в строки SQL на Scala (#9428);
— обновить текстовые объекты GDscript (#9288);
— обновить запросы Go (#9510, #9525);
— обновить tree-sitter-nushell (#9502);
— добавить запросы отступов для tree-sitter-unison (#9505);
— обновить tree-sitter-slint (#9551, #9698);
— обновить tree-sitter-swift (#9586);
— добавить fish_indent как средство форматирования для fish (78ed3ad);
— распознавать zon как Zig (#9582);
— добавить средство форматирования для Odin (#9537);
— обновить tree-sitter-erlang (#9627, fdcd461);
— захватывать поля Rust как аргументы текстовых объектов (#9637);
— улучшить текстовые объекты Dart (#9644);
— распознавать tmux.conf как файл типа bash (#9653);
— добавить текстовые запросы для Nix (#9659);
— добавить текстовые запросы для HCL (#9658);
— распознавать расширения osm и osc как XML (#9697);
— обновить tree-sitter-sql (#9634);
— распознать файлы Processing как Java (#9741);
— обновить tree-sitter-lua (#9727);
— переключить парсеры tree-sitter-nim (#9722);
— распознавать файлы GTK builder ui как XML (#9754);
— настроить конфигурацию для языкового сервера markdown-oxide (#9758);
— добавить шебанг для elvish (#9779);
— исправить приоритет Svelte TypeScript injection (#9777);
— распознать общие типы файлов Dockerfile (#9772);
— распознать NUON файлы как Nu (#9839);
— добавить текстовые объекты для собственных функций и конструкторов Java (#9806);
— исправить опечатку «braket» в JSX подсветке (#9910);
— обновить tree-sitter-hurl (#9775);
— добавить текстовые запросы для Vala (#8541);
— обновить дерево-сидячий git-config (9610254);
— распознать 'mmd' как Mermaid (459eb9a);
— выделить внешние псевдонимы Rust (c099dde);
— улучшить выделение параметров в C++ (f5d95de);
— распознать rclone.conf как INI (#9959);
— добавить инъекции для GraphQL и ERB в Ruby heredocs (#10036);
— добавить main.odin к корням LSP Odin (#9968).
Упаковка:
— разрешить пользовательские оверлеи в сборках грамматик Nix (#8749);
— установить Cargo feature resolver на v2 (#8917);
— использовать наследование рабочей области для общей метаданных Cargo. ###
8925 — удалить основанные на sourcehut грамматики Tree-sitter из сборки по умолчанию (9316, 9326).
9104 — добавить иконку в исполняемый файл Windows.
23.10 (2023-10-24).
Большое спасибо всем участникам! В этом выпуске было 118 участников.
Изменения:
- поддержка нескольких языковых серверов для каждого языка (2507) — это изменение конфигурации языка.
Функции:
- Поддержка нескольких языковых серверов для каждого языка (2507, 7082, 7286, 8374).
- Добавление элемента statusline для выбранного регистра (7222).
- Добавление специальных регистров
%
, #
, .
, *
и +
(6985).
- Начальная поддержка уведомлений LSP DidChangeWatchedFiles (7665).
- Поиск содержимого буфера в
global_search
(5652).
- Добавить команду «smart tab», которая разумно перемещает курсор при нажатии клавиши Tab (4443).
- Добавление элемента statusline, показывающего, доступен ли файл только для чтения (7222, 7875).
- Синтаксическая подсветка регулярных выражений (7738).
- Разрешение определения выравнивания в запросах отступа (5355).
- Визуальная обратная связь в
surround_replace
(7588).
- Переход на Nucleo для нечеткого сопоставления (7814, 8148, 8192, 8194).
- Вставка завершающей новой строки при записи (8157).
- Добавьте флаг CLI
-w
/--working-dir
для указания рабочего каталога при запуске (8223, 8498, 8520).
- Принять аргумент CLI
+N
, чтобы установить номер первой строки файла (8521).
- Принимать файлы игнорирования Helix в
.helix/ignore
и ~/.config/helix/ignore
(8099).
Команды:
-
merge_selections
(A-минус
) — объединить все выделения в одно выделение, охватывающее все диапазоны (7053).
-
move_prev_long_word_end
и extend_prev_long_word_end
— перемещение/расширение до конца предыдущего СЛОВА (6905).
-
reverse_selection_contents
— меняет значения каждого выделения местами (7329).
- Добавить псевдонимы
:rl
и :rla
для :reload
и :reload-all
(7158).
-
yank_joined
— объединение выделений и копирование в выбранный регистр (7195).
-
:write-all!
(:wa!
) — принудительная запись всех буферов на диск и создание необходимых подкаталогов (7577).
-
:redraw
— очистить и перерисовать пользовательский интерфейс (6949).
-
:tree-sitter-highlight-name
— показать название темы подсветки под курсором (8170).
Улучшения удобства использования:
- разрешить циклическое переключение значений параметров во время выполнения. В запросе представлен список задач, связанных с разработкой и тестированием программного обеспечения. Основной язык текста запроса — английский.
В запросе описаны задачи по добавлению новых тем оформления для редактора Helix, исправлению существующих тем и улучшению функциональности редактора.
Задачи включают в себя добавление новых цветовых схем, настройку выделения синтаксиса, исправление ошибок и улучшение читаемости кода. Также в запросе упоминаются новые языки программирования, которые будут поддерживаться редактором. [Без перевода]
(#7765, #7819)
[Без перевода]
Updated languages and queries:
- Add one to the ruler numbers for git-commit (#7072)
- Recognize XAML files as XML (#7083)
- Recognize
Cargo.lock
as TOML (#7095)
- Use Rust grammar for Cairo (c6d1430)
- Update tree-sitter-nickel (#7059, #7551)
- Tune auto-pair characters for Nickel (#7059)
- Recognize
Vagrantfile
as Ruby (#7112)
- Recognize hidden justfiles as Just (#7088)
- Update Java and TypeScript highlight queries (#7145)
- Recognize
.zimrc
as Bash (#7146)
- Recognize
.gir
as XML (#7152)
- Update tree-sitter-scala (#7147)
- Recognize make file-type as Makefile (#7212)
- Update tree-sitter-verilog (#7262)
- Update tree-sitter-cpp (#7285)
- Support core mode for delve debugger (#7300)
- Add Fortran comment injections (#7305)
- Switch Vue language server to
vue-language-server
(#7312)
- Update tree-sitter-sql (#7387, #8464)
- Replace the MATLAB tre-sitter grammar (#7388, #7442, #7491, #7493, #7511, #7532, #8040)
- Highlight TOML table headers (#7441)
- Recognize
cppm
file-type as C++ (#7492)
- Refactor ecma language queries into private and public queries (#7207)
- Update tree-sitter-dart (#7576)
- Add shebang for nushell files (#7606)
- Recognize systemd files as INI (#7592)
- Update TypeScript, TSX and Svelte grammars (#6874)
- Enable inlay hints in the Svelte language server (#7622)
- Recognize
Brewfile
s as Ruby (#7629)
- Add more file-types for R (#7633) Перевод текста:
(#8342)
- Распознавать файлы политик polkit как XML (#8369)
- Распознать правила polkit файлы как JavaScript (#8370)
- Обновить запросы выделения синтаксиса Go (#8399)
- Добавить шебанги для Makefiles (#8410)
- Добавить ассоциации типов файлов из VSCode (#8388)
- Добавить проверку в конфигурациях языковых серверов JSON/CSS (#8433)
- Добавить конфигурацию для языкового сервера Tailwind (#8442)
- Добавить конфигурацию для языкового сервера Ansible (#7973)
- Добавить конфигурацию для языкового сервера GraphQL (#8492)
- Отступ операторов while в Bash (#8528)
- Обновление tree-sitter-haskell и запросов (#8558)
Упаковка:
- Добавить оверлей к Nix flake (#7078)
- Проверить наличие git перед получением или сборкой грамматик (#7320)
- Рефакторинг Nix flake для использования Crane (#7763)
- Удалить aarch64 appimage из CI выпуска (#7832)
- Добавить файлы рабочего стола и иконки в вывод Nix flake (#7979)
- Сборка пакетов flake с последним стабильным Rust (#8133)
23.05 (2023-05-18)
23.05 — это небольшой релиз, сосредоточенный на исправлениях. В этом выпуске было 88 участников. Спасибо всем!
Функции:
- Добавление опции конфигурации для исключения объявлений из запросов ссылок LSP (#6886)
- Включение внедрения языков на основе их расширения файла и shebang (#3970)
- Сортировка средства выбора буфера по последнему доступу (#2980)
- Выполнение подсветки синтаксиса в средстве выбора асинхронно (#7028)
Команды:
-
:update
теперь имеет псевдоним :u
(#6835)
- Добавлена
extend_to_first_nonwhitespace
, которая действует так же, как goto_first_nonwhitespace
, но всегда расширяет (#6837)
- Добавлен
:clear-register
для очистки указанного регистра или всех регистров (#5695)
- Добавлены
:write-buffer-close
и :write-buffer-close!
(#6947)
Исправления:
- Нормализация путей рабочей области LSP (#6517)
- Надежная обработка недопустимых диапазонов LSP (#6512)
- Исправление отображения номера строки для средств выбора перехода LSP (#6559)
- Исправлена ошибка переключения параметра
soft-wrap.enable
(#6656, 58e457a, #6742)
- Обработка запросов
workspace/configuration
от остановленных языковых серверов (#6693)
- Устранена возможная ошибка при открытии средства выбора списка переходов (#6672)
- Исправлен возврат темы предварительного просмотра к текущей теме при удалении строк и слов (#6694)
- Повторный запуск скриптов сборки crate при изменениях в репозиториях ревизий и грамматик (#6743)
- Исправлена ошибка сбоя при открытии из приостановленного состояния - Исправить ошибку разворачивания в DAP.
- Всегда собирать парсеры tree-sitter с C++14 и C11.
- Завершать работу с ненулевым статусом при неудачной сборке парсера tree-sitter.
- Поменять местами диапазон символов в командах LSP goto.
- Исправить переключение во время выполнения опции «мышь».
- Устранить панику при вычислении подсказки inlay, когда якорь просмотра выходит за границы.
- Значительно улучшить производительность обнаружения git на медленных файловых системах.
- Снизить уровень журнала gix до info.
- Сохранить спецификацию и правильно поддерживать сохранение файлов UTF16.
- Правильно обработать повторный запрос завершения.
- Исправить кодировку смещения в уведомлениях LSP didChange.
- Изменить уровень журнала gix на info.
- Улучшить сообщение об ошибке при записи, если родительские каталоги не существуют.
- Заменить всплывающее окно переменных DAP вместо добавления новых окон.
- Отключить tree-sitter для файлов после анализа в течение 500 мс.
- Устранить сбой при удалении несколькими курсорами.
- Исправить смещение выделения при удалении вперёд в режиме добавления.
- Исправить завершение работы с путями, содержащими пробелы.
Темы:
- Стиль подсказок inlay в теме dracula.
- Стиль подсказок inlay в теме onedark.
- Стиль подсказок inlay и индикатора мягкой обёртки в теме varua.
- Стиль подсказок inlay в теме emacs.
- Обновить темы base16_transparent и dark_high_contrast.
- Стиль подсказок inlay для тем mellow и rasmus.
- Сделать разделитель панели тусклым для темы base16_transparent.
- Стиль подсказок inlay в теме zenburn.
- Стиль подсказок inlay в теме boo_berry.
- Добавить тему ferra.
- Стиль подсказок inlay в теме nightfox.
- Исправить код разметки фона блока кода в теме ayu.
- Улучшить цвета пробелов и совпадений поиска в теме rose_pine.
- Выделить выбранные элементы в теме base16_transparent.
- Приблизить everforest к оригиналу.
- Реорганизовать тему dracula. Стиль намётки в теме darcula.
Стиль намётки в теме kanagawa.
Улучшение темы ayu_dark.
Рефакторинг темы noctis: выделение нескольких курсоров.
Рефакторинг темы noctis: рендеринг пробелов и направляющие отступов.
Добавление темы amberwood.
Обновление темы nightfox.
Поддержка языков:
- Сервер языка R: используйте флаг
--no-echo
для отключения вывода.
- Файлы CUDA распознаются как C++.
- Поддержка Hurl.
- Добавление текстовых запросов для Julia.
- Обновление запросов выделения для Ruby.
- XSD добавлен к типам файлов XML.
- Поддержка Robot Framework.
- Обновлён парсер Gleam tree-sitter.
- Обновлён парсер git-commit tree-sitter.
- Обновлён парсер Haskell tree-sitter.
- Добавлены запросы внедрения для Haskell quasiquotes.
- Выделение последовательностей экранирования C/C++.
- Поддержка Markdoc.
- Поддержка OpenCL.
- Поддержка DTD.
- Исправлена подсветка констант в запросах Python.
- Поддержка Just.
- Исправление запроса локальных переменных Go для идентификаторов var_spec.
- Обновлено дерево синтаксического анализа Markdown.
- Исправлен корень рабочей области Haskell для проектов Cabal.
- Избегание лишнего отступа в переключателях Go.
- Исправлено определение корней рабочей области Go.
- PerlNavigator установлен по умолчанию как языковой сервер Perl.
- Улучшено выделение макросов sqlx в Rust.
- Переключена грамматика Odin tree-sitter.
- Распознавание poetry.lock как TOML.
- Распознавание Jupyter notebooks как JSON.
- Конфигурация языкового сервера для Crystal.
-
build.gradle.kts
добавлен к корням Java и Scala.
- Распознавание файлов sty и cls как latex.
- Обновили грамматику Dockerfile tree-sitter.
- Добавили комментарии для инъекций в Odin.
- Распознавание gml как XML.
- Распознавание geojson как JSON.
Упаковка:
- Обновить Nix flake. Текст запроса:
(#5898)
— Сделать так, чтобы текстовый объект m
искал пары, окружающие выделения (#3344).
— Согласовать кодировку позиции LSP (#5894, a48d1a4).
— Отображать устаревшие дополнения LSP с зачёркиванием (#5932).
— Добавить идентификатор запроса JSONRPC в сообщения журнала запросов LSP/DAP (#6010, #6018).
— Игнорировать регистр при фильтрации дополнений LSP (#6008).
— Показывать текущий язык, когда никакие аргументы не передаются в :set-language
(#5895).
— Реорганизовать и переписать всю документацию по книгам (#5534).
— Разделить сообщение диагностики и код (#6095).
— Добавить опцию конфигурации для обхода обнаружения подчёркнутого текста (#6253).
— Дополнять только соответствующие аргументы для типизированных команд (#5966).
— Отбрасывать устаревшие диагностики LSP (3c9d5d0).
— Отбрасывать устаревшие изменения рабочего пространства LSP (b6a4927).
— Выполнять команды оболочки асинхронно (#6373).
— Показать коды диагностики в сообщениях диагностики LSP (#6378).
— Выделить текущую строку в сеансе отладки DAP (#5957).
— Скрыть справку по подписи, если она перекрывается меню завершения (#5523, 7a69c40).
Текст ответа:
Исправления:
— исправить поведение флага автозаполнения для завершения при срабатывании (#5042);
— сбрасывать режим редактора при смене буферов (#5072);
— учитывать настройки прокрутки в движениях мыши (#5255);
— избегать добавления буквы «s» в конце, когда открыт только один файл (#5189);
— исправлять ошибочный отступ между закрывающими элементами автопар (#5330);
— расширять тильду при разборе путей к файлам в команде :open (#5329);
— исправлять наследование тем для стандартных тем (#5218);
— исправлять функцию extend_line с учётом количества, когда текущая строка (строки) выбрана (#5288);
— подсказка: исправлять автозаполнение для путей, содержащих точки (#5175);
— пропускать сериализацию параметров JSONRPC, если параметры равны нулю (#5471);
— исправлять взаимодействие с провайдером буфера обмена xclip (#5426);
— исправлять выполнение отмены/повтора из палитры команд (#5294);
— исправлять выделение курсоров неблочного типа (#5575);
— исправлять панику при нопинге в join_selections и join_selections_space (#5423);
— исправлять выбор изменённого файла в глобальном поиске (#5639);
— исправлять первоначальный порядок сортировки слоёв синтаксиса (#5196);
— исправлять обработку длины UTF-8 для слов оболочки (#5738);
— удалять привязки C-j и C-k в меню автозавершения (#5070);
— всегда фиксировать изменения при вставке. #6285, #6295)
обновление base16_transparent (#5105);
обновление dark_high_contrast (#5105);
обновление dracula (#5236, #5627, #6414);
обновление monokai_pro_spectrum (#5250, #5602);
обновление rose_pine (#5267, #5489, #6384);
обновление kanagawa (#5273, #5571, #6085);
обновление emacs (#5334);
добавление тем github (#5353, efeec12):
тёмные темы: github_dark, github_dark_colorblind, github_dark_dimmed, github_dark_high_contrast, github_dark_tritanopia;
светлые темы: github_light, github_light_colorblind, github_light_dimmed, github_light_high_contrast, github_light_tritanopia.
обновление solarized (#5445, #6327);
обновление catppuccin (#5404, #6107, #6269, #6464);
использование фигурных подчёркиваний во встроенных темах (#5419);
обновление zenburn (#5573);
переписывание snazzy (#3971);
добавление monokai_aqua (#5578);
добавление markup.strikethrough к существующим темам (#5619);
обновление sonokai (#5440);
обновление onedark (#5755);
добавление ayu_evolve (#5638, #6028, #6225);
добавление jellybeans (#5719);
обновление fleet_dark (#5605, #6266, #6324, #6375);
добавление darcula-solid (#5778);
удаление фона текста в темах monokai (#6009);
обновление pop_dark (#5992, #6208, #6227, #6292);
добавление everblush (#6086);
добавление adwaita-dark (#6042, #6342);
обновление papercolor (#6162);
обновление onelight (#6192, #6276);
добавление molokai (#6260);
обновление ayu (#6329). Обновление вариантов TokyoNight (#6349)
Обновление вариантов Nord (#6376)
Новые языки:
Обновлённые языки и запросы:
- использование синтаксиса diff для файлов патчей (#5085);
- добавление текстовых объектов Haskell (#5061);
- исправление конфигурации Commonlisp (#5091);
- обновление Scheme (bae890d, https://github.com/helix-editor/helix/commit/bae890d);
- добавление запросов на отступы для Bash (#5149);
- распознавание C++ как расширения C++ (#5183);
- включение HTTP-сервера в конфигурации metals (Scala) (#5551);
- изменение языка сервера V-lang на v ls вместо vls (#5677);
- внедрение грамматики комментариев в Nix (#5208);
- обновление подсветок Rust (#5238, #5349);
- исправление внедрения HTML в Markdown (#5265);
- исправление токена комментария для Godot (#5276);
- расширение внедрений для Vue (#5268);
- добавление .bash_aliases как типа файла Bash (#5347);
- исправление токена комментария для sshclientconfig (#5351);
- обновление Prisma (#5417);
- обновление C++ (#5457);
- добавление дополнительных типов файлов для Python (#5593);
- обновление tree-sitter-scala (#5576);
- добавление регулярного выражения для внедрения Lua (#5606);
- добавление build.gradle в конфигурацию корней Java (#5641);
- добавление файлов PR Hub в типы файлов Markdown. — Добавить конфигурацию внешнего форматирования для Cue.
— Добавить инъекции для билдеров и писателей в Nix.
— Обновить tree-sitter-xml для исправления анализа пробелов.
— Включить Justfile в конфигурацию типов файлов make.
— Обновите tree-sitter-sql и выделите запросы.
— Используйте грамматику и запросы bash для языка env.
— Добавьте файлы podspec к типам файлов ruby.
— Распознавайте файлы .C и .H как C++.
— Распознайте файлы plist и mobileconfig как XML.
— Исправьте отступ select в Go.
— Проверяйте внешние файлы на модификации при записи.
— Распознайте containerfiles как синтаксис dockerfile.
— Обновите грамматику и запросы godot.
— Улучшите выделение DHall.
— Распознайте .env.dist и source.env как язык env.
— Обновите дерево-сидячий git-rebase.
— Улучшение выделения SQL.
— Улучшить выделение и внедрение LaTeX в markdown.
— Добавьте текстовые запросы для Elm.
— Распознать тип файла схемы graphql.
— Улучшите подсветку в комментариях.
— Улучшение подсветки для языков JavaScript/TypeScript/ECMAScript.
— Улучшение PHP подсветки.
— Улучшение подсветки Go.
— Выделите непроверенные функции sqlx как SQL в Rust.
— Улучшение Erlang подсветки.
— Улучшение Nix подсветки.
— Улучшение gdscript подсветки.
— Улучшение Vlang подсветки.
— Улучшение Makefile подсветки.
— Удалите автопару для
'
в OCaml.
— Исправление отступов в операторах switch в языках ECMA.
— Распознайте типы файлов xlb и storyboard как XML.
— Распознайте cts и mts как типы файлов TypeScript.
— Распознайте SVG как тип файла XML.
— Добавление областей тем для (не)отмеченных элементов списка.
— Обновление грамматики git commit и добавление текстового объекта комментария. Вот перевод текста на русский язык:
#6493):
- Распознавать тип файла ARB как JSON (#6452);
- Вставлять Markdown в строки Markdown в Julia (#6489).
Упаковка:
- Исправить Nix flake devShell для хостов darwin (#5368);
- Добавить файл метаданных Appstream в
contrib/
(#5643);
- Увеличить MSRV до 1.65 (#5570, #6185);
- Выставить напоказ оболочку Nix flake (#5994).
22.12 (2022-12-06)
Это большой релиз, в котором есть изменения от 99 участников. Большое спасибо всем вам!
Как обычно, ниже приводится сводка каждого из изменений со времени последнего релиза. Для полного журнала смотрите git log (https://github.com/helix-editor/helix/compare/22.08.1..22.12).
Изменения, нарушающие работу:
- Удалить привязки навигации, подобные readline, из раскладки клавиш режима вставки по умолчанию (e12690e, #3811, #3827, #3915, #4088);
- Переименовать
append_to_line
в insert_at_line_end
и prepend_to_line
в insert_at_line_start
(#3753);
- Поменять местами привязки диагностического выбора и режима отладки в раскладке клавиш пробела (#4229);
- Выделять вставленный текст при вставке или из команд оболочки (#4458, #4608, #4619, #4824);
- Выделять вновь вставленные окружающие символы на
ms<char>
(#4752);
- Завершать режим выбора после выполнения команд
replace_*
(#4554);
- Завершать режим выбора после выполнения команд окружения (#4858);
- Изменить ключи текстовых объектов tree-sitter (#3782);
- Переименовать тему
fleetish
в fleet_dark
(#4997).
Функции:
- Bufferline (#2759);
- Поддержка стилей и цветов подчёркивания (#4061, 98c121c);
- Наследование для тем (#3067, #4096);
- Cursorcolumn (#4084);
- Капитальный ремонт системы записи файлов и выхода (#2267, #4397);
- Автосохранение при потере терминалом фокуса (#3178);
- Использовать OSC52 в качестве запасного варианта для системного буфера обмена (#3220);
- Отображать git diffs в желобе (#3890, #5012, #4995);
- Добавить логотип (dc1ec56);
- Многокурсорное завершение (#4496).
Команды:
-
file_picker_in_current_directory
(<space>F
) (#3701);
-
:lsp-restart
для перезапуска текущего языкового сервера документа (#3435, #3972);
-
join_selections_space
(A-j
). Каллбэки (#4062, #4077)
- Добавить предварительный просмотр в реальном времени для
:goto
(#2982)
- Отображать ошибку компиляции регулярного выражения во всплывающем окне (#3049)
- Добавить «циклический переход к концу» и «больше совпадений нет» для поиска (#3176, #4101)
- Расширить поведение текстовых объектов tree-sitter (#3266)
- Добавить опцию
ui.gutter.selected
для тем (#3303)
- Сделать имена режимов строки состояния настраиваемыми (#3311)
- Добавить элемент строки состояния для общего количества строк (#3960)
- Расширить поведение команд goto_window_* (#3985)
- Исправить панику в справке по подписи, когда предварительный просмотр слишком велик (#4030)
- Добавить названия команд в палитру команд (#4071, #4223, #4495)
- Найти корень рабочей области LSP из пути текущего документа (#3553)
- Добавить возможность пропускать уровни направляющих отступов (#3819, 2c36e33)
- Переводить фокус на изменённые документы при выходе (#3872)
- Отвечать на сигнал USR1 перезагрузкой конфигурации (#3952)
- Завершить работу корректно при сбое операции закрытия (#4081)
- Устранить несоответствие между goto/view center (#4135)
- Выделять текущий документ средства выбора файлов в режиме ожидания (#3172, a85e386)
- Применять транзакции к выбранным элементам списка переходов (#4186, #4227, #4733, #4865, #4912, #4965, #4981)
- Использовать пробел в качестве разделителя для неточного соответствия (#3969)
- Накладывать все диагностики наивысшей степени важности сверху (#4113)
- Избегать повторного анализа неизменных внедрений tree-sitter (#4146)
- Добавить расширяющие захваты для отступа, повторно включить отступ Python (#3382, 3e84434)
- Разрешать только один из флагов CLI --vsplit или --hsplit за раз (#4202)
- Исправлять добавление позиции курсора при размещении привязки выделения в конце документа (#4147)
- Улучшить сообщение о выделении текста (#4275)
- Регистрировать ошибки при загрузке грамматик tree-sitter как ошибки (#4315)
- Решить проблему с отображением строк длиннее 65 536 столбцов (#4172)
- Пропускать поиск в .git при глобальном поиске (#4334)
- Показывать области tree-sitter во всплывающем окне (#4337)
- Исправить удаление слова с конца буфера Улучшить синтаксическое дерево в :tree-sitter-subtree.
Разрешить указывать суффиксы для обнаружения типов файлов.
Исправить многобайтовые автопары.
Улучшить сортировку оценок для действий и дополнений LSP-кода.
Исправить обработку кавычек внутри shellwords.
Исправить delete_word_backward и delete_word_forward на новых строках.
Устранить сбой «не найдено записи для ключа» при :write-all.
Убрать требование к нижнему регистру для грамматик tree-sitter.
Решить проблемы с завершением LSP при тайм-ауте бездействия.
Отображать диагностику в окне предварительного просмотра файлов.
Исправить зависание терминала при shell_insert_output.
Использовать счётчик в операторе повтора (.).
Показывать текущее название темы на :theme без аргументов.
Исправлять рендеринг на очень больших терминалах.
Сортировать предварительно выбранные элементы LSP в верхней части меню завершения.
Обрезать фигурные скобки и кавычки из путей в goto-file.
Предотвратить автоматическую помощь по подписи вне режима вставки.
Исправить зависания с внешними программами, которые обрабатывают stdin и stdout одновременно.
Сделать прокрутку с учётом вкладок и широких символов.
Правильно обрабатывать экранирование в режиме command_mode.
Исправить delete_char_backward для парных символов.
Исправить сбой при редактировании одного документа двумя окнами.
Исправить вставку из чёрного регистра.
Поддерживать элементы завершения LSP insertReplace.
Динамически изменять ширину желоба номеров строк.
Исправить сбой для неизвестных видов завершения.
Повторно включить format_selections для диапазонов одиночного выбора.
Ограничить количество выполняемых сопоставлений запросов tree-sitter.
Использовать специальный регистр # с increment/decrement для изменения по номеру диапазона.
Добавить элемент строки состояния для отображения количества выбранных символов.
Добавить элемент строки состояния, показывающий глобальные диагностические предупреждения и количество ошибок LSP.
Добавить полосу прокрутки во всплывающие окна.
Предпочитать более короткие совпадения в нечётком сопоставлении. Скроллинг (scoring):
- использовать формат последовательности клавиш для привязки сочетаний клавиш в палитре команд;
- убрать префиксную фильтрацию из меню автозаполнения;
- фокусироваться на родительском буфере при закрытии разделения;
- обрабатывать завершение работы языкового сервера;
- разрешить работу с символами табуляции при использовании клавиш r, t, f;
- показывать предварительный просмотр для временных буферов в средстве выбора буфера;
- установить ограничение количества записей в списке переходов;
- повторно использовать выходные данные оболочки при вставке или добавлении выходных данных оболочки;
- проверять возможности провайдера сервера LSP;
- улучшить производительность парсера tree-sitter для файлов со множеством языковых слоёв;
- переносить отступ на следующую строку при нажатии клавиши Enter на строке, состоящей только из пробелов;
- удалять выделения для закрытых представлений из всех документов;
- улучшать производительность команды :reload;
- правильно обрабатывать мультимедийные клавиши;
- поддерживать поле диагностических данных LSP;
- обрабатывать код клавиши C-i как клавишу табуляции;
- исправлять выравнивание вида для переходов средства выбора списка переходов;
- использовать OSC52 для поставщика буфера tmux.
Темы:
- добавить тему varua;
- обновить тему boo_berry;
- добавить тему rasmus;
- добавить тему papercolor_dark;
- обновить тему monokai_pro_spectrum;
- обновить тему nord;
- обновить тему fleetish;
- обновить тему flatwhite;
- добавить тему darcula;
- обновить тему papercolor;
- добавить цвета bufferline к нескольким темам;
- добавить тему gruvbox_dark_hard;
- добавить тему onedarker;
- добавить тему dark_high_contrast;
- обновить тему bogster;
- обновить тему sonokai;
- обновить темы ayu_;
- обновить тему everforest. monokai_pro_octagon (#4247)
- Добавить heisenberg (#4209)
- Добавить bogster_light (#4265)
- Обновить pop-dark (#4323)
- Обновить rose_pine (#4221)
- Добавить kanagawa (#4300)
- Добавить hex_steel, hex_toxic и hex_lavendar (#4367, #4990)
- Обновить tokyonight и tokyonight_storm (#4415)
- Обновить gruvbox (#4626)
- Обновить dark_plus (#4661, #4678)
- Добавить zenburn (#4613, #4977)
- Обновить monokai_pro (#4789)
- Добавить mellow (#4770)
- Добавить nightfox (#4769, #4966)
- Обновить doom_acario_dark (#4979)
- Обновить autumn (#4996)
- Обновить acme (#4999)
- Обновить nord_light (#4999)
- Обновить serika_* (#5015)
LSP конфигурации:
- Переключиться на openscad-lsp для OpenScad (#3750)
- Поддержка Jsonnet (#3748)
- Поддержка Markdown (#3499)
- Поддержка Bass (#3771)
- Установить корни конфигурации для Elixir и HEEx (#3917, #3959)
- Поддержка Purescript (#4242)
- Установить корни конфигурации для Julia (#4361)
- Поддержка D (#4372)
- Увеличить время ожидания по умолчанию для языкового сервера Julia (#4575)
- Использовать ElixirLS для HEEx (#4679)
- Поддержка Bicep (#4403)
- Переключиться на nil для Nix (433ccef)
- Поддержка QML (#4842)
- Включить автоформатирование для CSS (#4987)
- Поддержка CommonLisp (4176769)
Новые языки:
Языки программирования:
- CMake;
- HTML;
- Java;
- Go;
- CSS;
- Racket;
- SCSS.
Упаковка:
- Фильтрация соответствующих исходных файлов в Nix flake;
- Сборка двоичного файла для aarch64-linux в CI релиза;
- Создание AppImage для aarch64-linux в CI релиза;
- Включение сборок CI для riscv64-linux;
- Поддержка предварительных выпусков в CI;
- Удаление двоичных файлов, собранных в CI;
- Исправление оболочки разработки для Nix Flake на aarch64-darwin;
- Повышение MSRV и создание политики MSRV;
- Исправление завершения работы Fish для флагов --config и --log;
- Использование опции встроенных имён файлов в Bash completion.
22.08.1 (2022-09-01)
Это патч-релиз, который исправляет панику, вызванную закрытием разделений или буферов.
22.08 (2022-08-31)
Большое спасибо нашим участникам! В этом выпуске было 87 участников.
Как обычно, ниже приводится сводка каждого из изменений с момента последнего выпуска. Для полного журнала проверьте git log.
Изменения:
— Специальные имена раскладок для +, ; и % были заменены на эти буквальные символы;
— A-Left и A-Right стали C-Left и C-Right для движения по словам;
— Название темы catppuccin было исправлено с catpuccin;
— catppuccin был заменён его вариантами: catppuccin_frappe, catppuccin_latte, catppuccin_macchiato, catppuccin_mocha;
— C-n и C-p были удалены из раскладки клавиш по умолчанию в режиме вставки;
— Команда extend_line была заменена на extend_line_below, и теперь существует новая команда extend_line.
Функции:
— Добавить интеграционный тестовый жгут;
— Направляющие отступов;
— Cursorline;
— Выбрать все экземпляры символа под курсором (h);
— Выборщик для диагностики документов и рабочих пространств LSP (g/G);
— Разрешить стилизацию индикатора режима. Пер-мод:
- Live preview для выбора темы.
- Настраиваемая статусная строка.
- LSP SignatureHelp.
- Выбор для списка переходов.
- Настраиваемые внешние двоичные файлы форматирования.
- Поддержка вставки в квадратных скобках.
Команды:
-
:insert-output
и :append-output
, которые вставляют/добавляют вывод из команды оболочки.
- Текстовый объект
t
(]t
/[t
/mit
/mat
) для навигации по тестам.
-
C-Backspace
и C-Delete
для словесного удаления в запросах и списках переходов.
-
A-Delete
для прямого словесного удаления при вставке.
-
C-t
для переключения панели предварительного просмотра в списках перехода.
-
extend_line
теперь расширяется в направлении курсора.
Улучшения удобства использования и исправления:
- Исправление сбоя сборки парсера tree-sitter на illumos.
- Удаление пустого буфера царапин из списков переходов при удалении.
- Исправление паники при отмене после
shell_append_output
.
- Сортировка правок LSP по начальному диапазону.
- Более осторожное отношение к преобразованиям URI LSP.
- Игнорирование SendErrors при сбое сборки грамматики.
- Добавление
set_line_ending
в историю документа.
- Использование последнего ввода запроса, когда он пуст.
- Отсутствие лишних разрывов строк в списках Markdown.
- Отключение анализатора по умолчанию для ElixirLS.
- Рефакторинг захвата узла текстового объекта.
- Предотвращение повторного выбора того же диапазона с помощью
expand_selection
.
- Введение области выделения
keyword.storage
.
- Последовательное обращение с символическими ссылками.
- Улучшение рендеринга списков Markdown.
- Обновление настроек автопар и таймаута простоя при перезагрузке конфигурации.
- Устранение паники при закрытии последнего буфера.
- Запрет изменения списка переходов до перехода к ссылке.
- Обеспечение того, чтобы
:quit
и :quit!
не принимали аргументов.
- Исправление сбоя из-за циклов при воспроизведении макросов.
- Передача LSP FormattingOptions.
- Предотвращение отображения цветов при передаче через канал проверки работоспособности.
- Использование индексации символов для выделения мышью. Добавить поддержку типа Diagnostic для LSP.
Добавить процент положения в строку состояния.
Сделать настраиваемой и тематической строку разделителя состояния.
Использовать OR всех выделений, когда search_selection действует на несколько выделений.
Добавлять информацию о буфере обмена в логи и проверку работоспособности.
Исправить поведение выравнивания выделения на вкладках.
Исправить сброс формы курсора терминала.
Добавить предикат injection.include-unnamed-children к запросам инъекций.
Добавить CLI-флаг -c / --config для указания расположения файла конфигурации.
Определять стиль отступа в команде :set-language.
Избежать недетерминированного выделения.
Не устанавливать дескриптор stdin без необходимости.
Исправить оформление направляющих отступов.
Исправить выделение табуляции, когда она частично видна.
Добавить завершение для вложенных настроек.
Рекламировать клиентскую возможность WorkspaceSymbolClientCapabilities LSP.
Удалить повторяющиеся записи из средства выбора тем.
Сократить вывод при получении и построении грамматики.
Добавить опцию tabpad для видимых символов заполнения табуляции пробелами.
Настроить внешний поставщик терминала DAP.
Использовать символ проверки работоспособности с меньшей шириной.
Сбрасывать режим документа до нормального при потере фокуса просмотра.
Отображать блоки кода с отступом в Markdown.
Добавить WezTerm в настройки по умолчанию для поставщика терминалов DAP.
Выводить название языка Document из ключа name в languages.toml.
Исправить обработку ошибок при создании процессов.
Не разрешать ссылки для завершения :o.
Пересчитывать завершение после вставки в приглашение.
Исправить лишние выделения с помощью регулярных выражений.
Перенести логику перехода в режим в handle_keymap_event.
Добавлять документы в историю просмотра при использовании списка переходов.
Предотвратить панику при загрузке запросов tree-sitter.
Отбрасывать LSP publishDiagnostic, если LS не инициализирован.
Реорганизовать текстовые объекты tree-sitter как повторяемые движения.
Избегать выполнения командных хуков для закрытых документов.
Поделиться кодом restore_term между паникой и обычным завершением работы. 2612,
- Показать информацию о буфере обмена в выводе
--health
(2947);
- Пересчитывать завершение при переходе по истории подсказок (3193).
Темы:
- Обновить темы
tokyonight
и tokyonight_storm
(2606);
- Обновить тему
solarized_light
(2626);
- Исправить тему
ui.popup
для темы catpuccin
(2644);
- Изменить стиль выделения для темы
night_owl
(2668);
- Исправить орфографию для темы
catppuccin
(2713);
- Обновить меню
base16_default
(2794);
- Добавить тему
noctis_bordo
(2830);
- Добавить тему
acme
(2876);
- Добавить тему
meliora
(2884, 2890);
- Добавить области курсора к различным темам (33d287a, 2892, 2915, 2916, 2918, 2927, 2925, 2938, 2962, 3054);
- Добавить цвета режимов к различным темам (2926, 2933, 2929, 3098, 3104, 3128, 3135, 3200);
- Добавить
nord_light
(2908);
- Обновить
night_owl
(2929);
- Обновить
autumn
(2e70985, 936ed3a);
- Обновить
one_dark
(3011);
- Добавить
noctis
(3043, 3128);
- Обновить
boo_berry
(3191);
- Обновить
monokai
(3131);
- Добавить
ayu_dark
, ayu_light
, ayu_mirage
(3184);
- Обновить
onelight
(3226);
- Добавить
base16_transparent
(3216, b565fff);
- Добавить
flatwhite
(3236);
- Обновить
dark_plus
(3302);
- Добавить
doom_acario_dark
(3308, 3539);
- Добавить
rose_pine_moon
(3229);
- Обновить
spacebones_light
(3342);
- Исправить опечатки в темах (8deaebd, 3412);
- Добавить
emacs
(3410);
- Добавить
papercolor-light
(3426. #3470, #3585
- Добавить penumbra+ (#3398).
- Добавить fleetish (#3591, #3607).
- Добавить sonokai (#3595).
- Обновить все темы для тематических линтеров (#3587).
LSP:
- V (#2526).
- Prisma (#2703).
- Clojure (#2780).
- WGSL (#2872).
- Elvish (#2948).
- Idris (#2971).
- Fortran (#3025).
- Gleam (#3139).
- Odin (#3214).
Новые языки:
- V (#2526).
- EDoc (#2640).
- JSDoc (#2650).
- OpenSCAD (#2680).
- Prisma (#2703).
- Clojure (#2780).
- Starlark (#2903).
- Elvish (#2948).
- Fortran (#3025).
- Ungrammar (#3048).
- SCSS (#3074).
- Go Template (#3091).
- Graphviz dot (#3241).
- Cue (#3262).
- Slint (#3355).
- Beancount (#3297).
- Taskwarrior (#3468).
- xit (#3521).
- ESDL (#3526).
- Awk (#3528, #3535).
- Pascal (#3542).
Обновлённые языки и запросы:
- Nix (#2472).
- Elixir (#2619).
- CPON (#2643).
- Textobjects-запросы для Erlang, Elixir, Gleam (#2661).
- Захват замыканий Rust в качестве текстовых объектов функций (#4a27e2d).
- Heex (#2800, #3170).
- Добавление подсветки оператора <<= для Rust (#2805).
- Исправление внедрения комментариев в JavaScript/TypeScript (#2763).
- Nickel (#2859).
- Добавление Rakefile и Gemfile к типам файлов Ruby (#2875).
- Erlang (#2910, ac669ad).
- Markdown (#2910, #3108, #3400).
- Bash (#2910).
- Rust (#2910, #3397).
- Edoc. Перевод текста:
HTML,
Make,
[TSQ](https://github.com/helix-editor/helix/pull/2910, #2960),
git-commit — HTML, Make, TSQ, git-commit;
Использовать значение по умолчанию для отступов Python (9ae70cc);
Добавить корни LSP для Haskell (#2954);
Ledger (#2936, #2988);
Nickel (#2987);
JavaScript/TypeScript (#2961, #3219, #3213, #3280, #3301);
GLSL (#3051);
Исправить отслеживание локальных переменных в Rust (#3027, #3212, #3345);
Verilog (#3158);
Ruby (#3173, #3527);
Svelte (#3147);
Добавить текстовые объекты комментариев Elixir и HEEx (#3179);
Python (#3103, #3201, #3284);
PHP (#3317);
Latex (#3370);
Clojure (#3387);
Swift (#3461);
C# (#3480, #3494);
Org (#3489);
Elm (#3497);
Dart (#3419);
Julia (#3507);
Исправление текстовых объектов Rust (#3590);
C (00d88e5);
Обновление Rust (0ef0ef9).
Упаковка:
— Добавить rust-analyzer
в Nix flake devShell (#2739);
— Добавить информацию о cachix в Nix flake (#2999);
— Передать makeWrapperArgs в wrapProgram в Nix flake (#3003);
— Добавить способ переопределения того, какие грамматики создаются Nix (#3141);
— Добавить GitHub actions release для aarch64-macos
(#3137);
— Добавить автодополнение команд для Elvish (#3331).
22.05 (2022-05-28)
Ещё больше благодарности, чем обычно, всем участникам — у нас было целых 110 участников в этом выпуске! Это более чем вдвое превышает количество участников по сравнению с прошлым выпуском!
Ознакомьтесь с некоторыми из основных моментов в разделе новостей (https://helix-editor.com/news/release-22-05-highlights/).
Как обычно, ниже приводится краткое изложение каждого из изменений по сравнению с предыдущим выпуском. Для полного журнала проверьте git log (https://github.com/helix-editor/helix/compare/22.03..22.05).
Изменения, нарушающие работу программы:
— Убраны привязки C-j
, C-k
к средству выбора файлов (#1792);
— Заменено C-f
. with C-d
и C-b
с привязками C-u
в средстве выбора файлов (#1792);
— привязки A-hjkl
были перемещены на A-pion
(#2205);
— A-Left
/A-Right
были перемещены на C-Left
/C-Right
(#2193).
Функции:
— был переработан механизм отступов (#1562, #1908);
— настраиваемые желоба (#1967);
— поддержка локальной языковой конфигурации (#1249);
— настраиваемые тематические линейки (#2060);
— отображение видимых пробелов (e6b865e, #2322, #2331).
Команды:
— движение по абзацам и текстовым объектам (]p
, [p
) (#1627, #1956, #1969, #1992, #2226);
— :buffer-next
, :buffer-previous
(#1940);
— :set-language
для установки языка буфера (#1866, #1996);
— команда для выбора файлов из текущего рабочего каталога (Space-F
) (#1600, #2308);
— :write!
, которая создаёт несуществующие подкаталоги (#1839);
— добавление текстового объекта m
, который выбирает ближайшую пару (de15d70, 76175db);
— :pipe
— набираемая команда для передачи выбранных фрагментов по конвейеру (#1972);
— extend_line_above
, которая расширяет до предыдущих строк (#2117);
— set_line_ending
, которая заменяет окончания строк (#1871);
— :get-option
для получения текущего значения опции (:get
) (#2231);
— :run-shell-command
, которая не взаимодействует с выбранными фрагментами (#1682);
— :reflow
, которая жёстко переносит выбранный текст (#2128);
— commit_undo_checkpoint
, которая добавляет контрольную точку отмены (#2115);
— :log-open
, которая открывает файл журнала (#2422);
— transpose_view
, которая транспонирует разделение окна (#2461);
— обмен представлениями: swap_view_right
, swap_view_left
, swap_view_up
, swap_view_down
(#2445);
— shrink_to_line_bounds
, которая уменьшает выбранные фрагменты до границ строки (#2450).
Улучшения удобства использования и исправления:
— обработка сломанных каналов при передаче hx --health
через head
(#1876);
— исправление для copy_selection
на новых строках (ab7885e, 236c6b7);
— использование поставщика буфера обмена win32yank
в WSL2 (#1912);
— переход к следующему числу в строке перед увеличением (#1778);
— исправление начальной позиции следующего поиска (#1904);
— используйте отметки «чек» и «X» для вывода проверки работоспособности. - Очистить терминал после переключения на альтернативные экраны.
- Исправить команду toggle_comments при множественном выборе.
- Применить тематическое оформление ui.gutter к пустым промежуткам gutter.
- Использовать флажки в выводе hx --health.
- Пропускать неотображаемые клавиши через приглашение независимо от модификаторов.
- LSP: извлекать параметры форматирования из конфигурации.
- LSP: предоставить rootPath.
- LSP: реализовать workspace_folders.
- LSP: исправить автоимпорт.
- Отправлять активную диагностику в LSP при запросе действий кода.
- Предотвратить панику при анализе некорректного LSP PublishDiagnostic.
- Восстанавливать состояние документа при отмене завершения.
- Объединять только верхний уровень массива при объединении languages.toml.
- Исправить открытие при многострочном выделении.
- Разрешить перепривязку 0, если он не используется в подсчёте.
- Исправить поведение ctrl-u в режиме вставки.
- Проверить возможности переименования LSP перед отправкой действия переименования.
- Зарегистрировать возможность publish_diagnostics LSP.
- Исправить направление вставки для команд типизированной вставки.
- Улучшить обработку закрытия буфера.
- Расширить файл учебника.
- Рассматривать косые черты как разделители слов в приглашениях.
- Автозаполнение членов каталога.
- Позволить отключать формат при сохранении в качестве глобальной настройки редактора.
- Обернуть командную палитру в оверлей.
- Не допускать схлопывания выделения при вставке новых строк.
- Разрешить настройку тайм-аута запроса LSP.
- Использовать консоль отладки в Windows для терминала DAP.
- Исключать курсор при удалении с помощью C-w в режиме вставки.
- Предотвращать панику из-за ошибок синтаксического анализа LSP.
- Предотвращать панику из-за ответов LSP без запросов.
- Исправлять скорость прокрутки для всплывающих окон документации.
- Поддерживать вставку в приглашения из регистров.
- Разделить области тем для типов диагностики.
- Использовать ui.menu вместо ui.statusline для оформления меню завершения команд.
- Паниковать при перезагрузке сокращённого файла.
- Добавить ключ темы для разделителя выбора. ui.text background from dark_plus (#1950)
— Добавить boo_berry (#1962)
— Обновить оформление разметки в dark_plus (#1989)
— Изменить цвета тегов и ui.menu.selected в dark_plus (#2014)
— Добавить dracula_at_night (#2008)
— Улучшить выделение dracula (#2077)
— Удалить атрибут dim в gutter строки номера onedark (#2155)
— Добавить tokyonight (#2162)
— Использовать цвета границ из оригинальной темы dark_plus (#2186)
— Добавить autumn (#2212, #2270, #2531)
— Добавить tokyonight_storm (#2240)
— Добавить pop-dark (#2189)
— Исправить тему base16_terminal, используя неправильный цвет ansi (#2279)
— Добавить onelight (#2287, #2323)
— Включить виртуальные области видимости ui в тему onedark (3626e38)
— Добавить night_owl (#2330)
— Использовать жёлтый передний план и красный фон для monokai_pro_spectrum (#2433)
— Добавить snazzy (#2473)
— Обновить конструктор dark_plus (8e8d4ba)
— Добавить ui.menu в стандартную тему (e7e13dc)
— Добавить ui.menu во все темы, где отсутствует ключ (9be810f)
— Добавить catppuccin (#2546, 7160e74)
LSP:
— Использовать texlab для latex (#1922)
— HTML (#2018)
— JSON (#2024)
— CSS (#2025)
— PHP (#2031)
— Swift (#2033)
— OCaml (#2035)
— Vue (#2043)
— Yaml (#2234)
— Vala (#2243)
— TOML (#2302)
— Java (#2511)
— Lua (#2560)
— Verilog (#2552)
Новые языки:
— JSX (#1906, a24fb17, 855e438, #1921)
— RON (Rust Object Notation) (#1925)
— R и R Markdown (#1998)
— Swift (#2033)
— EJS и ERB (#2055)
— EEx (9d095e0)
— HEEx (4836bb3, #2149)
— SQL Возможности:
- Поддержка экспериментального протокола отладки (DAP) (#574).
- Возможность настраивать основную форму курсора для каждого режима (#1154).
- Пересмотр инкрементных выделений и включение комбинированных инъекций (
6728344..4080341
).
- Разрешение указывать начальную позицию файла (#445, #1676).
- Динамические номера строк (#1522).
- Отображение информационного окна с содержимым регистров (#980).
- Настраиваемое поведение переноса при поиске (#1516).
- Движения текстовых объектов Tree-sitter для классов, функций и параметров (#1619, #1708, #1805).
- Панель команд: средство выбора доступных команд (#1400).
- Поддержка LSP
workspace/configuration
и workspace/didChangeConfiguration
(#1684).
- Команда
hx --health [LANG]
(#1669).
- Рефакторинг системы грамматики Tree-sitter (#1659):
- удалены все подмодули;
- добавлены флаги
hx --grammar {fetch|build}
для получения и сборки грамматик Tree-sitter;
- добавлена возможность объявлять пользовательскую грамматику с помощью ключа
use-grammars
в файле languages.toml
.
Команды:
-
:cquit!
— принудительно завершить работу с ненулевым кодом выхода (#1414).
-
shrink_selection
— уменьшить выделение до дочернего узла Tree-sitter (Alt-j
, #1340).
-
:tree-sitter-subtree
— показать поддерево Tree-sitter под основным выделением (#1453, #1524).
- Добавить
Alt-Backspace
, Alt-<
, Alt->
и Ctrl-j
для режима вставки (#1441).
-
select_next_sibling
, select_prev_sibling
— выбрать следующий и предыдущий узлы Tree-sitter (Alt-l
и Alt-h
, #1495).
-
:buffer-close-all
, :buffer-close-all!
, :buffer-close-others
, и :buffer-close-others!
(#1677).
-
:vsplit-new
и :hsplit-new
— открыть вертикальные и горизонтальные разделения с новыми пустыми буферами (#1763).
-
:open-config
для открытия конфигурационного файла и :refresh-config
для обновления конфигурации после изменений (#1771, #1803).
Улучшения удобства использования и исправления ошибок:
- Предотвращение игнорирования
:cquit
несохранённых изменений (#1414).
- Сохранение выделения при прокрутке (#1420).
- Использование синтаксического анализа shellwords только на платформах Unix (
7767703
).
- Исправление косой черты в сообщении о состоянии селектора поиска (#1449).
- Расширение до текущего узла с помощью
expand_selection
, если у узла нет дочерних элементов (#1454).
- Добавление вертикальных и горизонтальных разделений в средство выбора буфера (#1502).
- Использование правильного языкового идентификатора для JavaScript & TypeScript LSP (#1466).
- Запуск команды форматирования для... Все буферы записываются (#1444).
- Исправлены паники при изменении размера (#1408).
- Исправлена работа автопар с CRLF (#1470).
- Исправлено прокручивание средства выбора при достижении нижней границы (#1567).
- Используются темы разметки для компонента Markdown (#1363).
- Автоматическое внесение изменений в историю, если не используется режим вставки (2a7ae96).
- Рендеринг действий кода как меню и добавление отступов к всплывающему окну (094a0aa).
- Отображение полосы прокрутки меню только в том случае, если меню не помещается на экране (f10a06f, 36b975c).
- Анализ версии git вместо тега для версии (d3221b0, #1674).
- Исправлен неправильный последний изменённый буфер (#1621).
- Добавлены привязки PageUp, PageDown, Ctrl-u, Ctrl-d, Home, End к средству выбора файлов (#1612).
- Отображение идентификаторов буферов в средстве выбора буферов (#1134).
- Разрешена многострочная документация подсказки (2af0432).
- Игнорирование каталога .git в средстве выбора файлов (#1604).
- Разрешение отдельного стиля для уровней заголовков разметки (#1618).
- Автоматическое закрытие всплывающих окон (#1285).
- Настройка токенов автопар (#1624).
- Отсутствие отступа пустых строк в команде indent (#1653).
- Игнорировать нажатие клавиши Enter, когда в меню нет выделения (#1704).
- Показывать ошибки при неудачных попытках окружения удалений и замен (#1709).
- Подсказки инфобокса для mi и ma (#1686).
- Подсветка совпадающего текста в предложениях средства выбора файлов (#1635).
- Возможность захвата нескольких узлов в запросах текстовых объектов (#1611).
- Повторение оператора работает с правками завершения (#1640).
- Сохранение в списке переходов при поиске (#1718).
- Устранена ошибка автоматического замещения компонентов в компоновщике (#1711).
- Использование логики Kakoune для align_selection (#1675).
- Исправление follows для nixpkgs в flake.nix (#1729).
- Улучшение производительности средства выбора (78fba86).
- Переименование областей видимости инфобоксов (#1741).
- Откат к более широким областям видимости, если область видимости темы не найдена (#1714).
- Добавление привязок клавиш со стрелками для команд выбора братьев и сестёр tree-sitter (#1724).
- Устранение ошибки LSP при создании файла в папке, которая не существует (#1775).
- Использование ^ и $ утверждений местоположения регулярного выражения для поиска (#1793).
- Исправлены имена регистров в команде insert_register (#1751).
- Выполнение расширения строки для всех выделений (#1804).
- Предотвращение паники при перемещении в пустом средстве выбора. 1786 — исправить расчёты номеров строк для разрывов строк, отличных от CR/CRLF (b4a282f, 0b96201).
Развертывание документации для сборок master отдельно от документации по выпуску (#1783).
Темы:
- Добавить everforest_light (#1412).
- Добавить gruvbox_light (#1509).
- Добавить изменённый фон к всплывающему окну dracula (#1434).
- Поддержка разметки для тем monokai pro (#1553).
- Поддержка разметки для темы dracula (#1554).
- Добавить тег в тему gruvbox (#1555).
- Поддержка разметки для остальных тем (#1525).
- Serika light и dark (#1566).
- Исправить цвет фона всплывающего окна rose_pine и rose_pine_dawn (#1606).
- Исправление цвета текста меню при наведении курсора в базовых темах 16 (#1668).
- Обновление стилей заголовков разметки для everforest (#1687).
- Обновление стилей заголовков разметки для rose_pine (#1706).
- Стиль курсоров bogster (6a6a9ab).
- Исправить ui.selection в темах rose_pine (#1716).
- Использовать разные цвета для курсора и совпадающей пары в gruvbox (#1791).
- Улучшить цвета для захвата ui.cursor.match в некоторых темах (#1862).
LSP:
- Добавление стандартного языкового сервера для JavaScript (#1457).
- Добавление pom.xml в качестве маркера корневого каталога maven (#1496).
- Haskell LSP (#1556).
- C-sharp LSP поддержка (#1788).
- Очистка конфигурации Julia LSP (#1811).
Новые языки:
Обновлённые языки и запросы:
- Текстовые объекты и запросы отступов для c и cpp (#1293).
- Исправьте нулевые и логические постоянные выделения для nix (#1428).
- Захват текста ссылки Markdown как markup.link.text (#1456).
- Обновите и повторно включите Haskell (#1417,). # 1520
- Обновление Go с поддержкой дженериков (
ddbf036
).
- Использование
tree-sitter-css
для файлов SCSS (#1507
).
- Обновление Zig (
#1501
).
- Обновление PHP (
#1521
).
- Расширение поддержки языков для внедрения комментариев (
#1527
).
- Использование tree-sitter-bash для
.zshrc
и .bashrc
(7d51042
).
- Использование tree-sitter-bash для
.bash_profile
(#1571
).
- Использование tree-sitter-bash для
.zshenv
и файлов ZSH (#1574
).
- IEx (
#1576
).
- Улучшения запросов текстовых объектов для PHP (
#1601
).
- Усовершенствования подсветки C-sharp (
#1795
).
- Повышение производительности Git при больших подробных коммитах (
#1838
).
Упаковка:
- Система подмодулей заменена на командные флаги для получения и сборки грамматик tree-sitter (
#1659
).
- Выводы flake отправляются в Cachix при каждом нажатии на
master
(#1721
).
- Обновите
nix-cargo-integration
flake, чтобы он зависел от dream2nix
(#1758
).
0.6.0 (2022-01-04)
С новым годом и большое спасибо всем участникам! В этом выпуске было 55 участников.
Helix появился в DPorts и Fedora Linux через COPR (#1270
).
Как обычно, вот краткое резюме, полный журнал доступен в истории git:
Изменения:
— Исправление: нормализация backtab в shift-tab.
Функции:
— Макросы (#1234
).
— Добавление функции обратного поиска (#958
).
— Разрешение сопоставления клавиш последовательностям команд (#589
).
— Возможность привязки команд к клавишам (#1169
).
— Определение корня рабочей области с помощью языковых маркеров (#1370
).
— Добавить текстовый объект WORD (#991
).
— Добавьте LSP rename_symbol (space-r) (#1011
).
— Добавлен workspace_symbol_picker (#1041
).
— Определить тип файла из строки shebang (#1001
).
— Разрешить передачу данных из stdin в буфер при запуске (#996
).
— Добавить автопары для пар одинаковых символов (#1219
).
— Обновить настройки во время выполнения (#798
).
— Включить тонкий LTO (cccc194
).
Команды:
— :wonly
— только окно (#1057
).
— Закрыть буфер (:bc
, :bclose
) (#1035
).
— Добавить команды <:line>
и :goto <line>
(#1128
).
— Команда :sort
(#1288
).
— Добавить m текстовый объект для пары под курсором (#961
).
— Реализовать команды «Перейти к следующему буферу / Перейти к предыдущему буферу» (#950
).
— Реализуйте команду «Перейти к последней модификации» (#1067
).
— Добавить команду trim_selections (#1092
).
— Добавить ярлык перемещения для истории. Не удалось определить основной язык текста запроса.
В запросе содержится информация о проекте Helix, который представляет собой редактор кода. Текст описывает различные функции и возможности проекта, включая поддержку различных языков программирования, улучшение синтаксиса и добавление новых тем оформления. Также упоминается о внесении изменений в раскладку клавиатуры и улучшении совместимости с некоторыми языковыми серверами.
В тексте запроса присутствуют ссылки на GitHub, которые не были переведены. В запросе скорее всего текст технической направленности из области разработки и тестирования программного обеспечения. Основной язык текста запроса — английский.
Перевод на русский язык:
- Через mc) (#728).
- Глобальный поиск по всему рабочему пространству space+/ (#651).
- Поддержка относительных номеров строк (#485).
- Теперь в подсказках есть история (
72cf86e
, https://github.com/helix-editor/helix/commit/72cf86e).
- Команды
:vsplit
и :hsplit
(#639).
-
C-w h/j/k/l
теперь можно использовать для перемещения между разделениями (#860).
-
C-j
и C-k
теперь альтернативные привязки клавиш к C-n
и C-p
в пользовательском интерфейсе (#876).
- Команды оболочки (shell-pipe, pipe-to, shell-insert-output, shell-append-output, keep-pipe) (#547).
- Поиск теперь по умолчанию использует интеллектуальный поиск с учётом регистра (без учёта регистра, если не используется верхний регистр) (#761).
- Панель предварительного просмотра была улучшена для выделения и центрирования диапазонов строк.
- Пользовательский файл languages.toml теперь объединён со значениями по умолчанию, больше не нужно копировать весь файл (
dc57f8dc
, https://github.com/helix-editor/helix/commit/dc57f8dc).
- Скрытые файлы отображаются в дополнениях (#648).
- Инъекции грамматики теперь обрабатываются правильно (
dd0b15e
, https://github.com/helix-editor/helix/commit/dd0b15e).
- В режиме выбора
v
теперь возвращается в нормальный режим (#660).
- Режим просмотра теперь может быть запущен как «липкий» режим (#719).
- Движения
f
/t
и выбор объектов теперь могут повторяться через Alt-.
(#891).
- Строка состояния теперь отображает общее количество выбранных элементов и количество диагностических данных как для ошибок, так и для предупреждений (#916).
Новые грамматики:
Ledger (#572), Protobuf (#614), Zig (#631), YAML (#667), Lua (#665), OCaml (#666), Svelte (#733), Vue (#787), Tree-sitter queries (#845), CMake (#888), Elixir (мы перешли на официальную грамматику) (6c0786e
, https://github.com/helix-editor/helix/commit/6c0786e), определения языковых серверов для Nix и Elixir (#725), Python теперь использует pylsp
вместо pyls
, Python теперь поддерживает отступы.
Новые темы:
Monokai (#628), Everforest Dark (#760), Nord (#799), Base16 Default Dark (#833), Rose Pine (#897).
Исправления:
Исправлен сбой при пустом файле rust (#592).
Выход из режима выбора после переключения комментария (#598).
Закрепление всплывающих окон без позиционирования в исходном положении (12ea3888
, https://github.com/helix-editor/helix/commit/12ea3888).
xsel copy не должен замораживать редактор (6dd7dc4
, https://github.com/helix-editor/helix/commit/6dd7dc4).
*
теперь только устанавливает регистр поиска и не переходит к следующему вхождению (3426285
, https://github.com/helix-editor/helix/commit/3426285).
Команды goto line start/end расширяются, когда они находятся в режиме выбора (#739).
Исправлены проблемы с выделением всплывающих окон документации. Рефакторинг apply_workspace_edit для удаления утверждения (b02d872
)
Обтекание верхней части меню выбора при прокрутке (c7d6e44
)
Не разрешать закрытие последнего разделения, если есть несохранённые изменения (3ff5b00
)
Отступ по умолчанию в hx отличается от hx new_file.txt (c913bad
)
0.4.1 (2021-08-14)
Незначительный релиз, включающий:
- исправление ошибок рендеринга, возникающих после редактирования с множественным выбором;
- исправление CI для кросс-компиляции грамматик для aarch64.
0.4.0 (2021-08-13)
Большое спасибо всем участникам! В этом выпуске у нас было 28 участников.
Прошло два месяца, так что это ещё один большой релиз. Большое спасибо всем участникам и сопровождающим пакетов!
Helix появился в репозиториях Arch, Manjaro, Nix, MacPorts и Parabola и Termux (https://repology.org/project/helix/versions)!
Был проведён масштабный рефакторинг (https://github.com/helix-editor/helix/pull/376), который позволяет нам поддерживать пустые выделения в будущем, а также устраняет множество ошибок и крайних случаев.
- Многократное переназначение клавиш! Привязки клавиш теперь поддерживают гораздо более сложные варианты использования (#454).
- Ожидающие клавиши отображаются в строке состояния (#515).
- Выбор объекта / текстовые объекты. mi(для выбора текста внутри скобок (#385).
- Autoinfo: всплывающие окна whichkey, которые показывают доступные ярлыки подрежима (#316).
- Добавлены движения WORD (W/B/E) (#390).
- Вертикальные выделения (повторное выделение выше/ниже) (#462).
- Вращение выделения с помощью (и) (https://github.com/helix-editor/helix/commit/66a90130a5f99d769e9f6034025297f78ecaa3ec).
- Поворот содержимого выделения с помощью Alt-(и Alt-) (https://github.com/helix-editor/helix/commit/02cba2a7f403f48eccb18100fb751f7b42373dba).
- Улучшения поведения завершения (#f917b5a4, #627b899).
- Исправлен сбой языкового сервера (#385a6b5a).
- Команды изменения регистра (
``, ~,
<a-`>) (#441).
- Теперь средства выбора файлов (включая переход) предоставляют предварительный просмотр! (#534).
- Поддержка запросов на внедрение. Вызовы макросов Rust и встроенные языки теперь правильно выделяются (#430).
- Форматирование теперь асинхронно, и инфраструктура асинхронных заданий была улучшена (#285).
- Грамматики теперь компилируются как отдельные общие библиотеки и загружаются по требованию во время выполнения (#432).
- Поддержка действий кода (#478).
- Мышь поддерживается (#509, #548).
- Собственная поддержка буфера обмена Windows (#373).
- Темы теперь могут использовать цветовые палитры (#393).
- Команда :reload (#374).
- Ctrl-z для приостановки (#464).
- Языковые серверы теперь можно настроить с помощью пользовательской конфигурации JSON (#460).
- Переключение комментариев теперь использует специфический для языка токен комментария. Поддержка Julia (#463), Java (#413) и история запросов (in-memory) (
63e54e30
[https://github.com/helix-editor/helix/commit/63e54e30a74bb0d1d782877ddbbcf95f2817d061]).
0.3.0 (2021-06-27)
Большое спасибо всем участникам! В этом выпуске было 24 участника.
Ещё один большой релиз.
Основные моменты:
- теперь автоматически определяется отступ по файлу;
- улучшена поддержка Windows, включая другие типы окончания строк (CRLF);
- поддерживаются кодировки, отличные от UTF-8;
- можно настроить сочетания клавиш через файл
config.toml
(#268);
- тему теперь можно настраивать и менять во время выполнения. Не стесняйтесь предлагать больше тем! (#267);
- поддерживается системный буфер обмена yank/paste! (#310);
- реализованы команды окружения (#320).
Функции:
- фильтр в средстве выбора файлов теперь можно применять повторно (#232);
- прогресс LSP теперь отображается в виде счётчика (#234);
- текущую строку теперь можно оформить в теме (#260);
- клавиши со стрелками и home/end теперь работают в режиме вставки (#305);
- темы курсоров и выделений теперь настраиваются (#325);
- языковые серверы теперь корректно завершают работу перед выходом из
hx
(#287);
-
:show-directory
/:change-directory
(#335);
- средство выбора файлов теперь сортируется по времени доступа (перед фильтрацией) (#336);
- код переносится из helix-term в helix-view (предварительное условие для альтернативных интерфейсов) (#366);
-
x
и X
объединены (f41688d9
[https://github.com/helix-editor/helix/commit/f41688d960ef89c29c4a51c872b8406fb8f81a85]).
Исправления:
- всплывающее окно IME теперь правильно расположено (#273);
- исправлен ряд ошибок, связанных с поведением
o
/O
(#281);
- расширение
~
теперь работает при завершении файла (#284);
- устранён ряд сбоев пользовательского интерфейса, связанных с переполнением (#318);
- исправление сбоя теста, возникающего только на
test --release
(4f108ab1
[https://github.com/helix-editor/helix/commit/4f108ab1b2197809506bd7305ad903a3525eabfa]);
- запросы теперь поддерживают ввод Unicode (#295);
- документация завершения теперь не перекрывает всплывающее окно (#322);
- устранена проблема сбоя при попытке выбрать
^
(9c534614
[https://github.com/helix-editor/helix/commit/9c53461429a3e72e3b1fb87d7ca490e168d7dee2]);
- завершения запроса теперь разбиты на страницы (
39dc09e6
[https://github.com/helix-editor/helix/commit/39dc09e6c4172299bc79de4c1c52288d3f624bd7]);
- Goto не работал в Windows (
503ca112
[https://github.com/helix-editor/helix/commit/503ca112ae57ebdf3ea323baf8940346204b46d2]).
0.2.1
Включает исправление, из-за которого wq/wqa мог завершиться до завершения сохранения файла.
0.2.0
Большое спасибо всем участникам! В этом выпуске было 18 участников.
Изменений достаточно, чтобы повысить версию. Мы пропускаем 0.1.x, потому что ранее CLI всегда сообщал версию как 0.1.0, и мы хотели бы различать её в отчётах об ошибках. Теперь каталог правильно определяется в бинарных релизах и при выполнении команды cargo run. Также можно использовать путь ~/.config/helix/runtime
.
-
Реестры теперь можно выбирать с помощью « (например, "ay
).
-
Добавлена поддержка файлов Nix.
-
Теперь полностью протестировано перемещение, оно соответствует реализации Kakoune.
-
К сочетанию клавиш space+s добавлен сборщик символов LSP для каждого файла.
-
Можно заменить выделение выдернутым текстом с помощью R.
-
Команда 1g
теперь корректно переходит к первой строке.
-
Сочетание клавиш ctrl-i теперь корректно перемещается назад по истории.
-
Исправлена небольшая утечка памяти, когда мы пытались повторно использовать курсоры запросов tree-sitter, но всегда выделяли новый.
-
Автоматическое форматирование теперь включено только для определённых языков.
-
В инициализации LSP теперь предоставляется корневой каталог, что устраняет проблемы с некоторыми языковыми серверами (typescript).
-
Паника больше не возникает при сбое запуска LSP.
-
Исправлено поведение запросов на языке Elixir.
0.0.10
Карты клавиш:
-
добавлены сопоставления для перехода к диагностике;
-
добавлены сопоставления gt/gm/gb для перехода в начало/середину/конец экрана;
-
^ и $ теперь соответствуют командам gh, gl.
-
runtime/ теперь может быть опционально встроен в двоичный файл.
-
добавлен синтаксис Haskell;
-
добавлен режим окна (ctrl-w);
-
добавлено отображение соответствующей скобки (Vim's matchbrackets);
-
темы теперь поддерживают модификаторы стиля;
-
добавлена первая тема, созданная пользователем;
-
при сохранении создаётся документ, если он ещё не существует;
-
при сохранении определяется язык нового файла.
-
исправлены многочисленные ошибки, вызывавшие панику.
Опубликовать ( 0 )