Accepting request 1120897 from editors

- Remove patch 0001-fix-ub-in-diff-gutter.patch
- Update to version 23.10
- Build requires git

OBS-URL: https://build.opensuse.org/request/show/1120897
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/helix?expand=0&rev=19
This commit is contained in:
Ana Guerrero 2023-10-29 18:41:30 +00:00 committed by Git OBS Bridge
commit 6bb21a6363
9 changed files with 263 additions and 84 deletions

View File

@ -1,68 +0,0 @@
From 269f637847140ddb9537efde4968bd92c91c9e1e Mon Sep 17 00:00:00 2001
From: Pascal Kuthe <pascal.kuthe@semimod.de>
Date: Sun, 4 Jun 2023 16:59:01 +0200
Subject: [PATCH] fix UB in diff gutter
---
helix-vcs/src/diff/line_cache.rs | 18 +++++++++---------
1 file changed, 9 insertions(+), 9 deletions(-)
diff --git a/helix-vcs/src/diff/line_cache.rs b/helix-vcs/src/diff/line_cache.rs
index 8e48250f157e..460a2065e8ed 100644
--- a/helix-vcs/src/diff/line_cache.rs
+++ b/helix-vcs/src/diff/line_cache.rs
@@ -20,8 +20,8 @@ use super::{MAX_DIFF_BYTES, MAX_DIFF_LINES};
/// A cache that stores the `lines` of a rope as a vector.
/// It allows safely reusing the allocation of the vec when updating the rope
pub(crate) struct InternedRopeLines {
- diff_base: Rope,
- doc: Rope,
+ diff_base: Box<Rope>,
+ doc: Box<Rope>,
num_tokens_diff_base: u32,
interned: InternedInput<RopeSlice<'static>>,
}
@@ -34,8 +34,8 @@ impl InternedRopeLines {
after: Vec::with_capacity(doc.len_lines()),
interner: Interner::new(diff_base.len_lines() + doc.len_lines()),
},
- diff_base,
- doc,
+ diff_base: Box::new(diff_base),
+ doc: Box::new(doc),
// will be populated by update_diff_base_impl
num_tokens_diff_base: 0,
};
@@ -44,19 +44,19 @@ impl InternedRopeLines {
}
pub fn doc(&self) -> Rope {
- self.doc.clone()
+ Rope::clone(&*self.doc)
}
pub fn diff_base(&self) -> Rope {
- self.diff_base.clone()
+ Rope::clone(&*self.diff_base)
}
/// Updates the `diff_base` and optionally the document if `doc` is not None
pub fn update_diff_base(&mut self, diff_base: Rope, doc: Option<Rope>) {
self.interned.clear();
- self.diff_base = diff_base;
+ self.diff_base = Box::new(diff_base);
if let Some(doc) = doc {
- self.doc = doc
+ self.doc = Box::new(doc)
}
if !self.is_too_large() {
self.update_diff_base_impl();
@@ -74,7 +74,7 @@ impl InternedRopeLines {
.interner
.erase_tokens_after(self.num_tokens_diff_base.into());
- self.doc = doc;
+ self.doc = Box::new(doc);
if self.is_too_large() {
self.interned.after.clear();
} else {

View File

@ -1,10 +1,8 @@
<services>
<service name="download_files" mode="disabled" />
<service name="cargo_vendor" mode="disabled">
<param name="srctar">helix-23.05.tar.xz</param>
<param name="compression">xz</param>
<param name="update">true</param>
<service name="download_files" mode="manual" />
<service name="cargo_vendor" mode="manual">
<param name="src">helix-*.tar.xz</param>
</service>
<service name="cargo_audit" mode="disabled" />
<service name="cargo_audit" mode="manual" />
</services>

View File

@ -2,4 +2,4 @@
replace-with = "vendored-sources"
[source.vendored-sources]
directory = "vendor"
directory = "vendor"

View File

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

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

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:4e7bcac200b1a15bc9f196bdfd161e4e448dc670359349ae14c18ccc512153e8
size 106234736

View File

@ -1,3 +1,252 @@
-------------------------------------------------------------------
Sat Oct 28 10:22:15 UTC 2023 - Soc Virnyl Estela <uncomfy+openbuildservice@uncomfyhalomacro.pl>
- Build requires git. It won't be used but it will fail if git binary is not detected.
-------------------------------------------------------------------
Sat Oct 28 09:44:51 UTC 2023 - Soc Virnyl Estela <uncomfy+openbuildservice@uncomfyhalomacro.pl>
- Remove patch 0001-fix-ub-in-diff-gutter.patch
- 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
Usability improvements:
- Allow cycling option values at runtime
- Exit gracefully on termination signals
- Add plaintext matching fallback to tree-sitter pair matching
- Persist register selection in pending keymaps
- Propagate the count and register to command palette commands
- Auto indent on `insert_at_line_start`
- Add a config option to control whether LSP completions are automatically inserted on preview
- Add a config option for default line endings
- Allow ANSI colors in themes
- Match pairs that don't form a standalone tree-sitter node
- Allow indent sizes of up to 16 columns
- Improve performance of mapping positions through changes
- Mark buffers created from stdin as modified
- Forcibly shut down uninitialized language servers
- Add filename completer for shell prompts
- Allow binding F13-F24
- Resolve LSP code actions
- Save an undo checkpoint before accepting completions
- Include gitignored files in debugger completions
- Make editor remember the last search register
- Open directories with `goto_file`
- Use relative path to open buffer in `goto_file` (`gf`)
- Support `default` color in themes
- Toggle between relative and absolute line numbers when the terminal loses focus
- Lower default idle-timeout to 250ms
- Allow theming diff gutters separately from other diff colors
- Style bold/italic/strikethrough in markdown doc popups
- Maintain the cursor position and view when splitting with `:hsplit`/`:vsplit`
- Accept `-` in macros outside of `<`/`>`
- Show all language servers for each language in `--health`
- Don't break on hyphens in `:reflow`
Fixes:
- Update diagnostics correctly on language server exit
- Fix off-by-one in `select_references_to_symbol_under_cursor`
- Extend selection with repeat-last-motion only if the original motion extended the selection
- Fix undefined behavior in the diff gutter
- Check that tab width is non-zero
- Fix styles being overwritten in table rows with multiple cells
- Add file for `--log` CLI arg in help text
- Fix underflow when repeating a completion that has a negative shift position
- Prefer longer matches in `select_next_sibling` and `select_prev_sibling`
- Preview scratch buffers in the jumplist picker
- Fix chunking by bytes in tree-sitter parsing
- Discard LSP publishDiagnostic from uninitialized servers
- Use negotiated position encoding for LSP workspace edits
- Fix error message for unknown gutter types in config
- Fix `:log-open` when `--log` CLI arg is specified
- Fix debouncing of LSP messages to fix the last message sticking around
- Fix crash when the current working directory is deleted
- Fix piping to Helix on macOS
- Fix crash when parsing overlapping injections
- Clear the statusline when the prompt is visible
- Fix range formatting error message typo
- Skip rendering gutters when gutter width exceeds view width
- Center the picker preview using visual lines
- Align view correctly for background buffers opened with `A-ret`
- Fix cursor resetting to block when quitting via a keybind
- Remove path completions for the `:new` command
- Use binary path resolved by `which` for formatter commands
- Handle crossterm's `hidden` modifier
- Clear completion when switching between windows with the mouse
- Eagerly remove the last picker (`<space>'`) when the picker has many items
- Fix find commands for buffers with non-LF line-endings
- Detect the tmux clipboard provider on macOS
- Fix syntax highlighting in dynamic picker preview pane
- Recognize HTML code tags with attributes as code in markdown previews
- Fix multicursor snippet placeholder directions
- Only show diagnostic highlights when diagnostics are enabled for a language server
Themes:
- Improve the selection color in `ferra`
- Add `variable.other.member` theming to `spacebones_light`
- Update `autumn` and theme the soft-wrap indicator
- Add `gruvbox_dark_soft`
- Add `merionette`
- Add `zed_onedark` and `zed_onelight`
- Use light-gray for `onedarker` inlay hint theming
- Update the Nord theme to follow the style guidelines
- Tune `dark_plus` inlay hint colors
- Add `naysayer`
- Add `kaolin-dark`, `kaolin-light` and `kaolin-valley-dark`
- Fix selection highlighting in gruvbox variants
- Add soft-wrap indicator to `gruvbox`
- Add missing palette definitions in `everforest_dark`
- Increase diagnostics clarity in `pop-dark`
- Add `vim_dark_high_contrast`
- Add `new_moon`
- Add `yellowed`
- Improve comment readability for `autumn`
- Distinguish active bufferline buffer in `monokai`
- Update ruler colors in `nord`
- Update Catppuccin themes
- Add text focus scope and diagnostics undercurls for `nord`
- Add material theme collection
- Improve indent line color in `dracula`
- Clean up and refactor `papercolor` to use inheritance
- Fix `zenburn` inlay hint color ([#8278](https://github.com/helix-editor/helix/pull/8278)a)
- Fix picker crash when previewing an invalid range
- Correctly center items in the picker preview
- Add `cyan_light`
- Theme HTML tags in `onedark`
- Refine `darcula` and `darcula-solid` themes
- Improve `nord` highlights
- Add `nord-night`
New languages:
- Blueprint
- Forth
- t32
- WebC
- Persistent DSL for Haskell
- F#
- Wren
- Unison
- Todo.txt
- Jinja and Handlebars
- Pod
- Strace
- Gemini
- GNU Assembler (GAS)
- JSON5
- TEMPL
Updated languages and queries:
- Add one to the ruler numbers for git-commit
- Recognize XAML files as XML
- Recognize `Cargo.lock` as TOML
- Use Rust grammar for Cairo
- Update tree-sitter-nickel
- Tune auto-pair characters for Nickel
- Recognize `Vagrantfile` as Ruby
- Recognize hidden justfiles as Just
- Update Java and TypeScript highlight queries
- Recognize `.zimrc` as Bash
- Recognize `.gir` as XML
- Update tree-sitter-scala
- Recognize make file-type as Makefile
- Update tree-sitter-verilog
- Update tree-sitter-cpp
- Support core mode for delve debugger
- Add Fortran comment injections
- Switch Vue language server to `vue-language-server`
- Update tree-sitter-sql
- Replace the MATLAB tre-sitter grammar
- Highlight TOML table headers
- Recognize `cppm` file-type as C++
- Refactor ecma language queries into private and public queries
- Update tree-sitter-dart
- Add shebang for nushell files
- Recognize systemd files as INI
- Update TypeScript, TSX and Svelte grammars
- Enable inlay hints in the Svelte language server
- Recognize `Brewfile`s as Ruby
- Add more file-types for R
- Switch tree-sitter-perl to official upstream parser
- Fix predicate typo in comment highlights
- Update tree-sitter-prql
- Recognize `.gitf` as JSON
- Switch V language server to `v-analyzer`
- Add protobuf language servers
- Update tree-sitter-zig
- Update tree-sitter-hare
- Add Java indent queries
- Update tree-sitter-scheme
- Recognize `scm` as Scheme instead of TSQ
- Update tree-sitter-git-commit
- Update JavaScript, TypeScript and TSX grammars
- Update tree-sitter-nu
- Fix YAML indentation
- Add `csharp-ls`, Pyright, Pylyzer and add roots for Python
- Update tree-sitter-slint
- Recognize more ZSH file-types as Bash
- Recognize `star` extension as Starlark
- Fix inline HTML tag highlighting in markdown
- Update tree-sitter-robot
- Highlight Dart 3 `sealed` and `base` keywords
- Add configuration for `ltex-ls` to the default `languages.toml`
- Update tree-sitter-strace
- Update tree-sitter-gleam, enable auto-format
- Update tree-sitter-esdl
- Expand ignore file-types
- Recognize feed related formats as XML
- Improve YAML injections
- Add shebangs for TypeScript, Julia, Java and OCaml
- Highlight abbreviations in Scheme
- Remove backtic auto-pair in OCaml
- Recognize `flake.lock` as JSON
- Add Python test script injection for Nix
- Fix Nix comment injection precedence
- Recognize editorconfig files as INI
- Recognize `.babelrc` as JSON
- Switch Purescript to its own tree-sitter parser
- Update Unison highlights
- Recognize `.webmanifest` as JSON
- Recognize polkit policy files as XML
- Recognize polkit rules files as JavaScript
- Update Go highlight queries
- Add shebangs for Makefiles
- Add file-type associations from VSCode
- Add validation to JSON/CSS language server configs
- Add a configuration for the tailwind language server
- Add a configuration for the ansible language server
- Add a configuration for the GraphQL language server
- Indent while statements in Bash
- Update tree-sitter-haskell and queries
-------------------------------------------------------------------
Thu Aug 31 23:40:52 UTC 2023 - Soc Virnyl Estela <socvirnyl.estela@gmail.com>

View File

@ -23,23 +23,23 @@
%global _helix_runtimedir %{_libdir}/%{name}/runtime
Name: helix
Version: 23.05
Version: 23.10
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 (MIT OR Apache-2.0 OR Zlib) AND (MIT or Unlicense) AND (Zlib OR Apache-2.0 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: https://github.com/helix-editor/helix/releases/download/%{version}/%{name}-%{version}-source.tar.xz#/%{name}-%{version}.tar.xz
Source1: vendor.tar.xz
Source1: vendor.tar.zst
Source2: cargo_config
Source3: README-suse-maint.md
Source4: helix-rpmlintrc
Patch1: https://github.com/helix-editor/helix/pull/7227.patch#/0001-fix-ub-in-diff-gutter.patch
BuildRequires: c++_compiler
BuildRequires: c_compiler
BuildRequires: cargo-packaging
BuildRequires: hicolor-icon-theme
BuildRequires: update-desktop-files
BuildRequires: git
Recommends: %{name}-runtime = %{version}
ExclusiveArch: %{rust_arches}

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:8fa4d6a3e53b7a5023c254834614d9e12dc030fd9358370386e651856dd3e5f5
size 29266948

3
vendor.tar.zst Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:31d0f32382ef0a60466839d621b8c2ac923f847bf8ad89ee4046a42f1e3b1d42
size 27404020