9 Commits

Author SHA256 Message Date
0fcf372c8f Accepting request 1324588 from editors
OBS-URL: https://build.opensuse.org/request/show/1324588
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/neovim?expand=0&rev=82
2025-12-29 14:16:45 +00:00
Richard Rahl
2e294e1401 - Add tree-sitter-system.lua for the registration of system-wide
installed tree-sitter parsers.

OBS-URL: https://build.opensuse.org/package/show/editors/neovim?expand=0&rev=199
2025-12-28 19:37:42 +00:00
38c3bfa5e5 Accepting request 1316089 from editors
- Update to version 0.11.5:
  * help: gx opens help tag in web browser
  * vimscript: log function name in "fast" message
  * api: reduce redundant `win_find_tabpage` calls
  * vim.lsp.omnifunc should not throw away other items
  * api: nvim_open_win default to half-size for splits
  * api: nvim_open_win respects requested split window size
  * 5aa6257 api: win_set_config error message for splitting from a float
  * 66b8018 channel: closing socket with pending writes leaks memory
  * 3237f63 cjson: fix `strbuf_set_length` incorrectness
  * 95cc675 clipboard: avoid using stale register width
  * d31953d diagnostics: extend conversion support from/to quickfix format
  * 7304fc2 excmd: :trust executed even when inside false condition
  * 0e1c83f filetype: handle invalid `bufnr` in _getlines(), _getline()
  * 86b2c0f float: crash from nasty :fclose autocmds
  * d8a7c86 health: errors in :checkhealth with pyenv-virtualenv
  * 8e00534 health: hard fail on invalid "python-*" bin
  * 2668a46 lsp: "attempt to index nil config"
  * 21540d2 lsp: _get_workspace_folders does not handle root_dir() function
  * 14e74d9 lsp: misleading logs in non-applicable filetypes
  * a7eb110 lsp: noisy log message when enabling server without config
  * eb48372 lsp: restore Client:stop() force-stopping behavior
  * 556d8d0 lsp: treat 2-triggers-at-once as "last char wins"
  * 7b1ac20 lua: don't leak handle when vim._watch.watch() fails
  * c84ba83 options: increase t_Co buffer size
  * 7aea000 paste: don't use :echo immediately before :redraw
  * 47f6f21 plines: count 'showbreak' in EOL inline virt_text in line size
  * 4338eea rpc: handle more cases when identifying loopback
  * d399ed3 socket: avoid stack-use-after-return after timeout
  * 4cc060b statusline: redraw if Visual selection other end changes (forwarded request 1316088 from rrahl0)

OBS-URL: https://build.opensuse.org/request/show/1316089
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/neovim?expand=0&rev=81
2025-11-07 17:22:15 +00:00
Richard Rahl
f04379af7d - Update to version 0.11.5:
* help: gx opens help tag in web browser
  * vimscript: log function name in "fast" message
  * api: reduce redundant `win_find_tabpage` calls
  * vim.lsp.omnifunc should not throw away other items
  * api: nvim_open_win default to half-size for splits
  * api: nvim_open_win respects requested split window size
  * 5aa6257 api: win_set_config error message for splitting from a float
  * 66b8018 channel: closing socket with pending writes leaks memory
  * 3237f63 cjson: fix `strbuf_set_length` incorrectness
  * 95cc675 clipboard: avoid using stale register width
  * d31953d diagnostics: extend conversion support from/to quickfix format
  * 7304fc2 excmd: :trust executed even when inside false condition
  * 0e1c83f filetype: handle invalid `bufnr` in _getlines(), _getline()
  * 86b2c0f float: crash from nasty :fclose autocmds
  * d8a7c86 health: errors in :checkhealth with pyenv-virtualenv
  * 8e00534 health: hard fail on invalid "python-*" bin
  * 2668a46 lsp: "attempt to index nil config"
  * 21540d2 lsp: _get_workspace_folders does not handle root_dir() function
  * 14e74d9 lsp: misleading logs in non-applicable filetypes
  * a7eb110 lsp: noisy log message when enabling server without config
  * eb48372 lsp: restore Client:stop() force-stopping behavior
  * 556d8d0 lsp: treat 2-triggers-at-once as "last char wins"
  * 7b1ac20 lua: don't leak handle when vim._watch.watch() fails
  * c84ba83 options: increase t_Co buffer size
  * 7aea000 paste: don't use :echo immediately before :redraw
  * 47f6f21 plines: count 'showbreak' in EOL inline virt_text in line size
  * 4338eea rpc: handle more cases when identifying loopback
  * d399ed3 socket: avoid stack-use-after-return after timeout
  * 4cc060b statusline: redraw if Visual selection other end changes

OBS-URL: https://build.opensuse.org/package/show/editors/neovim?expand=0&rev=197
2025-11-06 18:13:06 +00:00
Richard Rahl
df6f778b2d - Don't use pkgconf(luajit), it confuses between LuaJIT we use
(OpenResty) and moonjit.
- Use luajit-* packages for the LuaJIT build.

OBS-URL: https://build.opensuse.org/package/show/editors/neovim?expand=0&rev=196
2025-11-06 15:24:25 +00:00
cb8163efcd Accepting request 1314206 from editors
- remove unneeded build and runtime dependencies (forwarded request 1314205 from rrahl0)

OBS-URL: https://build.opensuse.org/request/show/1314206
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/neovim?expand=0&rev=80
2025-10-29 20:06:08 +00:00
Richard Rahl
551dc14dcc - remove unneeded build and runtime dependencies
OBS-URL: https://build.opensuse.org/package/show/editors/neovim?expand=0&rev=194
2025-10-28 21:14:13 +00:00
2a6bc74369 Accepting request 1306066 from editors
OBS-URL: https://build.opensuse.org/request/show/1306066
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/neovim?expand=0&rev=79
2025-09-20 20:04:18 +00:00
Richard Rahl
2ab5091a71 - update to version 0.11.4:
* fix(lsp/health): ensure valid table before concatenating
  * fix(lsp/health): always use vim.inspect to show root_markers
  * docs(tutor): Chinese (zh-CN) translation
  * fix(lsp): close floating preview window correctly
  * fix(tutor): use invalidate field in nvim_buf_set_extmark()
  * fix(iter): ArrayIter:last returns nil when filtered to empty
  * fix(clipboard): correct blockwise register width computation
  * fix(cmdline): :checkhealth completion with multiple args
  * fix(snippet): setting end_right_gravity
  * fix(api): nvim_create_user_command addr option should allow ranges
  * fix(lsp): show title when global winborder is set
  * vim-patch:9.1.1599: :bnext doesn't go to unlisted help buffers
  * fix(float): cursor visible in "hidden" floating window
  * fix(treesitter): inconsistent highlight of multiline combined injection
  * fix(api): fix not capturing output in cmdline mode
  * feat(provider): detect venv python via "pynvim-python" tool
  * fix(treesitter): run FileType autocmds in the context of <abuf>
  * fix(folds): error when deleting lines at end of buffer
  * fix(diff): set default diff flags properly
  * fix(health): accept TERM=tmux-direct
  * docs(lsp): mention lsp/after/ in faq
  * fix(lua): report error in Lua Funcref callback properly
  * fix(health): update advice for Python
- update suse-spec-template

OBS-URL: https://build.opensuse.org/package/show/editors/neovim?expand=0&rev=192
2025-09-19 20:40:31 +00:00
6 changed files with 215 additions and 14 deletions

View File

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

3
neovim-0.11.5.tar.gz Normal file
View File

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

View File

@@ -1,3 +1,104 @@
-------------------------------------------------------------------
Sat Dec 27 15:39:47 UTC 2025 - Matej Cepl <mcepl@cepl.eu>
- Add tree-sitter-system.lua for the registration of system-wide
installed tree-sitter parsers.
-------------------------------------------------------------------
Thu Nov 6 15:27:32 UTC 2025 - Richard Rahl <rrahl0@opensuse.org>
- Update to version 0.11.5:
* help: gx opens help tag in web browser
* vimscript: log function name in "fast" message
* api: reduce redundant `win_find_tabpage` calls
* vim.lsp.omnifunc should not throw away other items
* api: nvim_open_win default to half-size for splits
* api: nvim_open_win respects requested split window size
* 5aa6257 api: win_set_config error message for splitting from a float
* 66b8018 channel: closing socket with pending writes leaks memory
* 3237f63 cjson: fix `strbuf_set_length` incorrectness
* 95cc675 clipboard: avoid using stale register width
* d31953d diagnostics: extend conversion support from/to quickfix format
* 7304fc2 excmd: :trust executed even when inside false condition
* 0e1c83f filetype: handle invalid `bufnr` in _getlines(), _getline()
* 86b2c0f float: crash from nasty :fclose autocmds
* d8a7c86 health: errors in :checkhealth with pyenv-virtualenv
* 8e00534 health: hard fail on invalid "python-*" bin
* 2668a46 lsp: "attempt to index nil config"
* 21540d2 lsp: _get_workspace_folders does not handle root_dir() function
* 14e74d9 lsp: misleading logs in non-applicable filetypes
* a7eb110 lsp: noisy log message when enabling server without config
* eb48372 lsp: restore Client:stop() force-stopping behavior
* 556d8d0 lsp: treat 2-triggers-at-once as "last char wins"
* 7b1ac20 lua: don't leak handle when vim._watch.watch() fails
* c84ba83 options: increase t_Co buffer size
* 7aea000 paste: don't use :echo immediately before :redraw
* 47f6f21 plines: count 'showbreak' in EOL inline virt_text in line size
* 4338eea rpc: handle more cases when identifying loopback
* d399ed3 socket: avoid stack-use-after-return after timeout
* 4cc060b statusline: redraw if Visual selection other end changes
* 7f5427b terminal: add various missing redraws
* d78d5cf terminal: adjust marks when deleting scrollback lines
* f3f6705 terminal: avoid events messing up topline of focused terminal
* 8c5bc49 terminal: avoid tailed cursor in focused terminal in events
* 934d285 terminal: check size when creating new tabpage
* e67fec1 terminal: deleting from wrong buffer
* e4db5ed terminal: don't trigger TextChangedT for unrelated redraws
* 854b319 terminal: handle OSC 8 split into multiple fragments
* a6d8f40 terminal: keep last cursor if it's on the last row
* 46d68e5 terminal: patch various autocommand-related holes
* 5ee9e3f terminal: possibly wrong wrow/wcol in active terminal
* b21ec36 terminal: remove condition that buf is curbuf
* 2eea65f terminal: update winopts and focus when switching terminals
* 169dc60 terminal: wrong row in TermRequest with full scrollback
* 8f05fdb tests: ignore vector math types
* 924a8e4 tui: don't wait for DA1 response when stdin is closed (#35745)
* 07184aa tui: handle sequence larger than entire buffer
* 1c8805e vim.json: fix truncation of decoded numbers outside lua_Integer's range
* 8c31138 window: don't add a hsep when out of room if global stl is off
- disable unittests for leap16, as lua-cffi-lua is missing, and we don't use luajit
-------------------------------------------------------------------
Thu Nov 6 12:54:42 UTC 2025 - Matej Cepl <mcepl@cepl.eu>
- Don't use pkgconf(luajit), it confuses between LuaJIT we use
(OpenResty) and moonjit.
- Use luajit-* packages for the LuaJIT build.
-------------------------------------------------------------------
Tue Oct 28 21:13:29 UTC 2025 - Richard Rahl <rrahl0@opensuse.org>
- remove unneeded build and runtime dependencies
-------------------------------------------------------------------
Tue Sep 16 12:00:51 UTC 2025 - Richard Rahl <rrahl0@opensuse.org>
- update to version 0.11.4:
* fix(lsp/health): ensure valid table before concatenating
* fix(lsp/health): always use vim.inspect to show root_markers
* docs(tutor): Chinese (zh-CN) translation
* fix(lsp): close floating preview window correctly
* fix(tutor): use invalidate field in nvim_buf_set_extmark()
* fix(iter): ArrayIter:last returns nil when filtered to empty
* fix(clipboard): correct blockwise register width computation
* fix(cmdline): :checkhealth completion with multiple args
* fix(snippet): setting end_right_gravity
* fix(api): nvim_create_user_command addr option should allow ranges
* fix(lsp): show title when global winborder is set
* vim-patch:9.1.1599: :bnext doesn't go to unlisted help buffers
* fix(float): cursor visible in "hidden" floating window
* fix(treesitter): inconsistent highlight of multiline combined injection
* fix(api): fix not capturing output in cmdline mode
* feat(provider): detect venv python via "pynvim-python" tool
* fix(treesitter): run FileType autocmds in the context of <abuf>
* fix(folds): error when deleting lines at end of buffer
* fix(diff): set default diff flags properly
* fix(health): accept TERM=tmux-direct
* docs(lsp): mention lsp/after/ in faq
* fix(lua): report error in Lua Funcref callback properly
* fix(health): update advice for Python
- update suse-spec-template
-------------------------------------------------------------------
Wed Jul 16 07:38:24 UTC 2025 - Richard Rahl <rrahl0@opensuse.org>

View File

@@ -1,7 +1,7 @@
#
# spec file for package neovim
#
# Copyright (c) 2025 SUSE LLC
# Copyright (c) 2025 SUSE LLC and contributors
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -16,13 +16,17 @@
#
%ifarch ppc64le s390x
%ifarch %{power64} s390x
%bcond_with luajit
%else
%if 0%{?suse_version} < 1699
%bcond_with luajit
%else
%bcond_without luajit
%endif
%endif
Name: neovim
Version: 0.11.3
Version: 0.11.5
Release: 0
Summary: Vim-fork focused on extensibility and agility
License: Apache-2.0 AND Vim AND GPL-3.0-or-later AND CC-BY-3.0
@@ -31,6 +35,7 @@ Source0: https://github.com/neovim/neovim/archive/v%{version}/%{name}-%{v
Source1: sysinit.vim
Source3: suse-spec-template
Source4: spec.vim
Source5: tree-sitter-system.lua
Source10: https://github.com/neovim/deps/raw/06ef2b58b0876f8de1a3f5a710473dcd7afff251/opt/lua-dev-deps.tar.gz
BuildRequires: cmake >= 3.16
BuildRequires: desktop-file-utils
@@ -43,19 +48,25 @@ BuildRequires: hicolor-icon-theme
BuildRequires: hostname
BuildRequires: libtool
BuildRequires: lua-macros
BuildRequires: lua51-bit32
BuildRequires: lua51-compat-5.3
BuildRequires: lua51-lpeg
BuildRequires: lua51-luarocks
BuildRequires: lua51-luv
BuildRequires: pkgconfig
BuildRequires: unzip
BuildRequires: pkgconfig(libluv)
BuildRequires: pkgconfig(libutf8proc) >= 2.10.0
BuildRequires: pkgconfig(libuv) >= 1.50.0
%if %{with luajit}
BuildRequires: pkgconfig(luajit)
BuildRequires: luajit-bit32
BuildRequires: luajit-compat-5.3
BuildRequires: luajit-devel
BuildRequires: luajit-lpeg
BuildRequires: luajit-luarocks
BuildRequires: luajit-luv
%else
BuildRequires: lua51-bit32
BuildRequires: lua51-compat-5.3
BuildRequires: lua51-devel
BuildRequires: lua51-lpeg
BuildRequires: lua51-luarocks
BuildRequires: lua51-luv
BuildRequires: pkgconfig(lua5.1)
%endif
BuildRequires: pkgconfig(tree-sitter) >= 0.25.3
@@ -64,11 +75,19 @@ BuildRequires: pkgconfig(vterm) >= 0.3.3
BuildRequires: treesitter_grammar(tree-sitter-vimdoc)
Requires: gperf
Requires: libvterm0 >= 0.3
%if %{with luajit}
Requires: luajit-bit32
Requires: luajit-compat-5.3
Requires: luajit-lpeg
Requires: luajit-luarocks
Requires: luajit-luv
%else
Requires: lua51-bit32
Requires: lua51-compat-5.3
Requires: lua51-lpeg
Requires: lua51-luarocks
Requires: lua51-luv
%endif
Requires: tree-sitter-c >= 0.23.4
Requires: tree-sitter-lua >= 0.3.0
Requires: tree-sitter-markdown >= 0.4.1
@@ -148,9 +167,13 @@ install -Dm0644 runtime/nvim.png %{buildroot}%{_datadir}/pixmaps/nvim.png
# vim/site directories for plugins shared with vim
mkdir -p %{buildroot}%{_datadir}/vim/site/{after,after/syntax,autoload,colors,doc,ftdetect,plugin,syntax}
# universal loader for the system-wide tree-sitter parsers
install -Dm0644 %{SOURCE5} %{buildroot}%{_datadir}/nvim/runtime/after/plugin/tree-sitter-system.lua
%fdupes %{buildroot}
%find_lang nvim
%ifnarch %{arm64}
%check
mkdir -p runtime/parser
ln -sf %{_libdir}/tree_sitter/vimdoc.so runtime/parser
@@ -160,9 +183,12 @@ ln -sf %{_libdir}/tree_sitter/vimdoc.so runtime/parser
%make_build USE_BUNDLED=OFF oldtest
%endif
# functional tests
%ifarch aarch64 x86_64
%if 0%{?suse_version} != 1600
%ifarch %{arm64} %{x86_64}
%make_build USE_BUNDLED=OFF unittest
%endif
%endif
%endif
%post
if [ -d %{_datadir}/nvim/runtime/parser ]; then

View File

@@ -1,7 +1,7 @@
#
# spec file for package specRPM_CREATION_NAME
#
# Copyright (c) specCURRENT_YEAR SUSE LLC
# Copyright (c) specCURRENT_YEAR SUSE LLC and contributors
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed

74
tree-sitter-system.lua Normal file
View File

@@ -0,0 +1,74 @@
-- Universal loader for system Tree-sitter parsers with automatic filetype mapping
-- Includes ABI check with detailed warning to :messages
-- Drops safely into /usr/share/nvim/runtime/plugin/
local ok, ts_parsers = pcall(require, "nvim-treesitter.parsers")
if not ok or not ts_parsers then
return
end
local parser_dir = "/usr/share/nvim/runtime/parser"
local uv = vim.loop
-- Neovim Tree-sitter ABI
local nvim_min_abi = vim.treesitter.abi or 14 -- fallback
local nvim_max_abi = vim.treesitter.abi_max or 15
-- Helper: convert filename to Neovim-safe language name
local function sanitize_langname(fname)
local name = fname:match("(.+)%.so$")
if not name then return nil end
name = name:gsub("-", "_")
return name
end
-- Helper: guess filetype from parser name
local function guess_filetype(lang)
local ft = lang
ft = ft:gsub("_inline$", "")
ft = ft:gsub("_sum$", "")
ft = ft:gsub("%d+$", "")
if ft == "vimdoc" then ft = "vim" end
if ft == "tsx" then ft = "typescript.tsx" end
if ft == "jinja2" then ft = "jinja" end
return ft
end
-- Iterate over all .so files in parser_dir
local handle = uv.fs_scandir(parser_dir)
if not handle then return end
while true do
local name, _ = uv.fs_scandir_next(handle)
if not name then break end
if name:match("%.so$") then
local lang = sanitize_langname(name)
if lang then
local configs = ts_parsers.get_parser_configs()
if not configs[lang] then
local parser_path = parser_dir .. "/" .. name
configs[lang] = {
install_info = {
url = parser_path,
files = { name },
},
filetype = guess_filetype(lang),
}
-- ABI check: attempt to load parser
local loaded, parser = pcall(vim.treesitter.language.get_lang, lang)
if not loaded or not parser then
vim.schedule(function()
vim.notify(
string.format(
"Tree-sitter parser '%s' at %s is ABI-incompatible (Neovim ABI: %d-%d).",
lang, parser_path, nvim_min_abi, nvim_max_abi
),
vim.log.levels.WARN
)
end)
end
end
end
end
end