- Update to version 25.01:
Features: * Big refactor for Pickers * Use a table layout and allow filtering by column * Reimplement global_search to allow changing the query dynamically * Add an alternative "inline" display for LSP diagnostics * Support defining keybindings as macros * Continue line comments in o/O and on <ret> in insert mode * Allow configuring and switching clipboard providers at runtime * Add support for path completion * Support bindings with the Super (Cmd/Win/Meta) modifier * Support rendering and jumping between tabstops in snippet completions * Allow theming directory completions Commands: * Add commands to move within snake_case or camelCase words * Add search_selection_detect_word_boundaries - This command takes the * key in normal and select mode, replacing search_selection which was moved to A-*. Usability: * Add :edit and :e aliases for :open * Trim trailing newline from pipe command outputs when the input doesn't have a trailing newline * Add :mv alias for :move * Return document display name instead of absolute path from the % special register * Track view position on a per-view instead of per-document basis * Improve scrolloff calculation to leave a gap in the middle * Show a popup for stderr printed by failed :sh commands * Add statusline errors when nothing is selected with s, K, A-K * Add .svn as a workspace root marker * Trim the end of :sh outputs * Show LSP window/showMessage messages in the statusline * Support finding workspace directories via .jj directories * Join single-line comments with join_selections (J) * Show anonymous syntax tree nodes in :tree-sitter-subtree * Save an undo checkpoint before paste in insert mode * Only break on ASCII spaces in :reflow * Add a default-yank-register config option * Show a statusline error for :format when a formatter is not available * Change to the home directory with :cd with no arguments * Change default comment token to # for unrecognized files * Trim all trailing whitespace on insert_newline * Change to the prior directory with :cd - * Allow parsing - (with no modifiers) as a keybinding * Improve opening statusline and error messages when opening duplicate files or directories * Trim trailing colons in paths passed on the argv * Show tree-sitter parser availability in hx --health <lang> * Show a preview block for colors in the LSP completion menu * Add infobox help for surround_add, surround_replace and surround_delete Fixes: * Respect document indentation settings in format_selections (=) * Avoid switching the current document to normal mode during an LSP workspace/applyEdit operation * Fix off-by-one in LSP find_completion_range * Prefer file-system mtime to local system time for detecting external modifications * Fix writing of hardlinks * Prevent language servers from being automatically restarted when stopped with :lsp-stop * Stable-sort LSP text edits * Fix determination of current language layer in documents with nested language injections * Fix a panic from :moveing a file to a new extension which starts a language server * Fix a panic from duplicating the diff gutter * Keep cursor position when exactly replacing text * Fix a panic from jump_backward on a newly opened split * Fix a panic from language servers sending an unknown diagnostic severity * Fix a panic when drawing at the edge of the screen * Fix git repo detection on symlinks * Fix a panic from a language server sending an out-of-range active signature index in textDocument/signatureHelp * Fix a panic from using C-k in a prompt ending in a multi-byte character * Expand tildes in paths passed to :read * Respect per-language workspace-lsp-roots configuration when opening new documents * Consistently replace line-endings in paste/replace commands * Fix formatting in error statusline messages when inspecting variables in DAP * Fix invisible printing of headers in --health output on light terminals * Accept integers serialized as floats in the JSONRPC id field Themes: * Add new themes: adwaita-light, ao, carbonfox, eiffel, seoul256, sunset, vintage, yo * Update themes: bogster, dark_plus, snazzy, everforest, gruvbox, hex, modus, voxed Languages: * Added new languages: jjdescription, i3wm and Sway configs, TypeSpec, jq, Thrift, Gherkin, Circom, Dune, Snakemake, Cylc, textproto, Spade, NestedText, Quint, Amber-lang, Vento, Teal, Koto, NGINX * Add comment injections for Hare * Improve highlights for blade.php files * Update tree-sitter-slint * Recognize just files as Just * Recognize mdx as Markdown * Update Just grammar and queries * Recognize tclsh as TCL * Update Godot grammar and queries * Update Gleam grammar and queries * Add mesonlsp for Meson * Update HTML highlights * Add comment textobjects for Verilog * Switch tree-sitter-just grammar * Update tree-sitter-fsharp * Add nixd for Nix * Highlight types and enum members from the Rust prelude * Improve textobjects for HCL, Nix * Add textobjects queries for docker-compose, dockerfile, env, git-config, hcl, hocon, prisma, SQL and YAML * Recognize cshtml files as HTML * Set a memory limit for the Lean language server * Add configurations for jedi and ruff language servers * Update Vue highlights * Switch tree-sitter-hcl grammar * Fix odinfmt formatter configuration * Recognize rbs files as Ruby * Update tree-sitter-nickel * Recognize ldtk and ldtkl files as JSON * Fix highlights for builtin functions in Fish * Add superhtml for HTML * Add a configuration for the Vale language server * Add Erlang Language Platform * Update Odin highlights * Remove auto-pairs for single quotes in SML * Add glsl_analyzer for GLSL * Recognize .prettierrc as YAML * Fix swift-format formatter configuration * Add package.json and tsconfig.json as JS/TS workspace roots * Add "INVARIANT" to comment error highlights * Update Rescript grammar and queries * Update tree-sitter-nasm * Update LLVM grammars * Update Perl and Pod grammars * Add Nim injections in Nix * Recognize livemd as Markdown * Update Unison grammar and queries * Turn off Swift auto-format by default * Recognize .swift-format as JSON * Recognize .clangd and .clang-format as YAML * Recognize ssh_config.d/*.conf as sshclientconfig * Update comment token configs for Zig * Update tree-sitter-bicep * Add hyperls for Hyperlang * Add highlight queries for Solidity * Recognize WORKSPACE.bzlmod as Starlark * Update Ada grammar and queries * Restrict Hocon file-types glob patterns * Update Mojo language server to Magic * Switch tree-sitter-v grammar * Add "COMPLIANCE" to comment error highlights * Add a language server configuration for ltex-ls-plus * Update tree-sitter-dockerfile * Add ] to PHP outdents * Add textobjects for Odin * Update tree-sitter-heex and queries * Update protobuf highlights * Switch tree-sitter-query * Add block comment configurations for jinja and nunjucks * Add uv shebang for python * Update tree-sitter-vento * Switch Protobuf tree-sitter grammar * Recognize hypr/*.conf as Hyprland OBS-URL: https://build.opensuse.org/package/show/editors/helix?expand=0&rev=88
This commit is contained in:
commit
2241d8134a
23
.gitattributes
vendored
Normal file
23
.gitattributes
vendored
Normal file
@ -0,0 +1,23 @@
|
||||
## Default LFS
|
||||
*.7z filter=lfs diff=lfs merge=lfs -text
|
||||
*.bsp filter=lfs diff=lfs merge=lfs -text
|
||||
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
||||
*.gem filter=lfs diff=lfs merge=lfs -text
|
||||
*.gz filter=lfs diff=lfs merge=lfs -text
|
||||
*.jar filter=lfs diff=lfs merge=lfs -text
|
||||
*.lz filter=lfs diff=lfs merge=lfs -text
|
||||
*.lzma filter=lfs diff=lfs merge=lfs -text
|
||||
*.obscpio filter=lfs diff=lfs merge=lfs -text
|
||||
*.oxt filter=lfs diff=lfs merge=lfs -text
|
||||
*.pdf filter=lfs diff=lfs merge=lfs -text
|
||||
*.png filter=lfs diff=lfs merge=lfs -text
|
||||
*.rpm filter=lfs diff=lfs merge=lfs -text
|
||||
*.tbz filter=lfs diff=lfs merge=lfs -text
|
||||
*.tbz2 filter=lfs diff=lfs merge=lfs -text
|
||||
*.tgz filter=lfs diff=lfs merge=lfs -text
|
||||
*.ttf filter=lfs diff=lfs merge=lfs -text
|
||||
*.txz filter=lfs diff=lfs merge=lfs -text
|
||||
*.whl filter=lfs diff=lfs merge=lfs -text
|
||||
*.xz filter=lfs diff=lfs merge=lfs -text
|
||||
*.zip filter=lfs diff=lfs merge=lfs -text
|
||||
*.zst filter=lfs diff=lfs merge=lfs -text
|
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
||||
.osc
|
12
README-suse-maint.md
Normal file
12
README-suse-maint.md
Normal file
@ -0,0 +1,12 @@
|
||||
From upstream releases, choose the file with `helix-<version>-source.tar.xz`.
|
||||
And run `rpmdev-spectool -g helix.spec`. Create a directory named `helix` where
|
||||
you should extract the contents of the downloaded tarball. Thereafter, run
|
||||
`osc service disabledrun`. This will run cargo vendor and compress them inside
|
||||
a tarball. You can check if you want to disable the cargo update mechanism.
|
||||
|
||||
Please do remember to create separate packages for the runtime and the helix
|
||||
binary as the former is huge when built. Helix still runs fine without
|
||||
the runtime but for it to run "normally" a user just needs to run
|
||||
`helix --grammar fetch` then `helix --grammar build`. The purpose of the
|
||||
runtime files as a package is to maintain consistency and convenience
|
||||
and stay faithful with how other packagers do it and when someone needs it.
|
11
_constraints
Normal file
11
_constraints
Normal file
@ -0,0 +1,11 @@
|
||||
<?xml version="1.0"?>
|
||||
<constraints>
|
||||
<hardware>
|
||||
<physicalmemory>
|
||||
<size unit="G">8</size>
|
||||
</physicalmemory>
|
||||
<disk>
|
||||
<size unit="G">16</size>
|
||||
</disk>
|
||||
</hardware>
|
||||
</constraints>
|
7
_service
Normal file
7
_service
Normal file
@ -0,0 +1,7 @@
|
||||
<services>
|
||||
<service name="download_files" mode="manual" />
|
||||
<service name="cargo_vendor" mode="manual">
|
||||
<param name="src">helix-*.tar.xz</param>
|
||||
</service>
|
||||
</services>
|
||||
|
3
helix-24.03.tar.xz
Normal file
3
helix-24.03.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:c59a5988f066c2ab90132e03a0e6b35b3dd89f48d3d78bf0ec81bd7d88c7677e
|
||||
size 133067920
|
3
helix-24.07.tar.xz
Normal file
3
helix-24.07.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:44d9eb113a54a80a2891ac6374c74bcd2bce63d317f1e1c69c286a6fc919922c
|
||||
size 142746572
|
3
helix-25.01.tar.xz
Normal file
3
helix-25.01.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:922fba301e1a3d9b933a445ab2d306cffcd689d678ecd06f00870cfc874cffb8
|
||||
size 150345008
|
1
helix-rpmlintrc
Normal file
1
helix-rpmlintrc
Normal file
@ -0,0 +1 @@
|
||||
addFilter("files-duplicate")
|
1351
helix.changes
Normal file
1351
helix.changes
Normal file
File diff suppressed because it is too large
Load Diff
164
helix.spec
Normal file
164
helix.spec
Normal file
@ -0,0 +1,164 @@
|
||||
#
|
||||
# spec file for package helix
|
||||
#
|
||||
# Copyright (c) 2024 SUSE LLC
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
# upon. The license for this file, and modifications and additions to the
|
||||
# file, is the same license as for the pristine package itself (unless the
|
||||
# license for the pristine package is not an Open Source License, in which
|
||||
# case the license is the MIT License). An "Open Source License" is a
|
||||
# license that conforms to the Open Source Definition (Version 1.9)
|
||||
# published by the Open Source Initiative.
|
||||
|
||||
# Please submit bugfixes or comments via https://bugs.opensuse.org/
|
||||
#
|
||||
|
||||
|
||||
%global _helix_runtimedir %{_libdir}/%{name}/runtime
|
||||
Name: helix
|
||||
Version: 25.01
|
||||
Release: 0
|
||||
Summary: A post-modern modal text editor written in Rust
|
||||
License: (Apache-2.0 OR MIT) AND BSD-3-Clause AND (Apache-2.0 OR BSL-1.0) AND (Apache-2.0 OR MIT) AND (Apache-2.0 OR MIT OR Zlib) AND (MIT OR Unlicense) AND (Apache-2.0 OR Zlib OR MIT) AND Apache-2.0 AND BSL-1.0 AND ISC AND MIT AND MPL-2.0 AND Zlib AND MPL-2.0
|
||||
URL: https://github.com/helix-editor/helix
|
||||
# This tarball includes fetched grammars
|
||||
Source0: %{url}/releases/download/%{version}/%{name}-%{version}-source.tar.xz#/%{name}-%{version}.tar.xz
|
||||
Source1: vendor.tar.zst
|
||||
BuildRequires: bash-completion
|
||||
BuildRequires: c++_compiler
|
||||
BuildRequires: c_compiler
|
||||
BuildRequires: cargo >= 1.74.0
|
||||
BuildRequires: cargo-packaging
|
||||
BuildRequires: fdupes
|
||||
BuildRequires: fish
|
||||
BuildRequires: git-core
|
||||
BuildRequires: hicolor-icon-theme
|
||||
BuildRequires: update-desktop-files
|
||||
BuildRequires: zsh
|
||||
Recommends: %{name}-runtime = %{version}
|
||||
ExclusiveArch: %{rust_arches}
|
||||
|
||||
%description
|
||||
A kakoune/neovim inspired modal text editor with built-in LSP and
|
||||
has treesitter support for syntax highlighting and improved navigation
|
||||
|
||||
%package bash-completion
|
||||
Summary: Bash Completion for %{name}
|
||||
Supplements: (%{name} and bash-completion)
|
||||
Requires: %{name} = %{version}
|
||||
BuildArch: noarch
|
||||
|
||||
%description bash-completion
|
||||
Bash command-line completion support for %{name}.
|
||||
|
||||
%package fish-completion
|
||||
Summary: Fish Completion for %{name}
|
||||
Supplements: (%{name} and fish)
|
||||
Requires: %{name} = %{version}
|
||||
BuildArch: noarch
|
||||
|
||||
%description fish-completion
|
||||
Fish command-line completion support for %{name}.
|
||||
|
||||
%package zsh-completion
|
||||
Summary: Zsh Completion for %{name}
|
||||
Supplements: (%{name} and zsh)
|
||||
Requires: %{name} = %{version}
|
||||
BuildArch: noarch
|
||||
|
||||
%description zsh-completion
|
||||
Zsh command-line completion support for %{name}.
|
||||
|
||||
%package runtime
|
||||
Summary: Runtime files for %{name}
|
||||
Requires: %{name}
|
||||
|
||||
%description runtime
|
||||
Helix runtime files. Separated due to how huge the runtime files are.
|
||||
The runtime contains tree-sitter and grammars that makes run helix normally
|
||||
if there is no runtime present in the users config directory specifically
|
||||
`XDG_CONFIG_HOME/helix`.
|
||||
|
||||
%prep
|
||||
%autosetup -a1 -c
|
||||
|
||||
# Remove shell definitions
|
||||
sed -e '/^\#\!\/usr\/bin\/env .*/d' -i contrib/completion/hx.*
|
||||
|
||||
%build
|
||||
#be explicit where the default runtime lives
|
||||
export HELIX_DEFAULT_RUNTIME=%{_libdir}/%{name}/runtime
|
||||
%{cargo_build}
|
||||
cargo run --release --offline -- --grammar build
|
||||
|
||||
%install
|
||||
install -d -m 0755 %{buildroot}%{_helix_runtimedir}
|
||||
|
||||
install -Dm0755 ./target/release/hx %{buildroot}%{_bindir}/hx
|
||||
ln -sfv "%{_bindir}/hx" "%{buildroot}%{_bindir}/%{name}"
|
||||
|
||||
cp -av "runtime/queries" %{buildroot}%{_helix_runtimedir}
|
||||
cp -av "runtime/themes" %{buildroot}%{_helix_runtimedir}
|
||||
find "%{_builddir}/%{name}-%{version}/runtime/grammars" -type f -name '*.so' -exec \
|
||||
install --verbose -Dm 755 {} -t "%{buildroot}%{_helix_runtimedir}/grammars" \;
|
||||
install -Dm644 runtime/tutor -t %{buildroot}%{_helix_runtimedir}
|
||||
|
||||
# Not needed during runtime
|
||||
rm -rfv %{buildroot}%{_helix_runtimedir}/grammars/sources
|
||||
|
||||
# Desktop application file
|
||||
install -Dm644 -T %{_builddir}/%{name}-%{version}/contrib/Helix.desktop %{buildroot}%{_datadir}/applications/%{name}.desktop
|
||||
%suse_update_desktop_file %{name}
|
||||
install -Dm644 -T %{_builddir}/%{name}-%{version}/contrib/Helix.appdata.xml %{buildroot}%{_datadir}/metainfo/%{name}.appdata.xml
|
||||
|
||||
# Icon
|
||||
install -Dm644 -T %{_builddir}/%{name}-%{version}/logo.svg %{buildroot}%{_datadir}/icons/hicolor/scalable/apps/%{name}.svg
|
||||
|
||||
# Shell completions
|
||||
install -Dm644 -T %{_builddir}/%{name}-%{version}/contrib/completion/hx.bash %{buildroot}%{_datadir}/bash-completion/completions/hx
|
||||
install -Dm644 -T %{_builddir}/%{name}-%{version}/contrib/completion/hx.fish %{buildroot}%{_datadir}/fish/vendor_completions.d/hx.fish
|
||||
install -Dm644 -T %{_builddir}/%{name}-%{version}/contrib/completion/hx.zsh %{buildroot}%{_datadir}/zsh/site-functions/_hx
|
||||
|
||||
%fdupes %{buildroot}
|
||||
|
||||
%files
|
||||
%license LICENSE
|
||||
%doc README.md CHANGELOG.md languages.toml docs/CONTRIBUTING.md docs/architecture.md docs/vision.md
|
||||
%{_bindir}/hx
|
||||
%{_bindir}/%{name}
|
||||
|
||||
# Desktop application file
|
||||
%{_datadir}/icons/hicolor/scalable/apps/%{name}.svg
|
||||
%{_datadir}/applications/%{name}.desktop
|
||||
%{_datadir}/metainfo/%{name}.appdata.xml
|
||||
|
||||
%dir %{_libdir}/%{name}
|
||||
|
||||
# Tutor
|
||||
%dir %{_helix_runtimedir}
|
||||
%{_helix_runtimedir}/tutor
|
||||
|
||||
%files runtime
|
||||
# Runtimes and runtime files
|
||||
# Grammars
|
||||
%dir %{_helix_runtimedir}/grammars
|
||||
%{_helix_runtimedir}/grammars/*
|
||||
# Queries
|
||||
%dir %{_helix_runtimedir}/queries
|
||||
%{_helix_runtimedir}/queries/*
|
||||
# Themes
|
||||
%dir %{_helix_runtimedir}/themes
|
||||
%{_helix_runtimedir}/themes/*
|
||||
|
||||
%files bash-completion
|
||||
%{_datadir}/bash-completion/completions/hx
|
||||
|
||||
%files fish-completion
|
||||
%{_datadir}/fish/vendor_completions.d/hx.fish
|
||||
|
||||
%files zsh-completion
|
||||
%{_datadir}/zsh/site-functions/_hx
|
||||
|
||||
%changelog
|
3
vendor.tar.zst
Normal file
3
vendor.tar.zst
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:a186a4cfd8b7587c407c32eea3d163d09ee8bd631a1638b98adcfd0f6d9241d3
|
||||
size 26588832
|
Loading…
Reference in New Issue
Block a user