Accepting request 1177072 from editors
OBS-URL: https://build.opensuse.org/request/show/1177072 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/neovim?expand=0&rev=61
This commit is contained in:
commit
93b6984471
@ -1,4 +0,0 @@
|
||||
#!/bin/sh
|
||||
set -xeu
|
||||
|
||||
/usr/bin/luajit /usr/bin/busted "$@"
|
3
neovim-0.10.0.tar.gz
Normal file
3
neovim-0.10.0.tar.gz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:372ea2584b0ea2a5a765844d95206bda9e4a57eaa1a2412a9a0726bab750f828
|
||||
size 12792034
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:fe74369fc30a32ec7a086b1013acd0eacd674e7570eb1acc520a66180c9e9719
|
||||
size 11590180
|
403
neovim.changes
403
neovim.changes
@ -1,3 +1,406 @@
|
||||
-------------------------------------------------------------------
|
||||
Mon May 27 06:36:34 UTC 2024 - Michal Vyskocil <michal.vyskocil@gmail.com>
|
||||
|
||||
- remove fedora compatibility as requested by a reviewer
|
||||
- remove the older SUSE releases compatibility as 0.10.0 requires
|
||||
newer stuff anyway
|
||||
- remove spec-template and lj-busted.sh from sources
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri May 17 07:36:18 UTC 2024 - Michal Vyskocil <mvyskocil@opensuse.org>
|
||||
|
||||
- Update to 0.10.0
|
||||
- Packaging changes:
|
||||
- remove %check as it depends on a lua code bump now
|
||||
- bump vterm and other dependencies to match upstream
|
||||
- Breaking changes:
|
||||
- nvim_open_win() now blocks all autocommands when noautocmd is set, rather
|
||||
than just those from setting the buffer to display in the window.
|
||||
- Defaults:
|
||||
- Default color scheme has been updated to be "Nvim branded" and accessible.
|
||||
Use :colorscheme vim to revert to the old legacy color scheme.
|
||||
These Nvim specific highlight groups are now defined in a meaningfully
|
||||
different way and might need an update:
|
||||
- hl-FloatBorder is linked to hl-NormalFloat instead of hl-WinSeparator.
|
||||
- hl-NormalFloat is not linked to hl-Pmenu.
|
||||
- hl-WinBar has different background.
|
||||
- hl-WinBarNC is similar to hl-WinBar but not bold.
|
||||
- hl-WinSeparator is linked to hl-Normal instead of hl-VertSplit.
|
||||
- This also might result into some color schemes looking differently due to them
|
||||
relying on implicit assumptions about how highlight groups are defined by
|
||||
default. To account for this, define all attributes of highlight groups
|
||||
explicitly. Alternatively, use :colorscheme vim or :source
|
||||
$VIMRUNTIME/colors/vim.lua to restore previous definitions.
|
||||
- 'termguicolors' is enabled by default when Nvim is able to determine that
|
||||
the host terminal emulator supports 24-bit color.
|
||||
- Editor:
|
||||
- When switching windows, CursorMoved autocommands trigger when Nvim is back on
|
||||
the main loop rather than immediately. This is more compatible with Vim.
|
||||
- "#" followed by a digit no longer stands for a function key at the start of
|
||||
the lhs of a mapping.
|
||||
- shm-q now fully hides macro recording message instead of only shortening it.
|
||||
- Signs placed through the legacy sign-commands are now stored and displayed
|
||||
as extmarks internally. Along with the following changes:
|
||||
- A sign placed twice in the same group with the same identifier will be moved.
|
||||
- Legacy signs are always deleted along with the line it is placed on.
|
||||
- Legacy and extmark signs will show up in both :sign-place-list and
|
||||
nvim_buf_get_extmarks().
|
||||
- Legacy and extmark signs are displayed and listed with the same priority:
|
||||
line number -> priority -> sign id -> recently placed
|
||||
- :behave was removed. If you used :behave xterm, the following is equivalent:
|
||||
set mousemodel=extend
|
||||
- If you used :behave mswin, the following is equivalent:
|
||||
set selection=exclusive
|
||||
set selectmode=mouse,key
|
||||
set mousemodel=popup
|
||||
set keymodel=startsel,stopsel
|
||||
- Events:
|
||||
- Returning any truthy value from a callback passed to nvim_create_autocmd()
|
||||
(rather than just true) will delete the autocommand.
|
||||
- LSP:
|
||||
- LanguageTree:parse() will no longer parse injections by default and now
|
||||
requires an explicit range argument to be passed. If injections are required,
|
||||
provide an explicit range via parser:parse({ start_row, end_row }).
|
||||
vim.lsp.util.parse_snippet() will now strictly follow the snippet grammar
|
||||
defined by LSP, and hence previously parsed snippets might now be considered
|
||||
invalid input.
|
||||
- vim.lsp.codelens.refresh() now takes an opts argument. With this change,
|
||||
the default behavior of just refreshing the current buffer has been replaced by
|
||||
refreshing all buffers.
|
||||
- vim.lsp.util.extract_completion_items() will no longer return reliable results,
|
||||
since it does not apply itemDefaults when its input is a CompletionList.
|
||||
Moreover, since support for LSP completionList.itemDefaults was added, some
|
||||
third party plugins might be negatively impacted in case the language servers
|
||||
support the feature but the plugin does not. If necessary, the respective
|
||||
capability can be removed when calling
|
||||
vim.lsp.protocol.make_client_capabilities().
|
||||
- LspRequest and LspProgressUpdate (renamed to LspProgress) autocmds were
|
||||
promoted from User autocmds to first class citizens.
|
||||
- Lua:
|
||||
- -l ensures output ends with a newline if the script prints messages and
|
||||
doesn't cause Nvim to exit.
|
||||
- Removed functions from the vim.json module:
|
||||
- Unnecessary, undocumented functions which caused global side-effects.
|
||||
- vim.json.null is redundant with vim.NIL.
|
||||
- vim.json.array_mt (and related) is redundant with vim.empty_dict().
|
||||
- vim.islist() now checks whether a table is actually list-like (i.e., has
|
||||
integer keys without gaps and starting from 1). For the previous behavior (only
|
||||
check for integer keys, allow gaps or not starting with 1), use vim.isarray().
|
||||
- Renamed vim.treesitter.playground to vim.treesitter.dev.
|
||||
- Options:
|
||||
- Removed some Vim 5.0<= option compatibilities:
|
||||
- 'backspace' no longer supports number values. Instead:
|
||||
- for backspace=0 set backspace= (empty)
|
||||
- for backspace=1 set backspace=indent,eol
|
||||
- for backspace=2 set backspace=indent,eol,start (default behavior in Nvim)
|
||||
- for backspace=3 set backspace=indent,eol,nostop
|
||||
- 'backupdir' and 'directory' will no longer remove a > at the start of the option.
|
||||
- OptionSet autocommand args v:option_new, v:option_old, v:option_oldlocal,
|
||||
v:option_oldglobal now have the type of the option instead of always being
|
||||
strings. v:option_old is now the old global value for all global-local options,
|
||||
instead of just string global-local options.
|
||||
- Local value for a global-local number/boolean option is now unset when the
|
||||
option is set (e.g. using :set or nvim_set_option_value()) without a scope,
|
||||
which means they now behave the same way as string options.
|
||||
- Plugins:
|
||||
- :TOhtml has been rewritten in Lua to support Nvim-specific decorations, and
|
||||
many options have been removed.
|
||||
- Treesitter:
|
||||
- Treesitter highlight groups have been renamed to be more in line with
|
||||
upstream tree-sitter and Helix to make it easier to share queries. The full
|
||||
list is documented in treesitter-highlight-groups.
|
||||
- TUI:
|
||||
- In some cases, the cursor in the Nvim TUI used to blink even without
|
||||
configuring 'guicursor' as mentioned in cursor-blinking. This was a bug that
|
||||
has now been fixed. If your cursor has stopped blinking, add the following (or
|
||||
similar, adapted to user preference) to your config file:
|
||||
set guicursor+=n-v-c:blinkon500-blinkoff500
|
||||
- NEW FEATURES
|
||||
- API:
|
||||
- Passing 0 to nvim_get_chan_info() gets info about the current channel.
|
||||
- nvim_buf_set_extmark() supports inline virtual text.
|
||||
- nvim_win_text_height() computes the number of screen lines occupied by a
|
||||
range of text in a given window.
|
||||
- New RPC client type msgpack-rpc is added for nvim_set_client_info() to
|
||||
support fully MessagePack-RPC compliant clients.
|
||||
- Floating windows can now be hidden by setting hide in nvim_open_win() or
|
||||
nvim_win_set_config().
|
||||
- nvim_input_mouse() supports mouse buttons "x1" and "x2".
|
||||
- Added "force_crlf" option field in nvim_open_term().
|
||||
- Added nvim_tabpage_set_win() to set the current window of a tabpage.
|
||||
- nvim__win_add_ns() can bind a namespace to a window-local scope(s).
|
||||
- Extmarks opt-in to this scoping via the scoped flag of nvim_buf_set_extmark().
|
||||
- Mapping APIs now support abbreviations when mode short-name has suffix "a".
|
||||
- Floating windows can now show footer with new footer and footer_pos config
|
||||
fields. Uses hl-FloatFooter by default.
|
||||
- extmarks can set a "url" highlight attribute, so the text region can become
|
||||
a clickable hyperlink (assuming UI support). The TUI renders URLs using the OSC
|
||||
8 control sequence, enabling clickable text in supporting terminals.
|
||||
- nvim_open_win() and nvim_win_set_config() now support opening normal
|
||||
(split) windows, moving floating windows into split windows, and opening
|
||||
windows in non-current tabpages.
|
||||
- Flags added to nvim_buf_set_extmark():
|
||||
- "undo_restore": opt-out extmarks of precise undo tracking.
|
||||
- "invalidate": automatically hide or delete extmarks.
|
||||
- "virt_text_repeat_linebreak": repeat virtual text on wrapped lines.
|
||||
- Extmarks now fully support multi-line ranges, and a single extmark can be
|
||||
used to highlight a range of arbitrary length. The nvim_buf_set_extmark() API
|
||||
function already allowed you to define such ranges, but highlight regions were
|
||||
not rendered consistently for a range that covers more than one line break.
|
||||
This has now been fixed. Signs defined as part of a multi-line extmark also
|
||||
apply to every line in the range, not just the first. In addition,
|
||||
nvim_buf_get_extmarks() has gained an "overlap" option to return such ranges
|
||||
even if they started before the specified position.
|
||||
- Defaults:
|
||||
- The workspace/didChangeWatchedFiles LSP client capability is now enabled by
|
||||
default on Mac and Windows. Disabled on Linux since there currently isn't a
|
||||
viable backend for watching files that scales well for large directories.
|
||||
- On Windows 'isfname' does not include ":". Drive letters are handled
|
||||
correctly without it. (Use gF for filepaths suffixed with ":line:col").
|
||||
- 'comments' includes "fb:•".
|
||||
- 'shortmess' includes the "C" flag.
|
||||
- 'grepprg' uses the -H and -I flags for grep by default, and defaults to
|
||||
using ripgrep if available.
|
||||
- "]d" and "[d" in Normal mode map to vim.diagnostic.goto_next() and
|
||||
vim.diagnostic.goto_prev(), respectively. ]d-default [d-default <C-W>d (and
|
||||
<C-W><C-D>) map to vim.diagnostic.open_float() CTRL-W_d-default
|
||||
vim.lsp.start() sets the following default keymaps (assuming server support):
|
||||
- K in Normal mode maps to vim.lsp.buf.hover(), unless 'keywordprg' was
|
||||
customized before calling vim.lsp.start().
|
||||
- Automatic linting of treesitter query files (see ft-query-plugin). Can be
|
||||
disabled via:
|
||||
vim.g.query_lint_on = {}
|
||||
- Enabled treesitter highlighting for:
|
||||
- Treesitter query files
|
||||
- Vim help files
|
||||
- Lua files
|
||||
- Editor:
|
||||
- Better cmdline completion for string option value. complete-set-option
|
||||
Try it with :set listchars=<Tab>
|
||||
- By default, the swapfile "ATTENTION" E325 dialog is skipped if the
|
||||
swapfile is owned by a running Nvim process, instead of prompting. If you
|
||||
always want the swapfile dialog, delete the default SwapExists handler:
|
||||
autocmd! nvim_swapfile. default-autocmds
|
||||
- Navigating the jumplist with CTRL+O, CTRL+I behaves more intuitively when
|
||||
deleting buffers, and avoids "invalid buffer" cases. #25461
|
||||
- :fclose command.
|
||||
- v_Q-default and v_@-default repeat a register for each line of a linewise
|
||||
visual selection.
|
||||
- Clicking on a tabpage in the tabline with the middle mouse button closes it.
|
||||
- :checkhealth buffer can be opened in a split window using modifiers like
|
||||
:vertical, :horizontal and :botright.
|
||||
- Events:
|
||||
- vim.on_key() callbacks receive a second argument for keys typed before
|
||||
mappings are applied.
|
||||
- LSP:
|
||||
- LSP method names are available in vim.lsp.protocol.Methods.
|
||||
- Implemented LSP inlay hints: lsp-inlay_hint
|
||||
https://microsoft.github.io/language-server-protocol/specification/#textDocument_inlayHint
|
||||
- Implemented pull diagnostic textDocument/diagnostic:
|
||||
vim.lsp.diagnostic.on_diagnostic()
|
||||
https://microsoft.github.io/language-server-protocol/specification/#textDocument_diagnostic
|
||||
- Implemented LSP type hierarchy: vim.lsp.buf.typehierarchy()
|
||||
https://microsoft.github.io/language-server-protocol/specification/#textDocument_prepareTypeHierarchy
|
||||
- vim.lsp.status() consumes the last progress messages as a string.
|
||||
- LSP client now always saves and restores named buffer marks when applying text edits.
|
||||
- LSP client now supports the positionEncoding server capability. If a server
|
||||
responds with the positionEncoding capability in its initialization response,
|
||||
Nvim automatically sets the client's offset_encoding field.
|
||||
- Dynamic registration of LSP capabilities. An implication of this change is
|
||||
that checking a client's server_capabilities is no longer a sufficient
|
||||
indicator to see if a server supports a feature. Instead use
|
||||
client.supports_method(<method>). It considers both the dynamic capabilities
|
||||
and static server_capabilities.
|
||||
- anchor_bias option to lsp-handlers aids in positioning of floating windows.
|
||||
- vim.lsp.util.locations_to_items() sets the user_data of each item to the
|
||||
original LSP Location or LocationLink.
|
||||
- Added support for connecting to servers using named pipes (Windows) or Unix
|
||||
domain sockets (Unix) via vim.lsp.rpc.connect().
|
||||
- Added support for completionList.itemDefaults, reducing overhead when
|
||||
computing completion items where properties often share the same value (e.g.
|
||||
commitCharacters). Note that this might affect plugins and language servers
|
||||
that don't support the feature, and in such cases the respective capability can
|
||||
be unset.
|
||||
- vim.lsp.start() accepts a "silent" option for suppressing messages if an
|
||||
LSP server failed to start.
|
||||
- vim.lsp.buf.definition(), vim.lsp.buf.declaration(),
|
||||
vim.lsp.buf.type_definition(), and vim.lsp.buf.implementation() now support the
|
||||
loclist field of vim.lsp.ListOpts.
|
||||
- Lua:
|
||||
- :lua with a [range] executes that range as Lua code, in any buffer.
|
||||
- :source without arguments treats a buffer with 'filetype' of "lua" as Lua
|
||||
code regardless of its extension.
|
||||
- Vimscript function exists() supports checking v:lua functions.
|
||||
- vim.iter() is a generic interface for all iterable objects (tables, iterators).
|
||||
- vim.snippet provides a mode for expanding and navigating snippets.
|
||||
- vim.ringbuf() is a generic ring buffer (data structure).
|
||||
- vim.deepcopy() gained a noref argument to avoid hashing table values.
|
||||
- vim.keycode() translates keycodes in a string.
|
||||
- vim.system() runs commands / starts processes.
|
||||
- vim.lpeg and vim.re expose the bundled Lpeg expression grammar parser and
|
||||
its regex interface.
|
||||
- vim.base64.encode() and vim.base64.decode() encode and decode strings using
|
||||
Base64 encoding.
|
||||
- vim.text.hexencode() and vim.text.hexdecode() convert strings to and from
|
||||
byte representations.
|
||||
- vim.ui.open() opens URIs using the system default handler (macOS open,
|
||||
Windows explorer, Linux xdg-open, etc.)
|
||||
- vim.wo can now be double indexed for :setlocal behaviour. Currently only 0
|
||||
for the buffer index is supported.
|
||||
- Improved messages for type errors in vim.api.* calls (including opts
|
||||
params).
|
||||
- Lua type annotations for:
|
||||
vim.*
|
||||
vim.fn.*
|
||||
vim.api.*
|
||||
vim.v.*
|
||||
- Functions that take a severity as an optional parameter (e.g.
|
||||
vim.diagnostic.get()) now also accept a list of severities
|
||||
vim.diagnostic.severity
|
||||
- vim.diagnostic.count() returns the number of diagnostics for a given buffer
|
||||
and/or namespace, by severity. This is a faster alternative to
|
||||
vim.diagnostic.get() when only the number of diagnostics is needed, but not the
|
||||
diagnostics themselves.
|
||||
- vim.diagnostic.is_enabled()
|
||||
- vim.version.le(), vim.version.ge()
|
||||
- vim.fs.root() finds project root directories from a list of "root markers".
|
||||
- vim.tbl_contains() now works for general tables and allows specifying a
|
||||
predicate function that is checked for each value. (Use vim.list_contains() for
|
||||
checking list-like tables (integer keys without gaps) for literal values.)
|
||||
- vim.region() can use a string accepted by getpos() as position.
|
||||
- Options:
|
||||
- 'winfixbuf' keeps a window focused onto a specific buffer
|
||||
- 'smoothscroll' option to scroll by screen line rather than by text line
|
||||
when 'wrap' is set.
|
||||
- 'foldtext' now supports virtual text format. fold-foldtext
|
||||
- 'foldtext' can be set to an empty string to disable and render the line: as
|
||||
normal with regular highlighting and no line wrapping.
|
||||
- 'complete' option supports "f" flag for completing buffer names.
|
||||
- 'completeopt' option supports "popup" flag to show extra information in a
|
||||
floating window.
|
||||
- 'errorfile' (-q) accepts - as an alias for stdin.
|
||||
- Performance:
|
||||
- 'diffopt' "linematch" scoring algorithm now favours larger and less groups
|
||||
https://github.com/neovim/neovim/pull/23611
|
||||
- Treesitter highlighting now parses injections incrementally during screen
|
||||
redraws only for the line range being rendered. This significantly improves
|
||||
performance in large files with many injections.
|
||||
- 'breakindent' performance is significantly improved for wrapped lines.
|
||||
- Cursor movement, insertion with [count] and screenpos() are now faster.
|
||||
- Plugins:
|
||||
- Nvim now includes commenting support.
|
||||
- :Man supports the :hide modifier to open page in the current window.
|
||||
- :Man respects 'wrapmargin'
|
||||
- Startup:
|
||||
- $NVIM_APPNAME can be set to a relative path instead of only a name.
|
||||
- --startuptime reports startup times for both processes (TUI + server) as
|
||||
separate sections.
|
||||
- Terminal:
|
||||
- :terminal accepts some :command-modifiers (specifically :horizontal and
|
||||
those that affect splitting a window).
|
||||
- Terminal buffers emit a TermRequest autocommand event when the child
|
||||
process emits an OSC or DCS control sequence.
|
||||
- Terminal buffers respond to OSC background and foreground requests.
|
||||
default-autocmds
|
||||
- Treesitter:
|
||||
- Bundled parsers and queries (highlight, folds) for Markdown, Python, and
|
||||
Bash.
|
||||
- :InspectTree shows root nodes.
|
||||
- :InspectTree now supports folding.
|
||||
- :InspectTree shows node ranges in 0-based instead of 1-based indexing.
|
||||
- vim.treesitter.foldexpr() now recognizes folds captured using a quantified
|
||||
query pattern.
|
||||
- vim.treesitter.query.omnifunc() provides completion in treesitter query
|
||||
files (set by default).
|
||||
- vim.treesitter.query.edit() provides live editing of treesitter queries.
|
||||
- Query:iter_matches() now has the ability to set the maximum start depth for
|
||||
matches.
|
||||
- @injection.language now has smarter resolution and will fall back to
|
||||
language aliases (e.g., filetype or custom shorthands) registered via
|
||||
vim.treesitter.language.register() and/or attempt lower case variants of the
|
||||
text.
|
||||
- @injection.filename will try to match the node text via
|
||||
vim.filetype.match() and treat the result as a language name in the same way as
|
||||
@injection.language.
|
||||
- The #set! directive supports injection.self and injection.parent for
|
||||
injecting either the current node's language or the parent LanguageTree's
|
||||
language, respectively.
|
||||
- The #set! directive can set the "url" property of a node to have the node
|
||||
emit a hyperlink. Hyperlinks are UI specific: in the TUI, the OSC 8 control
|
||||
sequence is used.
|
||||
- Improved error messages for query parsing.
|
||||
- TUI:
|
||||
- Builtin TUI can now recognize "super" (<D-) and "meta" (<T-) modifiers in a
|
||||
terminal emulator that supports tui-csiu.
|
||||
- The TermResponse event can be used with v:termresponse to read escape
|
||||
sequence responses from the host terminal.
|
||||
- A clipboard provider which uses OSC 52 to copy the selection to the system
|
||||
clipboard is now bundled by default and will be automatically enabled under
|
||||
certain conditions. clipboard-osc52
|
||||
- 'termsync' option asks the host terminal to buffer screen updates until the
|
||||
redraw cycle is complete. Requires support from the host terminal.
|
||||
- UI:
|
||||
- Enhanced support for rendering multibyte characters using composing
|
||||
characters: the maximum limit was increased from 1+6 codepoints to 31 bytes,
|
||||
which is guaranteed to fit all chars from before but often more.
|
||||
- NOTE: the regexp engine still has a hard-coded limit of considering 6
|
||||
composing chars only.
|
||||
- CHANGED FEATURES: These existing features changed their behavior.
|
||||
- API:
|
||||
- nvim_buf_call() and nvim_win_call() now preserve any return value (NB: not
|
||||
multiple return values)
|
||||
- Editor:
|
||||
- gx now uses vim.ui.open() and not netrw. To customize, you can redefine
|
||||
vim.ui.open or remap gx. To continue using netrw (deprecated):
|
||||
:call netrw#BrowseX(expand(exists("g:netrw_gx") ? g:netrw_gx : '<cfile>'), netrw#CheckIfRemote())<CR>
|
||||
- LSP:
|
||||
- LSP hover and signature help now use Treesitter for highlighting of
|
||||
Markdown content. Note that highlighting of code examples requires a matching
|
||||
parser and may be affected by custom queries.
|
||||
- LspRequest autocmd callbacks contain more information about the LSP request
|
||||
status update that occurred.
|
||||
- Lua:
|
||||
- vim.wait() cannot be called in api-fast.
|
||||
- vim.diagnostic.config() now accepts virtual text relevant options to
|
||||
nvim_buf_set_extmark() (e.g. "virt_text_pos" and "hl_mode") in its
|
||||
"virtual_text" table, which gives users more control over how diagnostic
|
||||
virtual text is displayed.
|
||||
- vim.diagnostic.get() and vim.diagnostic.count() accept multiple namespaces
|
||||
rather than just a single namespace.
|
||||
- vim.diagnostic.enable() gained new parameters, and the old signature is
|
||||
deprecated.
|
||||
- vim.diagnostic.config() now accepts a function for the virtual_text.prefix
|
||||
option, which allows for rendering e.g., diagnostic severities differently.
|
||||
- Options:
|
||||
- Attempting to set an invalid keycode option (e.g. set t_foo=123) no longer
|
||||
gives an error.
|
||||
- Terminal:
|
||||
- Terminal buffers started with no arguments (and use 'shell') close
|
||||
automatically if the job exited without error, eliminating the (often unwanted)
|
||||
"[Process exited 0]" message. default-autocmds
|
||||
|
||||
- Treesitter:
|
||||
- Query:iter_matches(), vim.treesitter.query.add_predicate(), and
|
||||
vim.treesitter.query.add_directive() accept a new all option which ensures that
|
||||
all matching nodes are returned as a table. The default option all=false
|
||||
returns only a single node, breaking captures with quantifiers like (comment)+
|
||||
@comment; it is only provided for backward compatibility and will be removed
|
||||
after Nvim 0.10.
|
||||
- vim.treesitter.query.add_predicate() and
|
||||
vim.treesitter.query.add_directive() now accept an options table rather than a
|
||||
boolean "force" argument. To force a predicate or directive to override an
|
||||
existing predicate or directive, use { force = true }.
|
||||
- REMOVED FEATURES: These deprecated features were removed.
|
||||
- Vimball support, including :Vimuntar command
|
||||
- Support for legacy treesitter injection queries
|
||||
- 'shortmess' flags:
|
||||
- shm-f. Always use "(3 of 5)", never "(file 3 of 5)".
|
||||
- shm-i. Always use "[noeol]".
|
||||
- shm-x. Always use "[dos]", "[unix]" and "[mac]".
|
||||
- shm-n. Always use "[New]".
|
||||
- DEPRECATIONS
|
||||
- See https://neovim.io/doc/user/deprecated.html#deprecated-0.10
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Mar 11 14:20:12 UTC 2024 - Dominik Heidler <dheidler@suse.de>
|
||||
|
||||
|
104
neovim.spec
104
neovim.spec
@ -18,35 +18,16 @@
|
||||
|
||||
%{?!python3_pkgversion:%define python3_pkgversion 3}
|
||||
|
||||
# %%undefine _build_create_debug \
|
||||
# %%define __arch_install_post export NO_BRP_STRIP_DEBUG=true
|
||||
|
||||
%if 0%{?rhel}
|
||||
%define __cmake cmake3
|
||||
BuildRequires: cmake3
|
||||
%else
|
||||
BuildRequires: cmake
|
||||
%endif
|
||||
%if 0%{?rhel} || 0%{?fedora}
|
||||
%define vimplugin_dir %{_datadir}/vim/vimfiles
|
||||
%else
|
||||
%define vimplugin_dir %{_datadir}/vim/site
|
||||
%endif
|
||||
%if 0%{?fedora}
|
||||
%define lua_archdir %{lua_libdir}
|
||||
%define lua_noarchdir %{lua_pkgdir}
|
||||
%define lua_incdir %{_includedir}/lua-%{lua_version}
|
||||
Requires: python3-neovim
|
||||
%bcond_with luajit
|
||||
%endif
|
||||
# Luajit not available on all platforms
|
||||
%ifarch %{arm} %{ix86} x86_64 aarch64
|
||||
%bcond_without luajit
|
||||
%else
|
||||
%bcond_with luajit
|
||||
%endif
|
||||
|
||||
Name: neovim
|
||||
Version: 0.9.5
|
||||
Version: 0.10.0
|
||||
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
|
||||
@ -54,11 +35,8 @@ Group: Productivity/Text/Editors
|
||||
URL: https://neovim.io/
|
||||
Source0: https://github.com/neovim/neovim/archive/v%{version}/%{name}-%{version}.tar.gz
|
||||
Source1: sysinit.vim
|
||||
Source2: spec-template
|
||||
Source3: suse-spec-template
|
||||
# Our packaged busted script has a shebang pointing to regular Lua interepreter,
|
||||
# we need /usr/bin/luajit. Fake it.
|
||||
Source10: lj-busted.sh
|
||||
BuildRequires: cmake
|
||||
BuildRequires: desktop-file-utils
|
||||
BuildRequires: fdupes
|
||||
BuildRequires: filesystem
|
||||
@ -76,9 +54,9 @@ BuildRequires: pkgconfig(libutf8proc)
|
||||
BuildRequires: pkgconfig(libuv) >= 1.42.0
|
||||
BuildRequires: pkgconfig(msgpack-c)
|
||||
BuildRequires: pkgconfig(termkey)
|
||||
BuildRequires: pkgconfig(tree-sitter) >= 0.20.8
|
||||
BuildRequires: pkgconfig(unibilium)
|
||||
BuildRequires: pkgconfig(vterm) >= 0.3
|
||||
BuildRequires: pkgconfig(tree-sitter) >= 0.20.9
|
||||
BuildRequires: pkgconfig(unibilium) >= 2.0.0
|
||||
BuildRequires: pkgconfig(vterm) >= 0.3.3
|
||||
Requires: gperf
|
||||
Requires: libvterm0 >= 0.3
|
||||
Requires: xdg-utils
|
||||
@ -86,7 +64,6 @@ Requires: xdg-utils
|
||||
Recommends: wl-clipboard
|
||||
Recommends: xsel
|
||||
|
||||
%if 0%{?suse_version}
|
||||
BuildRequires: libluv-devel
|
||||
BuildRequires: lua-macros
|
||||
BuildRequires: lua51-LPeg
|
||||
@ -103,35 +80,7 @@ BuildRequires: lua51-devel
|
||||
Requires: lua51-bit32
|
||||
Requires: lua51-luv
|
||||
Recommends: python3-neovim
|
||||
%if 0%{?suse_version} < 1330
|
||||
Requires(post): gtk3-tools
|
||||
Requires(postun): gtk3-tools
|
||||
%endif
|
||||
%endif
|
||||
%if 0%{?suse_version} >= 1500
|
||||
# Modern *SUSE … tests are enabled
|
||||
# For tests
|
||||
BuildRequires: lua51-busted
|
||||
BuildRequires: hostname
|
||||
# end of test requirements
|
||||
%endif
|
||||
%if 0%{?rhel} || 0%{?fedora}
|
||||
BuildRequires: lua-bit32
|
||||
BuildRequires: lua-devel
|
||||
BuildRequires: lua-lpeg
|
||||
BuildRequires: lua-luv-devel
|
||||
BuildRequires: lua-mpack
|
||||
BuildRequires: luarocks
|
||||
BuildRequires: python2-six
|
||||
Requires: lua-luv
|
||||
%endif
|
||||
%if 0%{?rhel}
|
||||
BuildRequires: lua-bit32
|
||||
BuildRequires: lua-macros
|
||||
BuildRequires: luajit-devel
|
||||
Requires: lua-bit32
|
||||
Requires: python34-neovim
|
||||
%endif
|
||||
|
||||
Provides: nvim
|
||||
|
||||
%description
|
||||
@ -151,8 +100,6 @@ parts of Vim, without compromise, and more.
|
||||
%prep
|
||||
%autosetup -p1
|
||||
|
||||
install -p -m 0755 %{SOURCE10} .
|
||||
|
||||
# Remove __DATE__ and __TIME__.
|
||||
BUILD_TIME=$(LC_ALL=C date -ur %{_sourcedir}/%{name}.changes +'%{H}:%{M}')
|
||||
BUILD_DATE=$(LC_ALL=C date -ur %{_sourcedir}/%{name}.changes +'%{b} %{d} %{Y}')
|
||||
@ -171,7 +118,6 @@ export CXXFLAGS="%{optflags} -fcommon"
|
||||
-DPREFER_LUA=%{?with_luajit:OFF}%{!?with_luajit:ON} \
|
||||
-DLUA_PRG=%{_bindir}/%{?with_luajit:luajit}%{!?with_luajit:lua} \
|
||||
%if %{with luajit}
|
||||
-DBUSTED_PRG="$(readlink -f ../lj-busted.sh)" \
|
||||
-DLUAJIT_INCLUDE_DIR:PATH=%(pkg-config --cflags-only-I luajit|cut -c 3-) \
|
||||
%endif
|
||||
-DUSE_BUNDLED=OFF -DLUAJIT_USE_BUNDLED=ON \
|
||||
@ -179,8 +125,8 @@ export CXXFLAGS="%{optflags} -fcommon"
|
||||
-DCMAKE_COLOR_MAKEFILE=OFF \
|
||||
-DCMAKE_C_FLAGS_RELWITHDEBINFO="$opts" \
|
||||
-DCMAKE_INSTALL_PREFIX:PATH=%{_prefix} \
|
||||
-DLIBLUV_INCLUDE_DIR:PATH=%{lua_incdir} \
|
||||
# -DLIBLUV_LIBRARY=%%{lua_archdir}/luv.so
|
||||
-DLIBLUV_INCLUDE_DIR:PATH=%{lua_incdir}
|
||||
|
||||
%make_build
|
||||
|
||||
popd
|
||||
@ -193,11 +139,8 @@ popd
|
||||
install -D -m 644 -p %{SOURCE1} %{buildroot}%{_sysconfdir}/nvim/sysinit.vim
|
||||
ln -sf %{_sysconfdir}/nvim/sysinit.vim %{buildroot}%{_datadir}/nvim/sysinit.vim
|
||||
|
||||
%if 0%{?suse_version}
|
||||
# install SUSE specific spec template
|
||||
install -p -m 644 %{SOURCE3} %{buildroot}%{_datadir}/nvim/template.spec
|
||||
%else
|
||||
install -p -m 644 %{SOURCE2} %{buildroot}%{_datadir}/nvim/template.spec
|
||||
%endif
|
||||
|
||||
desktop-file-install --dir=%{buildroot}%{_datadir}/applications \
|
||||
runtime/nvim.desktop
|
||||
@ -218,33 +161,8 @@ mkdir -p %{buildroot}%{vimplugin_dir}/{after,after/syntax,autoload,colors,doc,ft
|
||||
# https://en.opensuse.org/openSUSE:Packaging_checks
|
||||
export NO_BRP_CHECK_RPATH=true
|
||||
|
||||
%check
|
||||
%if %{with luajit}
|
||||
# Tests fail on aarch64 gh#neovim/neovim#18176
|
||||
%ifnarch aarch64
|
||||
# set vars to make build reproducible in spite of config/CMakeLists.txt
|
||||
HOSTNAME=OBS
|
||||
USERNAME=OBS
|
||||
pushd build
|
||||
%make_build BUSTED_PRG=$(readlink -f ../lj-busted.sh) unittest
|
||||
popd
|
||||
%endif
|
||||
%endif
|
||||
|
||||
%if 0%{?suse_version} && 0%{?suse_version} < 1330
|
||||
%post
|
||||
%desktop_database_post
|
||||
%icon_theme_cache_post
|
||||
%endif
|
||||
|
||||
%if 0%{?suse_version} && 0%{?suse_version} < 1330
|
||||
%postun
|
||||
%desktop_database_postun
|
||||
%icon_theme_cache_postun
|
||||
%endif
|
||||
|
||||
%files
|
||||
%doc BACKERS.md CONTRIBUTING.md README.md
|
||||
%doc CONTRIBUTING.md README.md
|
||||
%docdir %{_mandir}
|
||||
%license LICENSE.txt
|
||||
%{_bindir}/nvim
|
||||
|
@ -1,37 +0,0 @@
|
||||
Name:
|
||||
Version:
|
||||
Release: 1%{?dist}
|
||||
Summary:
|
||||
|
||||
License:
|
||||
URL:
|
||||
Source0:
|
||||
|
||||
BuildRequires:
|
||||
Requires:
|
||||
|
||||
%description
|
||||
|
||||
|
||||
%prep
|
||||
%autosetup
|
||||
|
||||
|
||||
%build
|
||||
%configure
|
||||
%make_build
|
||||
|
||||
|
||||
%install
|
||||
%make_install
|
||||
|
||||
|
||||
%check
|
||||
|
||||
|
||||
%files
|
||||
%license
|
||||
%doc
|
||||
|
||||
|
||||
%changelog
|
Loading…
Reference in New Issue
Block a user