Compare commits
9 Commits
| Author | SHA256 | Date | |
|---|---|---|---|
| 0fcf372c8f | |||
|
|
2e294e1401 | ||
| 38c3bfa5e5 | |||
|
|
f04379af7d | ||
|
|
df6f778b2d | ||
| cb8163efcd | |||
|
|
551dc14dcc | ||
| 2a6bc74369 | |||
|
|
2ab5091a71 |
@@ -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
3
neovim-0.11.5.tar.gz
Normal file
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:c63450dfb42bb0115cd5e959f81c77989e1c8fd020d5e3f1e6d897154ce8b771
|
||||
size 12979925
|
||||
101
neovim.changes
101
neovim.changes
@@ -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>
|
||||
|
||||
|
||||
46
neovim.spec
46
neovim.spec
@@ -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
|
||||
|
||||
@@ -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
74
tree-sitter-system.lua
Normal 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
|
||||
Reference in New Issue
Block a user