- remove README-suse-maint.md as the packaging changed so much that
the readme is not needed anymore
- put the binary in the bindir, create a symlink for people who still
want to use the full name for the binary
OBS-URL: https://build.opensuse.org/package/show/editors/helix?expand=0&rev=87
- Add MSRV to specfile
- Require main package for completion
- Remove deprecated cargo_audit -- Now part of cargo_vendor
- Update to version 24.07:
Features:
* Add a textobject for entries/elements of list-like things
* Add a picker showing files changed in VCS
* Use a temporary file for writes
* Allow cycling through LSP signature-help signatures with
A-n/A-p
* Use tree-sitter when finding matching brackets and closest
pairs
* Auto-save all buffers after a delay
Commands:
* select_all_siblings (A-a) - select all siblings of each
selection
* select_all_children (A-i) - select all children of each
selection
* :read - insert the contents of the given file at each selection
Usability improvements:
* Support scrolling popup contents using the mouse
* Sort the jumplist picker so that most recent items come first
* Improve goto_file's (gf) automatic path detection strategy
* Respect language server definition order in code action menu
* Allow using a count with goto_next_buffer (gn) and
goto_previous_buffer (gp)
* Improve the positioning of popups
* Reset all changes overlapped by selections in
:reset-diff-change
* Await pending writes in the suspend command (C-z)
* Remove special handling of line ending characters in replace
(r)
* Use the selected register as a history register for
rename_symbol (<space>r)
* Use the configured insert-mode cursor for prompt entry
* Add tilted quotes to the matching brackets list
* Prevent improper files like /dev/urandom from being used as
file arguments
* Allow multiple language servers to provide
:lsp-workspace-commands
* Trim output of commands executed through :pipe
Fixes:
* Use lldb-dap instead of lldb-vscode in default DAP
configuration
* Fix creation of uneven splits when closing windows
* Avoid setting a register in delete_selection_noyank, fixing the
command's use in command sequences
* Fix jump alphabet config resetting when using :config-reload
* Overlay LSP unnecessary/deprecated diagnostic tag highlights
onto regular diagnostic highlights
* Fix crash on LSP text edits with invalid ranges
* Handle partial failure when sending multiple LSP
textDocument/didSave notifications
* Fix off-by-one error for completion-replace option
* Fix mouse right-click selection behavior
* Fix scrolling to the end within a popup
* Fix jump label highlight locations when jumping in non-ascii
text
* Fix crashes from tree-sitter query captures that return
non-grapheme aligned ranges
* Include VCS change in mi/ma textobject infobox
* Override crossterm's support for NO_COLOR
* Respect mode when starting a search
* Simplify first-in-line computation for indent queries
* Ignore .svn version controlled files in file pickers
* Fix overloading language servers with completionItem/resolve
requests
* Specify direction for select_next_sibling / select_prev_sibling
* Fix restarting language servers
* Don't stop at the first URL in goto_file
* Fix overflows in window size calculations for small terminals
* Allow missing or empty completion lists in DAP
* Revert statusline refactor that could cause the statusline to
blank out on files with long paths
* Synchronize files after writing
* Avoid cnorm for cursor-type detection in certain terminals
* Reset inlay hints when stopping or restarting a language server
* Fix logic for updating --version when development VCS HEAD
changes
* Set a max value for the count
* Deserialize number IDs in DAP module types
* Fix the behavior of jump_backwords when the jumplist is at
capacity
* Fix injection layer heritage tracking for reused tree-sitter
injection layers
* Fix pluralization of "buffers" in the statusline for :q, :q!,
:wq
* Declare LSP formatting client capabilities
* Commit uncommitted changes before attempting undo/earlier
* Expand tilde for selected paths in goto_file
* Commit undo checkpoints before :write[-all], fixing the
modification indicator
Themes:
* Add jump label styles to nightfox, Solarized, cyan_light,
onelight, tokyonight, papercolor, Darcula, autumn, Ayu themes,
dark_high_contrast, varua, Modus themes
* Add flexoki-dark, flexoki-light, iroaseta, kanagawa-dragon
themes
* Update material themes
* Add default theme keys for LSP diagnostics tags to existing
themes
* Add jump label styles to base16 themes
* Add modeline and default virtual highlights to base16_default
* Dim primary selection in kanagawa
* Add ruler style to adwaita-dark
* Remove ui.highlight effects from solarized_dark
* Fix statusline color in material themes
* Brighten nord selection highlight
* Add inlay-hint styles to monokai themes
* Add bufferline and cursorline colors to vim_dark_high_contrast
* Switch themes with foreground rulers to background
* Fix statusline colors for everblush
* Use yellow1 for gruvbox warning diagnostics
* Refactor dark_plus and gruvbox themes
* Add debug highlights to dark_plus
* Fix per-mode cursor colors in the default theme
* Add tag and attribute highlights to dark_high_contrast
* Improve readability of virtual text with noctis theme
* Sync catppuccin themes with upstream
New languages:
* BitBake, Earthfile, TCL, ADL, LDIF, XTC, Move, Pest, GJS/GTS,
Inko, Mojo, Elisp
Updated languages and queries:
* Recognize mkdn files as markdown
* Add comment injections for Gleam
* Recognize BuildKite commands in YAML injections
* Add F# block comment token configuration
* Update tree-sitter-templ and queries
* Recognize Tiltfile as Starlark
* Remove todo.txt from files recognized as todotxt
* Highlight type keyword in Python from PEP695
* Update tree-sitter-koka, add language server config
* Recognize node and Python history files
* Recognize more shell files as bash
* Recognize the bun shebang as typescript
* Add a configuration for the angular language server
* Add textobject queries for Solidity
* Recognize meson.options as Meson
* Improve Solidity highlighting
* Recognize _.tpl files as Helm
* Update tree-sitter-ld and highlights
* Add lldb-dap configuration for Odin
* Update tree-sitter-rust
* Update tree-sitter-typst
* Recognize hyprpaper.conf, hypridle.conf and hyprlock.conf as
Hyprlang
* Improve HTML highlighting
* Add rust-script and cargo as shebangs for Rust
* Fix precedence of tag highlights in Svelte
* Update tree-sitter-bash
* Recognize *.ignore files as ignore
* Add configuration to enable inlay hints in metals
* Enable highlighting private members in ECMA languages
* Add comment injection to typst queries
* Add textobject queries for Hurl
* Add try keyword to Rust
* Add is not and not in to Python highlights
* Remove ' and ⟨⟩ from Lean autopair configuration
* Match TOML/YAML highlights for JSON keys
* Recognize WORKSPACE files as Starlark
* Switch Odin tree-sitter grammar and highlights
* Update tree-sitter-slint
* Add missing operators for Solidity highlights
* Update tree-sitter-inko
* Add py, hs, rs and typ injection regexes
* Update Swift grammar and queries
* Update Cairo grammar and queries
* Update Rust grammar
* Add block comment tokens for typst
* Recognize jsonl as JSON
* Add rulers and text-width at 100 columns for Lean language
* Improve VDHL highlights
* Recognize hsc as Haskell
* Fix heredoc and $'<ansi_string>' highlights in Bash
* Add LSP configuration for basedpyright
* Recognize npmrc and .nmprc files as INI
* Recognize ~/.config/git/ignore as git-ignore
* Recognize pdm.lock and uv.lock as TOML
* Recognize .yml as well as .yaml for Helm chart templates
* Add regex injections for Bash
* Update tree-sitter-todo
Packaging:
* Make Helix.appdata.xml spec-compliant
* Expose all flake outputs through flake-compat
* Bump the MSRV to 1.74.0
* Improve fish completions
* Improve ZSH completions
OBS-URL: https://build.opensuse.org/request/show/1187402
OBS-URL: https://build.opensuse.org/package/show/editors/helix?expand=0&rev=86
- Remove obsolete cargo_config and references in spec
- Update to version 24.03:
Breaking changes:
* suffix file-types in the file-types key in language
configuration have been removed
* The file-types key in language configuration no longer matches
full filenames without a glob pattern
Features:
* Open URLs with the goto_file command
* Support drawing a border around popups and menus
* Track long lived diagnostic sources like Clippy or rustc
* This improves the handling of diagnostics from sources that
only update the diagnostic positions on save.
* Add support for LSP window/showDocument requests
* Refactor ad-hoc hooks to use a new generic event system
* This improves the behavior of autocompletions. For example
navigating in insert mode no longer automatically triggers
completions.
* Allow using globs in the language configuration file-types key
* Allow specifying required roots for situational LSP activation
* Extend selections using mouse clicks in select mode
* Toggle block comments
* Support LSP diagnostic tags
* Add a file-absolute-path statusline element
* Cross injection layers in tree-sitter motions (A-p/A-o/A-i/A-n)
* Add a Amp-editor-like jumping command
Commands:
* :move - move buffers with LSP support
* page_cursor_up, page_cursor_down, page_cursor_half_up,
page_cursor_half_down - commands for scrolling the cursor and
page together
* :yank-diagnostic - yank the diagnostic(s) under the primary
cursor
* select_line_above / select_line_below - extend or shrink a
selection based on the direction and anchor
Usability improvements:
* Make roots key of [[language]] entries in languages.toml
configuration optional
* Exit select mode in commands that modify the buffer
* Use crossterm cursor when out of focus
* Join empty lines with only one space in join_selections
* Introduce a hybrid tree-sitter and contextual indentation
heuristic
* Allow configuring the indentation heuristic
* Check for LSP rename support before showing rename prompt
* Normalize S-<lower-ascii> keymaps to uppercase ascii
* Add formatter status to --health output
* Change path normalization strategy to not resolve symlinks
* Select subtree within injections in :tree-sitter-subtree
* Use tilde expansion and normalization for $HELIX_RUNTIME paths
* Improve failure message for LSP goto references
* Use injection syntax trees for bracket matching
* Respect injections in :tree-sitter-highlight-name
* Respect injections in move_parent_node_end
* Use gix pipeline filter instead of manual CRLF implementation
* Follow Neovim's truecolor detection
* Reload language configuration with :reload, SIGHUP
* Allow numbers as bindings
* Respect undercurl config when terminfo is not available
* Ignore .pijul, .hg, .jj in addition to .git in file pickers
configured to show hidden files
* Add completion for registers to :clear-register and
:yank-diagnostic
* Repeat last motion for goto next/prev diagnostic
* Allow configuring a character to use when rendering narrow
no-breaking space
* Switch to a streaming regex engine
Fixes:
* Swap * and + registers
* Use terminfo to reset terminal cursor style
* Fix precedence of @align captures in indentat computation
* Only render the preview if a Picker has a preview function
* Fix the precedence of ui.virtual.whitespace
* Fix crash in :indent-style
* Fix didSave text inclusion when sync capability is a kind
variant
* Update the history of newly focused views
* Initialize diagnostics when opening a document
* Sync views when applying edits to unfocused views
* Treat non-numeric +args passed in the CLI args as filenames
* Fix crash when using mm on an empty plaintext file
* Ignore empty tree-sitter nodes in match bracket
* Exit a language server if it sends a message with invalid JSON
* Handle failures to enable bracketed paste
* Gate all captures in a pattern behind #is-not? local predicates
* Make path changes LSP spec conformant
* Use range positions to determine insert_newline motion
* Fix division by zero when prompt completion area is too small
* Add changes to history in clipboard replacement typable
commands
* Fix a crash in DAP with an unspecified line in breakpoints
* Fix space handling for filenames in bash completion
* Key diagnostics off of paths instead of LSP URIs
* Fix panic when using join_selections_space
* Fix panic when using surround_replace, surround_delete
* Fix panic in surround_replace, surround_delete with nested
surrounds and multiple cursors
* Fix panic in select_textobject_around
* Don't stop reloading documents when reloading fails in
:reload-all
* Prevent shell_keep_pipe from stopping on nonzero exit status
codes
Themes:
* Added gruber-dark, polmandres, starlight, modus operandi
themes, modus vivendi themes, horizon-dark, ttox, voxed,
gruvbox_light_soft, gruvbox_light_hard, curzon, monokai_soda,
term16_dark, term16_light, jetbrains_dark
* Updated rose_pine, darcula, everblush, papercolor, naysayer,
noctis, nord, monokai pro themes, tokyonight themes, sonokai,
onedark, onedarker, cyan_light, GitHub themes, Zed themes,
catppuccin themes, rasmus, dark_plus, gruvbox themes, material
themes
* Added jump label themeing to dracula, horizon-dark, catppuccin
themes, onedark themes, rose-pine themes, Nord themes, Monokai
themes, gruvbox themes, kanagawa
New languages:
* 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
Updated languages and queries:
* Add HTML injection queries for Rust
* Switch to tree-sitter-ron for RON
* Update and improve comment highlighting
* Highlight type parameters in Rust
* Change KDL tree-sitter parsers
* Update tree-sitter-markdown
* Update tree-sitter-purescript
* Add type parameter highlighting to TypeScript, Go, Haskell,
OCaml and Kotlin
* Add indentation queries for Scheme and lisps using
tree-sitter-scheme
* Recognize meson_options.txt as Meson
* Add language server configuration for Nushell
* Recognize musicxml as XML
* Update tree-sitter-rescript
* Update tree-sitter-python
* Recognize .envrc.local and .envrc.private as env
* Update tree-sitter-gleam
* Update tree-sitter-d
* Fix R-markdown language name for LSP detection
* Add haskell-language-server LSP configuration
* Recognize glif as XML
* Recognize .prettierrc as JSON
* Add auto-pairs configuration for scheme
* Add textobject queries for Scala
* Add textobject queries for Protobuf
* Update tree-sitter-wren
* Add spago.yaml as an LSP root for PureScript
* Improve highlight and indent queries for Bash, Make and CSS
* Update tree-sitter-scala
* Recognize .bash_history as Bash
* Recognize Helix ignore files as ignore
* Inject SQL into Scala SQL strings
* Update gdscript textobjects
* Update Go queries
* Update tree-sitter-nushell
* Update tree-sitter-unison, add indent queries
* Update tree-sitter-slint
* Update tree-sitter-swift
* Add fish_indent as formatter for fish
* Recognize zon as Zig
* Add a formatter for Odin
* Update tree-sitter-erlang
* Capture Rust fields as argument textobjects
* Improve Dart textobjects
* Recognize tmux.conf as a bash file-type
* Add textobjects queries for Nix
* Add textobjects queries for HCL
* Recognize osm and osc extensions as XML
* Update tree-sitter-sql
* Recognize pde Processing files as Java
* Update tree-sitter-lua
* Switch tree-sitter-nim parsers
* Recognize GTK builder ui files as XML
* Add configuration for markdown-oxide language server
* Add a shebang for elvish
* Fix precedence of Svelte TypeScript injection
* Recognize common Dockerfile file types
* Recognize NUON files as Nu
* Add textobjects for Java native functions and constructors
* Fix "braket" typeo in JSX highlights
* Update tree-sitter-hurl
* Add textobjects queries for Vala
* Update tree-sitter-git-config
* Recognize 'mmd' as Mermaid
* Highlight Rust extern crate aliases
* Improve parameter highlighting in C++
* Recognize 'rclone.conf' as INI
* Add injections for GraphQL and ERB in Ruby heredocs
* Add main.odin to Odin LSP roots
OBS-URL: https://build.opensuse.org/request/show/1163703
OBS-URL: https://build.opensuse.org/package/show/editors/helix?expand=0&rev=85
- Update to version 23.10:
Breaking changes:
- Support multiple language servers per language
- This is a breaking change to language configuration
Features:
- Support multiple language servers per language
- Add a statusline element for the selected register
- Add `%`, `#`, `.`, `*` and `+` special registers
- Add initial support for LSP DidChangeWatchedFiles notifications
- Search buffer contents in `global_search`
- Add a "smart tab" command that intelligently jumps the cursor on tab
- Add a statusline element for whether a file is read-only
- Syntax highlight regex prompts
- Allow defining alignment in indent queries
- Show visual feedback in `surround_replace`
- Switch to Nucleo for fuzzy matching
- Insert a trailing newline on write
- Add a `-w`/`--working-dir` CLI flag for specifying a working directory on startup
- Accept a `+N` CLI argument to set the first file's line number
- Accept Helix-specific ignore files in `.helix/ignore` and `~/.config/helix/ignore`
Commands:
- `merge_selections` (`A-minus`) - merge all selections into one selection that covers all ranges
- `move_prev_long_word_end` and `extend_prev_long_word_end` - move/extend to the end of the previous WORD
- `reverse_selection_contents` - swaps the values of each selection so they are reversed
- Add `:rl` and `:rla` aliases for `:reload` and `:reload-all`
- `yank_joined` - join the selections and yank to the selected register
- `:write-all!` (`:wa!`) - forcibly write all buffers to disk and create any necessary subdirectories
- `:redraw` - clear re-render the UI
- `:tree-sitter-highlight-name` - show the theme scope name of the highlight under the cursor
OBS-URL: https://build.opensuse.org/package/show/editors/helix?expand=0&rev=81
* This fixes issues when building helix with Rust >1.71. In the future,
This will be removed once a fix lands on the `ropey` crate which was the
cause of the issue.
- Reenable usage of cargo-packaging macros
- Remove explicit dependency declaration of cargo1.66 to use latest Rust.
OBS-URL: https://build.opensuse.org/package/show/editors/helix?expand=0&rev=80
- Add back env var `HELIX_DISABLE_AUTO_GRAMMAR_BUILD`.
- Add manual compilation of grammars in relation to the env var `HELIX_DISABLE_AUTO_GRAMMAR_BUILD`
- Update to version 23.05:
* Features:
- Add a config option to exclude declaration from LSP references request
- Enable injecting languages based on their file extension and shebang
- Sort the buffer picker by most recent access
- Perform syntax highlighting in the picker asynchronously
* Commands:
- :update is now aliased as :u
- Add extend_to_first_nonwhitespace which acts the same as goto_first_nonwhitespace but always extends
- Add :clear-register for clearing the given register or all registers
- Add :write-buffer-close and :write-buffer-close!
* Fixes:
- Normalize LSP workspace paths
- Robustly handle invalid LSP ranges
- Fix line number display for LSP goto pickers
- Fix toggling of soft-wrap.enable option (#6656, 58e457a, #6742)
- Handle workspace/configuration requests from stopped language servers
- Fix possible crash from opening the jumplist picker
- Fix theme preview returning to current theme on line and word deletions
- Re-run crate build scripts on changes to revision and grammar repositories
- Fix crash on opening from suspended state
- Fix unwrap bug in DAP
- Always build tree-sitter parsers with C++14 and C11 (#6792, #6834, #6845)
- Exit with a non-zero statuscode when tree-sitter parser builds fail
- Flip symbol range in LSP goto commands
- Fix runtime toggling of the mouse option
- Fix panic in inlay hint computation when view anchor is out of bounds
- Significantly improve performance of git discovery on slow file systems
- Downgrade gix log level to info
- Conserve BOM and properly support saving UTF16 files
- Correctly handle completion re-request
- Fix offset encoding in LSP didChange notifications
- Change gix logging level to info
- Improve error message when writes fail because parent directories do not exist
- Replace DAP variables popup instead of pushing more popups
- Disable tree-sitter for files after parsing for 500ms
- Fix crash when deleting with multiple cursors
- Fix selection sliding when deleting forwards in append mode
- Fix completion on paths containing spaces
* CHANGELOG information is too large. For more info, go to https://github.com/helix-editor/helix/blob/master/CHANGELOG.md#2305-2023-05-18
OBS-URL: https://build.opensuse.org/request/show/1088494
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/helix?expand=0&rev=16
* Features:
- Add a config option to exclude declaration from LSP references request
- Enable injecting languages based on their file extension and shebang
- Sort the buffer picker by most recent access
- Perform syntax highlighting in the picker asynchronously
* Commands:
- :update is now aliased as :u
- Add extend_to_first_nonwhitespace which acts the same as goto_first_nonwhitespace but always extends
- Add :clear-register for clearing the given register or all registers
- Add :write-buffer-close and :write-buffer-close!
* Fixes:
- Normalize LSP workspace paths
- Robustly handle invalid LSP ranges
- Fix line number display for LSP goto pickers
- Fix toggling of soft-wrap.enable option (#6656, 58e457a, #6742)
- Handle workspace/configuration requests from stopped language servers
- Fix possible crash from opening the jumplist picker
- Fix theme preview returning to current theme on line and word deletions
- Re-run crate build scripts on changes to revision and grammar repositories
- Fix crash on opening from suspended state
- Fix unwrap bug in DAP
- Always build tree-sitter parsers with C++14 and C11 (#6792, #6834, #6845)
- Exit with a non-zero statuscode when tree-sitter parser builds fail
- Flip symbol range in LSP goto commands
- Fix runtime toggling of the mouse option
- Fix panic in inlay hint computation when view anchor is out of bounds
- Significantly improve performance of git discovery on slow file systems
- Downgrade gix log level to info
- Conserve BOM and properly support saving UTF16 files
- Correctly handle completion re-request
- Fix offset encoding in LSP didChange notifications
- Change gix logging level to info
- Improve error message when writes fail because parent directories do not exist
- Replace DAP variables popup instead of pushing more popups
- Disable tree-sitter for files after parsing for 500ms
- Fix crash when deleting with multiple cursors
- Fix selection sliding when deleting forwards in append mode
- Fix completion on paths containing spaces
* CHANGELOG information is too large. For more info, go to https://github.com/helix-editor/helix/blob/master/CHANGELOG.md#2305-2023-05-18
OBS-URL: https://build.opensuse.org/package/show/editors/helix?expand=0&rev=66
* Breaking changes:
- Select diagnostic range in goto_*_diag commands
- Remove jump behavior from increment/decrement
- Select change range in goto_*_change commands
- Split file modification indicator from filename statusline elements
- Jump to symbol ranges in LSP goto commands
- Workspace detection now stops at the first .helix/ directory (merging multiple .helix/languages.toml configurations is no longer supported)
* Features:
- Dynamic workspace symbol picker
- Soft-wrap
- Initial support for LSP snippet completions
- Add a statusline element for showing the current version control HEAD
- Display LSP type hints
- Enable the Kitty keyboard protocol on terminals with support
- Add a statusline element for the basename of the current file
- Add substring matching syntax for the picker
- Support LSP textDocument/prepareRename
- Allow multiple runtime directories with priorities
- Allow configuring whether to insert or replace completions
- Allow per-workspace config file .helix/config.toml
- Add workspace-lsp-roots config option to support multiple LSP roots for use with monorepos
* Commands:
- :pipe-to which pipes selections into a shell command and ignores output
- merge_consecutive_selections (A-_) combines all consecutive selections
- rotate_view_reverse which focuses the previous view
- goto_declaration (gD, requires LSP) which jumps to a symbol's declaration
- file_picker_in_current_buffer_directory
- :character-info which shows information about the character under the cursor
- :toggle-option for toggling config options at runtime
OBS-URL: https://build.opensuse.org/package/show/editors/helix?expand=0&rev=55