mirror of
https://github.com/ilyakooo0/helix.git
synced 2024-11-30 19:09:46 +03:00
changelog notes for 22.03 (#1830)
This commit is contained in:
parent
6c276d7868
commit
d4e45fd479
164
CHANGELOG.md
164
CHANGELOG.md
@ -1,3 +1,165 @@
|
|||||||
|
# 22.03 (2022-03-28)
|
||||||
|
|
||||||
|
A big shout out to all the contributors! We had 51 contributors in this release.
|
||||||
|
|
||||||
|
This release is particularly large and featureful. Check out some of the
|
||||||
|
highlights in the [news section](https://helix-editor.com/news/release-22-03-highlights/).
|
||||||
|
|
||||||
|
As usual, the following is a summary of each of the changes since the last release.
|
||||||
|
For the full log, check out the [git log](https://github.com/helix-editor/helix/compare/v0.6.0..22.03).
|
||||||
|
|
||||||
|
Breaking changes:
|
||||||
|
|
||||||
|
- LSP config now lives under `editor.lsp` ([#1868](https://github.com/helix-editor/helix/pull/1868))
|
||||||
|
- Expand-selection was moved from `]o` to `Alt-h` ([#1495](https://github.com/helix-editor/helix/pull/1495))
|
||||||
|
|
||||||
|
Features:
|
||||||
|
|
||||||
|
- Experimental Debug Adapter Protocol (DAP) support ([#574](https://github.com/helix-editor/helix/pull/574))
|
||||||
|
- Primary cursor shape may now be customized per mode ([#1154](https://github.com/helix-editor/helix/pull/1154))
|
||||||
|
- Overhaul incremental highlights and enable combined injections ([`6728344..4080341`](https://github.com/helix-editor/helix/compare/6728344..4080341))
|
||||||
|
- Allow specifying file start position ([#445](https://github.com/helix-editor/helix/pull/445), [#1676](https://github.com/helix-editor/helix/pull/1676))
|
||||||
|
- Dynamic line numbers ([#1522](https://github.com/helix-editor/helix/pull/1522))
|
||||||
|
- Show an info box with the contents of registers ([#980](https://github.com/helix-editor/helix/pull/980))
|
||||||
|
- Wrap-around behavior during search is now configurable ([#1516](https://github.com/helix-editor/helix/pull/1516))
|
||||||
|
- Tree-sitter textobjects motions for classes, functions, and parameters ([#1619](https://github.com/helix-editor/helix/pull/1619), [#1708](https://github.com/helix-editor/helix/pull/1708), [#1805](https://github.com/helix-editor/helix/pull/1805))
|
||||||
|
- Command palette: a picker for available commands ([#1400](https://github.com/helix-editor/helix/pull/1400))
|
||||||
|
- LSP `workspace/configuration` and `workspace/didChangeConfiguration` support ([#1684](https://github.com/helix-editor/helix/pull/1684))
|
||||||
|
- `hx --health [LANG]` command ([#1669](https://github.com/helix-editor/helix/pull/1669))
|
||||||
|
- Refactor of the tree-sitter grammar system ([#1659](https://github.com/helix-editor/helix/pull/1659))
|
||||||
|
- All submodules have been removed
|
||||||
|
- New `hx --grammar {fetch|build}` flags for fetching and building tree-sitter grammars
|
||||||
|
- A custom grammar selection may now be declared with the `use-grammars` key in `languages.toml`
|
||||||
|
|
||||||
|
Commands:
|
||||||
|
|
||||||
|
- `:cquit!` - quit forcefully with a non-zero exit-code ([#1414](https://github.com/helix-editor/helix/pull/1414))
|
||||||
|
- `shrink_selection` - shrink the selection to a child tree-sitter node (`Alt-j`, [#1340](https://github.com/helix-editor/helix/pull/1340))
|
||||||
|
- `:tree-sitter-subtree` - show the tree-sitter subtree under the primary selection ([#1453](https://github.com/helix-editor/helix/pull/1453), [#1524](https://github.com/helix-editor/helix/pull/1524))
|
||||||
|
- Add `Alt-Backspace`, `Alt-<`, `Alt->`, and `Ctrl-j` to insert mode ([#1441](https://github.com/helix-editor/helix/pull/1441))
|
||||||
|
- `select_next_sibling`, `select_prev_sibling` - select next and previous tree-sitter nodes (`Alt-l` and `Alt-h`, [#1495](https://github.com/helix-editor/helix/pull/1495))
|
||||||
|
- `:buffer-close-all`, `:buffer-close-all!`, `:buffer-close-others`, and `:buffer-close-others!` ([#1677](https://github.com/helix-editor/helix/pull/1677))
|
||||||
|
- `:vsplit-new` and `:hsplit-new` - open vertical and horizontal splits with new scratch buffers ([#1763](https://github.com/helix-editor/helix/pull/1763))
|
||||||
|
- `:open-config` to open the config file and `:refresh-config` to refresh config after changes ([#1771](https://github.com/helix-editor/helix/pull/1771), [#1803](https://github.com/helix-editor/helix/pull/1803))
|
||||||
|
|
||||||
|
Usability improvements and fixes:
|
||||||
|
|
||||||
|
- Prevent `:cquit` from ignoring unsaved changes ([#1414](https://github.com/helix-editor/helix/pull/1414))
|
||||||
|
- Scrolling view keeps selections ([#1420](https://github.com/helix-editor/helix/pull/1420))
|
||||||
|
- Only use shellwords parsing on unix platforms ([`7767703`](https://github.com/helix-editor/helix/commit/7767703))
|
||||||
|
- Fix slash in search selector status message ([#1449](https://github.com/helix-editor/helix/pull/1449))
|
||||||
|
- Use `std::path::MAIN_SEPARATOR` to determine completion ([`3e4f815`](https://github.com/helix-editor/helix/commit/3e4f815))
|
||||||
|
- Expand to current node with `expand_selection` when the node has no children ([#1454](https://github.com/helix-editor/helix/pull/1454))
|
||||||
|
- Add vertical and horizontal splits to the buffer picker ([#1502](https://github.com/helix-editor/helix/pull/1502))
|
||||||
|
- Use the correct language ID for JavaScript & TypeScript LSP ([#1466](https://github.com/helix-editor/helix/pull/1466))
|
||||||
|
- Run format command for all buffers being written ([#1444](https://github.com/helix-editor/helix/pull/1444))
|
||||||
|
- Fix panics during resizing ([#1408](https://github.com/helix-editor/helix/pull/1408))
|
||||||
|
- Fix auto-pairs with CRLF ([#1470](https://github.com/helix-editor/helix/pull/1470))
|
||||||
|
- Fix picker scrolling when the bottom is reached ([#1567](https://github.com/helix-editor/helix/pull/1567))
|
||||||
|
- Use markup themes for the markdown component ([#1363](https://github.com/helix-editor/helix/pull/1363))
|
||||||
|
- Automatically commit changes to history if not in insert mode ([`2a7ae96`](https://github.com/helix-editor/helix/commit/2a7ae96))
|
||||||
|
- Render code-actions as a menu and add padding to popup ([`094a0aa`](https://github.com/helix-editor/helix/commit/094a0aa))
|
||||||
|
- Only render menu scrollbar if the menu doesn't fit ([`f10a06f`](https://github.com/helix-editor/helix/commit/f10a06f), [`36b975c`](https://github.com/helix-editor/helix/commit/36b975c))
|
||||||
|
- Parse git revision instead of tag for version ([`d3221b0`](https://github.com/helix-editor/helix/commit/d3221b0), [#1674](https://github.com/helix-editor/helix/pull/1674))
|
||||||
|
- Fix incorrect last modified buffer ([#1621](https://github.com/helix-editor/helix/pull/1621))
|
||||||
|
- Add `PageUp`, `PageDown`, `Ctrl-u`, `Ctrl-d`, `Home`, `End` bindings to the file picker ([#1612](https://github.com/helix-editor/helix/pull/1612))
|
||||||
|
- Display buffer IDs in the buffer picker ([#1134](https://github.com/helix-editor/helix/pull/1134))
|
||||||
|
- Allow multi-line prompt documentation ([`2af0432`](https://github.com/helix-editor/helix/commit/2af0432))
|
||||||
|
- Ignore the `.git` directory from the file picker ([#1604](https://github.com/helix-editor/helix/pull/1604))
|
||||||
|
- Allow separate styling for markup heading levels ([#1618](https://github.com/helix-editor/helix/pull/1618))
|
||||||
|
- Automatically close popups ([#1285](https://github.com/helix-editor/helix/pull/1285))
|
||||||
|
- Allow auto-pairs tokens to be configured ([#1624](https://github.com/helix-editor/helix/pull/1624))
|
||||||
|
- Don't indent empty lines in `indent` command ([#1653](https://github.com/helix-editor/helix/pull/1653))
|
||||||
|
- Ignore `Enter` keypress when a menu has no selection ([#1704](https://github.com/helix-editor/helix/pull/1704))
|
||||||
|
- Show errors when surround deletions and replacements fail ([#1709](https://github.com/helix-editor/helix/pull/1709))
|
||||||
|
- Show infobox hints for `mi` and `ma` ([#1686](https://github.com/helix-editor/helix/pull/1686))
|
||||||
|
- Highlight matching text in file picker suggestions ([#1635](https://github.com/helix-editor/helix/pull/1635))
|
||||||
|
- Allow capturing multiple nodes in textobject queries ([#1611](https://github.com/helix-editor/helix/pull/1611))
|
||||||
|
- Make repeat operator work with completion edits ([#1640](https://github.com/helix-editor/helix/pull/1640))
|
||||||
|
- Save to the jumplist when searching ([#1718](https://github.com/helix-editor/helix/pull/1718))
|
||||||
|
- Fix bug with auto-replacement of components in compositor ([#1711](https://github.com/helix-editor/helix/pull/1711))
|
||||||
|
- Use Kakoune logic for `align_selection` ([#1675](https://github.com/helix-editor/helix/pull/1675))
|
||||||
|
- Fix `follows` for `nixpkgs` in `flake.nix` ([#1729](https://github.com/helix-editor/helix/pull/1729))
|
||||||
|
- Performance improvements for the picker ([`78fba86`](https://github.com/helix-editor/helix/commit/78fba86))
|
||||||
|
- Rename infobox theme scopes ([#1741](https://github.com/helix-editor/helix/pull/1741))
|
||||||
|
- Fallback to broader scopes if a theme scope is not found ([#1714](https://github.com/helix-editor/helix/pull/1714))
|
||||||
|
- Add arrow-keys bindings for tree-sitter sibling selection commands ([#1724](https://github.com/helix-editor/helix/pull/1724))
|
||||||
|
- Fix a bug in LSP when creating a file in a folder that does not exist ([#1775](https://github.com/helix-editor/helix/pull/1775))
|
||||||
|
- Use `^` and `$` regex location assertions for search ([#1793](https://github.com/helix-editor/helix/pull/1793))
|
||||||
|
- Fix register names in `insert_register` command ([#1751](https://github.com/helix-editor/helix/pull/1751))
|
||||||
|
- Perform extend line for all selections ([#1804](https://github.com/helix-editor/helix/pull/1804))
|
||||||
|
- Prevent panic when moving in an empty picker ([#1786](https://github.com/helix-editor/helix/pull/1786))
|
||||||
|
- Fix line number calculations for non CR/CRLF line breaks ([`b4a282f`](https://github.com/helix-editor/helix/commit/b4a282f), [`0b96201`](https://github.com/helix-editor/helix/commit/0b96201))
|
||||||
|
- Deploy documentation for `master` builds separately from release docs ([#1783](https://github.com/helix-editor/helix/pull/1783))
|
||||||
|
|
||||||
|
Themes:
|
||||||
|
|
||||||
|
- Add everforest_light ([#1412](https://github.com/helix-editor/helix/pull/1412))
|
||||||
|
- Add gruvbox_light ([#1509](https://github.com/helix-editor/helix/pull/1509))
|
||||||
|
- Add modified background to dracula popup ([#1434](https://github.com/helix-editor/helix/pull/1434))
|
||||||
|
- Markup support for monokai pro themes ([#1553](https://github.com/helix-editor/helix/pull/1553))
|
||||||
|
- Markup support for dracula theme ([#1554](https://github.com/helix-editor/helix/pull/1554))
|
||||||
|
- Add `tag` to gruvbox theme ([#1555](https://github.com/helix-editor/helix/pull/1555))
|
||||||
|
- Markup support for remaining themes ([#1525](https://github.com/helix-editor/helix/pull/1525))
|
||||||
|
- Serika light and dark ([#1566](https://github.com/helix-editor/helix/pull/1566))
|
||||||
|
- Fix rose_pine and rose_pine_dawn popup background color ([#1606](https://github.com/helix-editor/helix/pull/1606))
|
||||||
|
- Fix hover menu item text color in base16 themes ([#1668](https://github.com/helix-editor/helix/pull/1668))
|
||||||
|
- Update markup heading styles for everforest ([#1687](https://github.com/helix-editor/helix/pull/1687))
|
||||||
|
- Update markup heading styles for rose_pine themes ([#1706](https://github.com/helix-editor/helix/pull/1706))
|
||||||
|
- Style bogster cursors ([`6a6a9ab`](https://github.com/helix-editor/helix/commit/6a6a9ab))
|
||||||
|
- Fix `ui.selection` in rose_pine themes ([#1716](https://github.com/helix-editor/helix/pull/1716))
|
||||||
|
- Use distinct colors for cursor and matched pair in gruvbox ([#1791](https://github.com/helix-editor/helix/pull/1791))
|
||||||
|
- Improve colors for `ui.cursor.match` capture in some themes ([#1862](https://github.com/helix-editor/helix/pull/1862))
|
||||||
|
|
||||||
|
LSP:
|
||||||
|
|
||||||
|
- Add default language server for JavaScript ([#1457](https://github.com/helix-editor/helix/pull/1457))
|
||||||
|
- Add `pom.xml` as maven root directory marker ([#1496](https://github.com/helix-editor/helix/pull/1496))
|
||||||
|
- Haskell LSP ([#1556](https://github.com/helix-editor/helix/pull/1556))
|
||||||
|
- C-sharp LSP support ([#1788](https://github.com/helix-editor/helix/pull/1788))
|
||||||
|
- Clean up Julia LSP config ([#1811](https://github.com/helix-editor/helix/pull/1811))
|
||||||
|
|
||||||
|
New Languages:
|
||||||
|
|
||||||
|
- llvm-mir ([#1398](https://github.com/helix-editor/helix/pull/1398))
|
||||||
|
- regex ([#1362](https://github.com/helix-editor/helix/pull/1362))
|
||||||
|
- Make ([#1433](https://github.com/helix-editor/helix/pull/1433), [#1661](https://github.com/helix-editor/helix/pull/1661))
|
||||||
|
- git-config ([#1426](https://github.com/helix-editor/helix/pull/1426))
|
||||||
|
- Lean ([#1422](https://github.com/helix-editor/helix/pull/1422))
|
||||||
|
- Elm ([#1514](https://github.com/helix-editor/helix/pull/1514))
|
||||||
|
- GraphQL ([#1515](https://github.com/helix-editor/helix/pull/1515))
|
||||||
|
- Twig ([#1602](https://github.com/helix-editor/helix/pull/1602))
|
||||||
|
- Rescript ([#1616](https://github.com/helix-editor/helix/pull/1616), [#1863](https://github.com/helix-editor/helix/pull/1863))
|
||||||
|
- Erlang ([#1657](https://github.com/helix-editor/helix/pull/1657))
|
||||||
|
- Kotlin ([#1689](https://github.com/helix-editor/helix/pull/1689))
|
||||||
|
- HCL ([#1705](https://github.com/helix-editor/helix/pull/1705), [#1726](https://github.com/helix-editor/helix/pull/1726))
|
||||||
|
- Org ([#1845](https://github.com/helix-editor/helix/pull/1845))
|
||||||
|
- Solidity ([#1848](https://github.com/helix-editor/helix/pull/1848), [#1854](https://github.com/helix-editor/helix/pull/1854))
|
||||||
|
|
||||||
|
Updated Languages and Queries:
|
||||||
|
|
||||||
|
- Textobject and indent queries for c and cpp ([#1293](https://github.com/helix-editor/helix/pull/1293))
|
||||||
|
- Fix null and boolean constant highlights for nix ([#1428](https://github.com/helix-editor/helix/pull/1428))
|
||||||
|
- Capture markdown link text as `markup.link.text` ([#1456](https://github.com/helix-editor/helix/pull/1456))
|
||||||
|
- Update and re-enable Haskell ([#1417](https://github.com/helix-editor/helix/pull/1417), [#1520](https://github.com/helix-editor/helix/pull/1520))
|
||||||
|
- Update Go with generics support ([`ddbf036`](https://github.com/helix-editor/helix/commit/ddbf036))
|
||||||
|
- Use `tree-sitter-css` for SCSS files ([#1507](https://github.com/helix-editor/helix/pull/1507))
|
||||||
|
- Update Zig ([#1501](https://github.com/helix-editor/helix/pull/1501))
|
||||||
|
- Update PHP ([#1521](https://github.com/helix-editor/helix/pull/1521))
|
||||||
|
- Expand language support for comment injections ([#1527](https://github.com/helix-editor/helix/pull/1527))
|
||||||
|
- Use tree-sitter-bash for `.zshrc` and `.bashrc` ([`7d51042`](https://github.com/helix-editor/helix/commit/7d51042))
|
||||||
|
- Use tree-sitter-bash for `.bash_profile` ([#1571](https://github.com/helix-editor/helix/pull/1571))
|
||||||
|
- Use tree-sitter-bash for `.zshenv` and ZSH files ([#1574](https://github.com/helix-editor/helix/pull/1574))
|
||||||
|
- IEx ([#1576](https://github.com/helix-editor/helix/pull/1576))
|
||||||
|
- Textobject queries for PHP ([#1601](https://github.com/helix-editor/helix/pull/1601))
|
||||||
|
- C-sharp highlight query improvements ([#1795](https://github.com/helix-editor/helix/pull/1795))
|
||||||
|
- Git commit performance has been improved on large verbose commits ([#1838](https://github.com/helix-editor/helix/pull/1838))
|
||||||
|
|
||||||
|
Packaging:
|
||||||
|
|
||||||
|
- The submodules system has been replaced with command-line flags for fetching and building tree-sitter grammars ([#1659](https://github.com/helix-editor/helix/pull/1659))
|
||||||
|
- Flake outputs are pushed to Cachix on each push to `master` ([#1721](https://github.com/helix-editor/helix/pull/1721))
|
||||||
|
- Update flake's `nix-cargo-integration` to depend on `dream2nix` ([#1758](https://github.com/helix-editor/helix/pull/1758))
|
||||||
|
|
||||||
# 0.6.0 (2022-01-04)
|
# 0.6.0 (2022-01-04)
|
||||||
|
|
||||||
@ -40,7 +202,7 @@ Commands:
|
|||||||
- Add movement shortcut for history ([#1088](https://github.com/helix-editor/helix/pull/1088))
|
- Add movement shortcut for history ([#1088](https://github.com/helix-editor/helix/pull/1088))
|
||||||
- Add command to inc/dec number under cursor ([#1027](https://github.com/helix-editor/helix/pull/1027))
|
- Add command to inc/dec number under cursor ([#1027](https://github.com/helix-editor/helix/pull/1027))
|
||||||
- Add support for dates for increment/decrement
|
- Add support for dates for increment/decrement
|
||||||
- Align selections (&) ([#1101](https://github.com/helix-editor/helix/pull/1101))
|
- Align selections (`&`) ([#1101](https://github.com/helix-editor/helix/pull/1101))
|
||||||
- Implement no-yank delete/change ([#1099](https://github.com/helix-editor/helix/pull/1099))
|
- Implement no-yank delete/change ([#1099](https://github.com/helix-editor/helix/pull/1099))
|
||||||
- Implement black hole register ([#1165](https://github.com/helix-editor/helix/pull/1165))
|
- Implement black hole register ([#1165](https://github.com/helix-editor/helix/pull/1165))
|
||||||
- `gf` as goto_file (`gf`) ([#1102](https://github.com/helix-editor/helix/pull/1102))
|
- `gf` as goto_file (`gf`) ([#1102](https://github.com/helix-editor/helix/pull/1102))
|
||||||
|
Loading…
Reference in New Issue
Block a user