2022-04-20 13:56:13 +02:00
|
|
|
#
|
|
|
|
# spec file for package helix
|
|
|
|
#
|
2023-02-11 01:22:01 +01:00
|
|
|
# Copyright (c) 2023 SUSE LLC
|
2022-04-20 13:56:13 +02:00
|
|
|
#
|
|
|
|
# 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/
|
|
|
|
#
|
|
|
|
|
2022-05-19 03:49:22 +02:00
|
|
|
|
2022-05-30 16:50:15 +02:00
|
|
|
%global _helix_runtimedir %{_sharedstatedir}/%{name}/runtime
|
2022-04-20 13:56:13 +02:00
|
|
|
|
|
|
|
Name: helix
|
- Update to version 22.12:
* Breaking changes:
- Remove readline-like navigation bindings from the default insert mode keymap (e12690e, #3811, #3827, #3915, #4088)
- Rename append_to_line as insert_at_line_end and prepend_to_line as insert_at_line_start (#3753)
- Swap diagnostic picker and debug mode bindings in the space keymap (#4229)
- Select newly inserted text on paste or from shell commands (#4458, #4608, #4619, #4824)
- Select newly inserted surrounding characters on ms<char> (#4752)
- Exit select-mode after executing replace_* commands (#4554)
- Exit select-mode after executing surround commands (#4858)
- Change tree-sitter text-object keys (#3782)
- Rename fleetish theme to fleet_dark (#4997)
* Features:
- Bufferline (#2759)
- Support underline styles and colors (#4061, 98c121c)
- Inheritance for themes (#3067, #4096)
- Cursorcolumn (#4084)
- Overhauled system for writing files and quiting (#2267, #4397)
- Autosave when terminal loses focus (#3178)
- Use OSC52 as a fallback for the system clipboard (#3220)
- Show git diffs in the gutter (#3890, #5012, #4995)
- Add a logo (dc1ec56)
- Multi-cursor completion (#4496)
* Commands:
- file_picker_in_current_directory (<space>F) (#3701)
- :lsp-restart to restart the current document's language server (#3435, #3972)
- join_selections_space (A-j) which joins selections and selects the joining whitespace (#3549)
- :update to write the current file if it is modified (#4426)
- :lsp-workspace-command for picking LSP commands to execute (#3140)
- extend_prev_word_end - the extend variant for move_prev_word_end (7468fa2)
- make_search_word_bounded which adds regex word boundaries to the current search register value (#4322)
- :reload-all - :reload for all open buffers (#4663, #4901)
- goto_next_change (]g), goto_prev_change ([g), goto_first_change ([G), goto_last_change (]G) textobjects for jumping between VCS changes (#4650)
* Usability improvements and fixes:
- Don't log 'LSP not defined' errors in the logfile (1caba2d)
- Look for the external formatter program before invoking it (#3670)
- Don't send LSP didOpen events for documents without URLs (44b4479)
- Fix off-by-one in extend_line_above command (#3689)
- Use the original scroll offset when opening a split (1acdfaa)
- Handle auto-formatting failures and save the file anyway (#3684)
- Ensure the cursor is in view after :reflow (#3733)
- Add default rulers and reflow config for git commit messages (#3738)
- Improve grammar fetching and building output (#3773)
- Add a text language to language completion (cc47d3f)
- Improve error handling for :set-language (e8add6f)
- Improve error handling for :config-reload (#3668)
- Improve error handling when passing improper ranges to syntax highlighting (#3826)
- Render <code> tags as raw markup in markdown (#3425)
- Remove border around the LSP code-actions popup (#3444)
- Canonicalize the path to the runtime directory (#3794)
- Add a themelint xtask for linting themes (#3234)
- Re-sort LSP diagnostics after applying transactions (#3895, #4319)
- Add a command-line flag to specify the log file (#3807)
- Track source and tag information in LSP diagnostics (#3898, 1df32c9)
- Fix theme returning to normal when exiting the :theme completion (#3644)
- Improve error messages for invalid commands in the keymap (#3931)
- Deduplicate regexs in search_selection command (#3941)
- Split the finding of LSP root and config roots (#3929)
- Ensure that the cursor is within view after auto-formatting (#4047)
- Add pseudo-pending to commands with on-next-key callbacks (#4062, #4077)
- Add live preview to :goto (#2982)
- Show regex compilation failure in a popup (#3049)
- Add 'cycled to end' and 'no more matches' for search (#3176, #4101)
- Add extending behavior to tree-sitter textobjects (#3266)
- Add ui.gutter.selected option for themes (#3303)
- Make statusline mode names configurable (#3311)
- Add a statusline element for total line count (#3960)
- Add extending behavior to goto_window_* commands (#3985)
- Fix a panic in signature help when the preview is too large (#4030)
- Add command names to the command palette (#4071, #4223, #4495)
- Find the LSP workspace root from the current document's path (#3553)
- Add an option to skip indent-guide levels (#3819, 2c36e33)
- Change focus to modified docs on quit (#3872)
- Respond to USR1 signal by reloading config (#3952)
- Exit gracefully when the close operation fails (#4081)
- Fix goto/view center mismatch (#4135)
- Highlight the current file picker document on idle-timeout (#3172, a85e386)
- Apply transactions to jumplist selections (#4186, #4227, #4733, #4865, #4912, #4965, #4981)
- Use space as a separator for fuzzy matcher (#3969)
- Overlay all diagnostics with highest severity on top (#4113)
- Avoid re-parsing unmodified tree-sitter injections (#4146)
- Add extending captures for indentation, re-enable python indentation (#3382, 3e84434)
- Only allow either --vsplit or --hsplit CLI flags at once (#4202)
- Fix append cursor location when selection anchor is at the end of the document (#4147)
- Improve selection yanking message (#4275)
- Log failures to load tree-sitter grammars as errors (#4315)
- Fix rendering of lines longer than 65,536 columns (#4172)
- Skip searching .git in global_search (#4334)
- Display tree-sitter scopes in a popup (#4337)
- Fix deleting a word from the end of the buffer (#4328)
- Pretty print the syntax tree in :tree-sitter-subtree (#4295, #4606)
- Allow specifying suffixes for file-type detection (#2455, #4414)
- Fix multi-byte auto-pairs (#4024)
- Improve sort scoring for LSP code-actions and completions (#4134)
- Fix the handling of quotes within shellwords (#4098)
- Fix delete_word_backward and delete_word_forward on newlines (#4392)
- Fix 'no entry found for key' crash on :write-all (#4384)
- Remove lowercase requirement for tree-sitter grammars (#4346)
- Resolve LSP completion items on idle-timeout (#4406, #4797)
- Render diagnostics in the file picker preview (#4324)
- Fix terminal freezing on shell_insert_output (#4156)
- Allow use of the count in the repeat operator (.) (#4450)
- Show the current theme name on :theme with no arguments (#3740)
- Fix rendering in very large terminals (#4318)
- Sort LSP preselected items to the top of the completion menu (#4480)
- Trim braces and quotes from paths in goto-file (#4370)
- Prevent automatic signature help outside of insert mode (#4456)
- Fix freezes with external programs that process stdin and stdout concurrently (#4180)
- Make scroll aware of tabs and wide characters (#4519)
- Correctly handle escaping in command_mode completion (#4316, #4587, #4632)
- Fix delete_char_backward for paired characters (#4558)
- Fix crash from two windows editing the same document (#4570)
- Fix pasting from the blackhole register (#4497)
- Support LSP insertReplace completion items (1312682)
- Dynamically resize the line number gutter width (#3469)
- Fix crash for unknown completion item kinds (#4658)
- Re-enable format_selections for single selection ranges (d4f5cab)
- Limit the number of in-progress tree-sitter query matches (#4707, #4830)
- Use the special # register with increment/decrement to change by range number (#4418)
- Add a statusline element to show number of selected chars (#4682)
- Add a statusline element showing global LSP diagnostic warning and error counts (#4569)
- Add a scrollbar to popups (#4449)
- Prefer shorter matches in fuzzy matcher scoring (#4698)
- Use key-sequence format for command palette keybinds (#4712)
- Remove prefix filtering from autocompletion menu (#4578)
- Focus on the parent buffer when closing a split (#4766)
- Handle language server termination (#4797, #4852)
- Allow r/t/f to work on tab characters (#4817)
- Show a preview for scratch buffers in the buffer picker (#3454)
- Set a limit of entries in the jumplist (#4750)
- Re-use shell outputs when inserting or appending shell output (#3465)
- Check LSP server provider capabilities (#3554)
- Improve tree-sitter parsing performance on files with many language layers (#4716)
- Move indentation to the next line when using <ret> on a line with only whitespace (#4854)
- Remove selections for closed views from all documents (#4888)
- Improve performance of the :reload command (#4457)
- Properly handle media keys (#4887)
- Support LSP diagnostic data field (#4935)
- Handle C-i keycode as tab (#4961)
- Fix view alignment for jumplist picker jumps (#3743)
- Use OSC52 for tmux clipboard provider (#5027)
* Other new changes can be found in https://github.com/helix-editor/helix/blob/master/CHANGELOG.md#2212-2022-12-06
- Improve _service file
- Remove helix.png since new logo is now shipped in the tarball
OBS-URL: https://build.opensuse.org/package/show/editors/helix?expand=0&rev=39
2022-12-07 12:57:39 +01:00
|
|
|
Version: 22.12
|
2022-04-20 13:56:13 +02:00
|
|
|
Release: 0
|
|
|
|
Summary: A post-modern modal text editor written in Rust
|
2022-05-01 08:56:15 +02:00
|
|
|
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
|
2022-05-19 03:49:22 +02:00
|
|
|
URL: https://github.com/helix-editor/helix
|
- Update to version 22.08.1:
* Patch release that fixes a panic caused by closing splits or buffers (#3633)
- Other changes before the patch release (22.08):
* Breaking changes:
- Special keymap names for +, ; and % have been replaced with those literal characters (#2677, #3556)
- A-Left and A-Right have become C-Left and C-Right for word-wise motion (#2500)
- The catppuccin theme's name has been corrected from catpuccin (#2713)
- catppuccin has been replaced by its variants, catppuccin_frappe, catppuccin_latte,
catppuccin_macchiato, catppuccin_mocha (#3281)
- C-n and C-p have been removed from the default insert mode keymap (#3340)
- The extend_line command has been replaced with extend_line_below and
a new extend_line command now exists (#3046)
* Features:
- Add an integration testing harness (#2359)
- Indent guides (#1796, 906259c)
- Cursorline (#2170, fde9e03)
- Select all instances of the symbol under the cursor (<space>h) (#2738)
- A picker for document and workspace LSP diagnostics (<space>g/<space>G) (#2013, #2984)
- Allow styling the mode indicator per-mode (#2676)
- Live preview for the theme picker (#1798)
- Configurable statusline (#2434)
- LSP SignatureHelp (#1755, a8b123f)
- A picker for the jumplist (#3033)
- Configurable external formatter binaries (#2942)
- Bracketed paste support (#3233, 12ddd03)
* Commands:
- :insert-output and :append-output which insert/append output from a shell command (#2589)
- The t textobject (]t/[t/mit/mat) for navigating tests (#2807)
- C-Backspace and C-Delete for word-wise deletion in prompts and pickers (#2500)
- A-Delete for forward word-wise deletion in insert mode (#2500)
OBS-URL: https://build.opensuse.org/package/show/editors/helix?expand=0&rev=32
2022-09-03 14:46:25 +02:00
|
|
|
Source0: %{url}/releases/download/%{version}/%{name}-%{version}-source.tar.xz#/%{name}-%{version}.tar.xz
|
2022-08-28 16:06:56 +02:00
|
|
|
Source1: vendor.tar.xz
|
2022-04-20 13:56:13 +02:00
|
|
|
Source2: cargo_config
|
2022-12-07 14:09:50 +01:00
|
|
|
Source3: README-suse-maint.md
|
2022-12-07 14:24:38 +01:00
|
|
|
Source4: helix-rpmlintrc
|
2022-05-30 16:50:15 +02:00
|
|
|
BuildRequires: c++_compiler
|
|
|
|
BuildRequires: c_compiler
|
2022-04-20 13:56:13 +02:00
|
|
|
BuildRequires: cargo-packaging
|
2022-12-07 13:39:46 +01:00
|
|
|
BuildRequires: hicolor-icon-theme
|
2022-08-28 15:34:19 +02:00
|
|
|
Suggests: %{name}-runtime
|
2022-05-19 03:45:13 +02:00
|
|
|
ExclusiveArch: %{rust_arches}
|
2022-04-20 13:56:13 +02:00
|
|
|
|
|
|
|
%description
|
|
|
|
A kakoune/neovim inspired modal text editor with built-in LSP and
|
|
|
|
has treesitter support for syntax highlighting and improved navigation
|
|
|
|
|
2022-10-15 12:18:45 +02:00
|
|
|
%package bash-completion
|
|
|
|
Summary: Bash Completion for %{name}
|
|
|
|
Group: System/Shells
|
|
|
|
Supplements: (%{name} and bash-completion)
|
|
|
|
BuildArch: noarch
|
|
|
|
|
|
|
|
%description bash-completion
|
|
|
|
Bash command-line completion support for %{name}.
|
|
|
|
|
|
|
|
%package fish-completion
|
|
|
|
Summary: Fish Completion for %{name}
|
|
|
|
Group: System/Shells
|
|
|
|
Supplements: (%{name} and fish)
|
|
|
|
BuildArch: noarch
|
|
|
|
|
|
|
|
%description fish-completion
|
|
|
|
Fish command-line completion support for %{name}.
|
|
|
|
|
|
|
|
%package zsh-completion
|
|
|
|
Summary: Zsh Completion for %{name}
|
|
|
|
Group: System/Shells
|
|
|
|
Supplements: (%{name} and zsh)
|
|
|
|
BuildArch: noarch
|
|
|
|
|
|
|
|
%description zsh-completion
|
|
|
|
Zsh command-line completion support for %{name}.
|
|
|
|
|
2022-04-20 13:56:13 +02:00
|
|
|
%prep
|
2022-08-28 16:06:56 +02:00
|
|
|
%autosetup -a1 -c -n %{name}-%{version}
|
2022-04-20 13:56:13 +02:00
|
|
|
mkdir -p .cargo
|
2022-12-07 13:18:55 +01:00
|
|
|
cp %{SOURCE2} .cargo/config.toml
|
2022-04-20 13:56:13 +02:00
|
|
|
|
2023-02-11 01:22:01 +01:00
|
|
|
for shell in bash fish zsh
|
|
|
|
do
|
2022-12-07 14:24:38 +01:00
|
|
|
sed -i "s|\#\!\/usr\/bin\/env ${shell}||g" contrib/completion/hx.${shell}
|
2022-12-07 13:39:46 +01:00
|
|
|
done
|
|
|
|
|
2022-08-28 16:06:56 +02:00
|
|
|
%package runtime
|
|
|
|
Summary: Runtime files for %{name}
|
|
|
|
Suggests: %{name}
|
2022-08-28 15:34:19 +02:00
|
|
|
|
|
|
|
%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`.
|
|
|
|
|
2022-04-20 13:56:13 +02:00
|
|
|
%build
|
|
|
|
export HELIX_DISABLE_AUTO_GRAMMAR_BUILD=true
|
2022-05-30 16:50:15 +02:00
|
|
|
%{cargo_build}
|
|
|
|
HELIX_RUNTIME="$PWD/runtime" ./target/release/hx --grammar build
|
2022-04-20 13:56:13 +02:00
|
|
|
|
2022-10-15 12:18:45 +02:00
|
|
|
# Shell completions
|
|
|
|
sed -i "s|hx|helix|g" contrib/completion/hx.*
|
|
|
|
|
|
|
|
# Desktop file
|
|
|
|
sed -i "s|hx|helix|g" contrib/Helix.desktop
|
|
|
|
|
2022-04-20 13:56:13 +02:00
|
|
|
%install
|
|
|
|
mkdir -p %{buildroot}%{_libdir}/%{name}
|
|
|
|
mkdir -p %{buildroot}%{_helix_runtimedir}
|
2022-08-28 16:13:36 +02:00
|
|
|
install -m 0755 %{_builddir}/%{name}-%{version}/target/release/hx %{buildroot}%{_libdir}/%{name}/hx
|
2022-04-20 13:56:13 +02:00
|
|
|
cp -rv "runtime/queries" %{buildroot}%{_helix_runtimedir}
|
|
|
|
cp -rv "runtime/themes" %{buildroot}%{_helix_runtimedir}
|
2022-08-28 16:23:29 +02:00
|
|
|
find "%{_builddir}/%{name}-%{version}/runtime/grammars" -type f -name '*.so' -exec \
|
2022-05-31 01:08:10 +02:00
|
|
|
install --verbose -Dm 755 {} -t "%{buildroot}%{_helix_runtimedir}/grammars" \;
|
2022-12-07 13:04:22 +01:00
|
|
|
install -Dm644 runtime/tutor -t %{buildroot}%{_helix_runtimedir}
|
2022-04-20 13:56:13 +02:00
|
|
|
ln -sv %{_helix_runtimedir} %{buildroot}%{_libdir}/%{name}/runtime
|
|
|
|
install -D -d -m 0755 %{buildroot}%{_bindir}
|
2022-05-30 16:50:15 +02:00
|
|
|
ln -sv %{_libdir}/%{name}/hx %{buildroot}%{_bindir}/%{name}
|
2022-04-20 13:56:13 +02:00
|
|
|
|
2022-10-15 12:18:45 +02:00
|
|
|
# Desktop application file
|
|
|
|
install -Dm644 -T %{_builddir}/%{name}-%{version}/contrib/Helix.desktop %{buildroot}%{_datadir}/applications/%{name}.desktop
|
|
|
|
|
|
|
|
# Icon
|
2022-12-07 13:39:46 +01:00
|
|
|
install -Dm644 -T %{_builddir}/%{name}-%{version}/logo.svg %{buildroot}%{_datadir}/icons/hicolor/scalable/apps/%{name}.svg
|
2022-10-15 12:18:45 +02:00
|
|
|
|
|
|
|
# Shell completions
|
|
|
|
install -Dm644 -T %{_builddir}/%{name}-%{version}/contrib/completion/hx.bash %{buildroot}%{_datadir}/bash-completion/completions/%{name}
|
|
|
|
install -Dm644 -T %{_builddir}/%{name}-%{version}/contrib/completion/hx.fish %{buildroot}%{_datadir}/fish/vendor_completions.d/%{name}.fish
|
|
|
|
install -Dm644 -T %{_builddir}/%{name}-%{version}/contrib/completion/hx.zsh %{buildroot}%{_datadir}/zsh/site-functions/_%{name}
|
|
|
|
|
2022-04-20 13:56:13 +02:00
|
|
|
%files
|
|
|
|
%license LICENSE
|
2022-05-30 16:50:15 +02:00
|
|
|
%doc README.md CHANGELOG.md languages.toml docs/CONTRIBUTING.md docs/architecture.md docs/vision.md
|
2022-08-28 15:34:19 +02:00
|
|
|
%dir %{_libdir}/%{name}
|
2022-10-15 12:18:45 +02:00
|
|
|
|
|
|
|
# Desktop application file
|
2022-12-07 13:45:49 +01:00
|
|
|
%{_datadir}/icons/hicolor/scalable/apps/%{name}.svg
|
2022-10-15 12:18:45 +02:00
|
|
|
%{_datadir}/applications/*
|
|
|
|
|
2022-05-30 16:50:15 +02:00
|
|
|
# hx symlinked as helix
|
2022-04-20 13:56:13 +02:00
|
|
|
%{_bindir}/%{name}
|
2022-10-15 12:18:45 +02:00
|
|
|
|
2022-05-30 16:50:15 +02:00
|
|
|
# The real hx binary
|
|
|
|
%{_libdir}/%{name}/hx
|
2022-10-15 12:18:45 +02:00
|
|
|
|
2022-09-08 00:13:21 +02:00
|
|
|
# Tutor
|
2022-12-07 13:04:22 +01:00
|
|
|
%{_helix_runtimedir}/tutor
|
2022-05-30 16:50:15 +02:00
|
|
|
|
2022-08-28 15:34:19 +02:00
|
|
|
%files runtime
|
2022-05-30 16:50:15 +02:00
|
|
|
# Runtimes and runtime files
|
2022-05-31 01:08:10 +02:00
|
|
|
%dir %{_sharedstatedir}/%{name}
|
2022-04-20 13:56:13 +02:00
|
|
|
%dir %{_helix_runtimedir}
|
|
|
|
%dir %{_helix_runtimedir}/queries
|
|
|
|
%dir %{_helix_runtimedir}/themes
|
2022-05-30 16:59:42 +02:00
|
|
|
%dir %{_helix_runtimedir}/grammars
|
2022-04-20 13:56:13 +02:00
|
|
|
|
2022-05-30 16:59:42 +02:00
|
|
|
# Grammars
|
2022-09-03 15:34:47 +02:00
|
|
|
%{_helix_runtimedir}/grammars/*
|
2022-05-30 16:59:42 +02:00
|
|
|
|
|
|
|
# Queries
|
2022-09-03 15:34:47 +02:00
|
|
|
%{_helix_runtimedir}/queries/*
|
2022-05-30 16:59:42 +02:00
|
|
|
|
|
|
|
# Themes
|
2022-09-03 15:34:47 +02:00
|
|
|
%{_helix_runtimedir}/themes/*
|
|
|
|
|
2022-05-30 16:50:15 +02:00
|
|
|
# Symlinked runtime directory
|
2022-04-20 13:56:13 +02:00
|
|
|
%{_libdir}/%{name}/runtime
|
|
|
|
|
2022-10-15 12:18:45 +02:00
|
|
|
%files bash-completion
|
|
|
|
%{_datadir}/bash-completion/*
|
|
|
|
|
|
|
|
%files fish-completion
|
|
|
|
%dir %{_datadir}/fish
|
|
|
|
%{_datadir}/fish/*
|
|
|
|
|
|
|
|
%files zsh-completion
|
|
|
|
%dir %{_datadir}/zsh
|
|
|
|
%{_datadir}/zsh/*
|
|
|
|
|
2022-04-20 13:56:13 +02:00
|
|
|
%changelog
|