- Update to version 25.01.1:

Fixes:
  * Fix blank buffer picker preview on doc with no views
  * Fix join_selections behavior on tabs
  * Fix recognition for color LSP completion hex codes for some
    language servers
  * Fix offsets to selections updated by open_below/open_above
    (o/O) in multi-cursor scenarios
  * Fix offsets to selections updated by insert_newline when
    trimming whitespace in multi-cursor scenarios
  * Fix panic in path completion from resolving variables like
    ${HOME:-$HOME}
  * Prevent line comment continuation when using change_selection
    (c) on a line above a comment
  Usability improvements:
  * Run external formatters from the document's directory
  Themes:
  * Update onelight
  * Add cursorline color to iceberg themes
  * Update special, ui.text.directory and ui.virtual.wrap in
    dark_plus
  New languages:
  * CodeQL, Gren
  Updated languages and queries:
  * Fix Teal LSP name
  * Highlight : in Rust as a delimiter
  * Update Swift highlights
  * Highlight JSX attributes as @attribute
  * Improve markdown heading highlights
  * Add comment tokens configuration for JSONC
  * Highlight the never type ! as a type in Rust
  * Expand builtin function highlights for ECMA languages, Rust and
    Haskell
  * Recognize .clang-tidy as YAML
  * Update MATLAB grammar and indent queries
  * Recognize rockspec as Lua
  * Add /// to Dart comment tokens configuration
  * Update Solidity grammar and queries
  * Update Spade grammar and queries
  * Re-enable Hare fetching and building by default
  Packaging:
  * --version now prints a leading zero for single-digit months,
    for example 25.01

OBS-URL: https://build.opensuse.org/package/show/editors/helix?expand=0&rev=89
This commit is contained in:
OBS User smolsheep 2025-02-01 13:25:16 +00:00 committed by Git OBS Bridge
commit a692fdf409
13 changed files with 1632 additions and 0 deletions

23
.gitattributes vendored Normal file
View 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
View File

@ -0,0 +1 @@
.osc

12
README-suse-maint.md Normal file
View 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
View 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
View 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
View 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
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:44d9eb113a54a80a2891ac6374c74bcd2bce63d317f1e1c69c286a6fc919922c
size 142746572

3
helix-25.01.1.tar.xz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:12508c4f5b9ae6342299bd40d281cd9582d3b51487bffe798f3889cb8f931609
size 151110492

3
helix-25.01.tar.xz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:922fba301e1a3d9b933a445ab2d306cffcd689d678ecd06f00870cfc874cffb8
size 150345008

1
helix-rpmlintrc Normal file
View File

@ -0,0 +1 @@
addFilter("files-duplicate")

1398
helix.changes Normal file

File diff suppressed because it is too large Load Diff

164
helix.spec Normal file
View 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.1
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
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:044f769c283dc7e21a0180184661790f06d522c06cff6d9b4be999db2ce2ec8e
size 26745794