Vim-fork focused on extensibility and agility

Edit Package neovim

Neovim is a refactor - and sometimes redactor - in the tradition of Vim, which itself derives from Stevie. It is not a rewrite, but a continuation and extension of Vim. Many rewrites, clones, emulators and imitators exist; some are very clever, but none are Vim. Neovim strives to be a superset of Vim, notwithstanding some intentionally removed misfeatures; excepting those few and carefully-considered excisions, Neovim is Vim. It is built for users who want the good parts of Vim, without compromise, and more.

Refresh
Refresh
Source Files
Filename Size Changed
7657-run-tests-aarch64.patch 0000001768 1.73 KB
lj-busted.sh 0000000057 57 Bytes
neovim-0.1.7-bitop.patch 0000002661 2.6 KB
neovim-0.7.0.tar.gz 0010925354 10.4 MB
neovim-rpmlintrc 0000000191 191 Bytes
neovim.changes 0000062108 60.7 KB
neovim.patch 0000000633 633 Bytes
neovim.spec 0000007389 7.22 KB
spec-template 0000000235 235 Bytes
suse-spec-template 0000001260 1.23 KB
sysinit.vim 0000000259 259 Bytes
Revision 42 (latest revision is 60)
Dominique Leuenberger's avatar Dominique Leuenberger (dimstar_suse) accepted request 970881 from Matej Cepl's avatar Matej Cepl (mcepl) (revision 42)
- Tests fail on aarch64 gh#neovim/neovim#18176
- Add 7657-run-tests-aarch64.patch fixing some tests on aarch64
  (gh#neovim/neovim#7423).
- Instead of patch, just provide fake busted shell script which
  runs luajit. TESTS ARE ON!
- Only recommend python3-neovim.
- Upgrade to 0.7.0:
    - api: add support for lua function & description in keymap (b411f43)
    - api: add api and lua autocmds (991e472)
    - api: nvim_clear_autocmd (b80651e)
    - api: pass args table to autocommand callbacks (30bc02c)
    - api: remove Lua autocommand callbacks when they return true (#17784) (be35d3c)
    - api: implement nvim_{add,del}_user_command (eff11b3)
    - api: implement nvim_buf_get_text (#15181) (11f7aee)
    - api: add nvim_get_option_value (71ac00c)
    - highlight: ns=0 to set :highlight namespace (4aa0cdd)
    - highlight: support for blend in nvim_set_hl (#17516) (b5bf487)
    - api: add strikethrough, nocombine to set_hl (cb18545)
    - api: relax statusline fillchar width check (3011794)
    - lua: add vim.keymap (6d41f65)
    - lua: add vim.spell (#16620) (e11a44a)
    - lua: add proper support of luv threads (b87867e)
    - lua: make :lua =expr print result of expr (d442546)
    - lua: handle lazy submodules in :lua vim. wildmenu completion (5ed6080)
    - lua: add notify_once() (#16956) (d78e466)
    - lua: add support for multiple optional types in vim.validate (#16864) (55c4393)
    - lua: show proper verbose output for lua configuration (ebfe083)
    - lua: more conversions between LuaRef and Vim Funcref (c8656e4)
    - lua: support converting nested Funcref back to LuaRef (#17749) (cac90d2)
    - call __tostring on lua errors if possible before reporting to user (81bffbd)
    - filetype.lua (#16600) (3fd454b)
    - filetype.lua: add support for files under .git (7a574e5)
    - filetype.lua: add support for patch files (27b664a)
    - filetype.lua: add support for tmux.conf files (94d5358)
    - filetype.lua: add support for txt files (#16926) (a45b578)
    - filetype.lua: Add typescript extension to filetype detection (#16923) (8ade800)
    - filetype.lua: fix .cc file not detected (c38d602)
    - filetype.lua: fix .env file not detected (19864bd)
    - filetype: convert patterns for mail buffers (#17238) (4458413)
    - filetype: support scripts.vim with filetype.lua (#17517) (fdea157)
    - decorations: support signs (30e4cc3)
    - extmarks: add strict option (11142f6)
    - api: expose extmark more details (5971b86)
    - api: expose extmark right_gravity and end_right_gravity (3d9ae9d)
    - use nvim_buf_set_extmark for vim.highlight (#16963) (b455e01)
    - statusline: support multibyte fillchar (be15ac0)
    - add support for global statusline (5ab1229), closes #9342
    - ui: allow conceal to be defined in decorations and tree-sitter queries (6eca9b6)
    - tree-sitter: allow Atom-style capture fallbacks (#14196) (8ab5ec4)
    - treesitter: add more default groups to highlight map (#17835) (6d648f5)
    - treesitter: multiline match predicates (6e6c36c)
    - treesitter: set allocator when possible (b1e0aa6)
    - ts: add support for multiline nodes in get_node_text (#14999) (1f3c059)
    - ts: expose minimum language version to lua (#17186) (8c140be)
    - runtime: add query filetype (#17905) (2e85af4)
    - diagnostic: add "code" to the diagnostic structure (#17510) (5d6006f)
    - diagnostic: allow retrieving current diagnostic config (c915571)
    - lsp,diagnostic: open folds in jump-related functions (#16520) (222ef0c)
    - lsp: add buf_detach_client (#16250) (1b04da5)
    - lsp: add handler for workspace/workspaceFolders (#17149) (8e702c1)
    - lsp: dynamically generate list title in response_to_list (#17081) (574a582)
    - lsp: enable default debounce of 150 ms (#16908) (55a59e5)
    - lsp: skip or reduce debounce after idle (#16881) (b680392)
    - lsp: use vim.ui.select for selecting lsp client (#16531) (f99f3d9)
    - ui_client: connect to remote ui (a4400bf)
    - ui_client: implement event handlers (794d274)
    - ui_client: handle resize events (c6640d0)
    - ui_client: implement async paste handling (55b6ade)
    - ui_client: pass user input to remote server (6636160)
    - --headless: add on_print callback to stdioopen (a4069a3)
    - add autocommand event when search wraps around (#8487) (8ad6015)
    - add vim.tbl_get (#17831) (69f1de8)
    - autocmd: add Recording autocmds (8a4e26c)
    - autocmd: populate v:event in RecordingLeave (#16828) (f65b0d4)
    - completion: support selecting item via API from Lua mapping (c7aa646)
    - eval/method: partially port v8.1.1993 (4efcb72), closes #10848
    - eval/method: partially port v8.1.1996 (2ee0bc0)
    - eval/method: partially port v8.1.2004 (0f4510c)
    - eval: partially port v8.2.0878 (d746f5a), closes vim/vim#5481
    - eval: port emsg from v8.2.3284 (8adbba7)
    - events: add DirChangedPre (059d36e), closes vim/vim#9721
    - events: support SIGWINCH for Signal event #18029 (b2cb05b), closes #15411
    - hardcopy: check gui colours for highlights first (e5b5cbd)
    - highlight: support color names for cterm (dc24eeb)
    - ignore nore on maps (0347875)
    - input: delay some conversions to vgetc() (d7488bf)
    - input: enable /, /, /<c-[> pairs unconditionally (ed88ca7)
    - keymap: add F38-F63 keys (#17893) (9da0023)
    - keymap: return nil from an expr keymap (58140a9)
    - mappings: considering map description when filtering (#17423) (9a74c2b)
    - provider: remove support for python2 and python3.[3-5] (baec0d3)
    - remote: add basic --remote support (5862176)
    - runtime: import cleanadd.vim from Vim (#17699) (d33aebb)
    - runtime: include Lua in C++ ftplugin (#17843) (02fd00c)
    - runtime: new checkhealth filetype (#16660) (734fba0)
    - term: use vterm_output_set_callback() (7813b48)
    - test: use nvim_exec in helpers.source() #16064 (72652cb), closes #16071
    - trigger ModeChanged for terminal modes (fdfd1ed)
    - tui: add error logging (#16615) (34d88ed)
    - tui: add support for CSI 4 : [2,4,5] m (f89fb41), closes #17362
    - tui: enable CSI u keys (a11ff55)
    - vim-patch.sh: support additional args for -s (0ec92bb)
    - lsp: request only changed portions of the buffer in changetracking (#17118) (9055ec5)
    - only redraw concealed line if cursor has moved horizontally (595c1a7), closes #17889
    - pre-compile embedded Lua source into bytecode (#16631) (4240ce8)
    - screen: reduce cursorline redrawing when jumping around (c29a14d), closes vim/vim#9996
    - treesitter: cache query parsing (9c26939)
    - api: elide luaref copy when setting 'callback' in nvim_set_keymap (9f489f5)
    - --headless: do not block on press-enter prompts when no UI (5b34c2a), closes #9358 #11718 #15910
    - not shown in :map commands (07a98b1)
    - add forkpty for SunOS variants (2c8f4d0)
    - add STRNLEN compatability macro (8f1fdbc)
    - anonymous sid not working (7b6ee3e)
    - api, lua: return NIL on failure to find converted function (#17779) (77eb6f9)
    - api/nvim_win_call: share common win_execute logic (452b46f)
    - api: allow empty list for cterm in nvim_set_hl (e35a2d8)
    - api: allow nvim_buf_set_extmark to accept end_row key (#16548) (cf32053)
    - api: convert blob to NUL-terminated API string (f6cc604)
    - api: correctly handle negative line numbers for nvim_buf_set_text (#17498) (1500447), closes #15181
    - api: correctly pass f-args for nvim_create_user_command (#18098) (e463eb8)
    - api: delete all autocmds with the same ID (dc3bbd3)
    - api: force redefinition of user commands by default (#16918) (3923843)
    - api: highlight attribute for underline (96bb178), closes #17624
    - api: improve autocmd error handling (9292938)
    - api: include event in get_autocmds (#17553) (37a86a2)
    - api: make nil value in nvim_set_option_value clear local value (#16710) (33cd1ba)
    - api: nvim__set_hl_ns causes extra redraws (505c12c)
    - api: nvim_win_set_cursor() redraw for cursorline and statusline (f92e749)
    - api: re-route nvim_get_runtime_file errors (d512be5)
    - api: use changedir_func() in nvim_set_current_dir() (23c3f7f)
    - api: validate command names in nvim_add_user_command (#17406) (238b944)
    - api: validate user_command name (#17004) (a34652e)
    - append test for checking zero width node range (58d81ef)
    - aucmd_win: always make aucmd_win the last window (89712dc)
    - aucmd_win: ensure aucmd_win stays floating (2deffb5)
    - autocmd: clean up autocmds only when needed (#17593) (d5bd7ff)
    - autocmd: restore autocmd showing behavior (74a2774)
    - autoload variables not loaded with vim.g & nvim_get_var (f292dd2)
    - bounds check for underdot (7fd1182)
    - build: check for empty value of LUAC_PRG (#16711) (eceb0b3)
    - build: check that LuaJIT has required modules for compilation (#16714) (abdf3a8)
    - build: install luajit modules on windows (#16658) (2abd178)
    - channel: fix channel consistency (5051510)
    - check for interrupt in nvim_echo, write_msg and nlua_print (#16537) (db4bc32)
    - checkhealth: make provider checkhealth output more consistent (#17722) (33ada23)
    - ci/backport: check for event_name == "pull_request_target" (50c8cc3)
    - ci: provide necessary permissions for calling workflow (b55e659)
    - clang/'Dead store': do not assign endcol (#17788) (876d22f)
    - close floating windows when calling win_close() (85ae04d)
    - completion: prevent K_LUA from closing pum (42e5fd3)
    - completion: update submode message when selecting from API (#17022) (69f3719)
    - correct vertical dragging room calculation with global statusline (#17928) (0d4bd42)
    - coverity/175977: big parameter passed by value (da89725)
    - coverity/188749: nullify pointer to fix use-after-free (d224957)
    - coverity/340720: error if nvim_eval_statusline given invalid winid (e850a92)
    - coverity: dead code and operands don't affect result #17662 (c3a6ff6)
    - decorations: do not put empty virt_text (#17872) (ba257d7)
    - define NAME_MAX from _XOPEN_NAME_MAX (8fdf1b2)
    - diagnostic: allow setting arbitrary config values (984270c)
    - diagnostic: assert that diagnostics have line number and column (#16683) (b515160)
    - diagnostic: clamp diagnostics on negative line numbers (#16496) (254c22a)
    - diagnostic: escape special chars in file names (#16527) (62f0157)
    - diagnostic: improve validation for list arguments (#16855) (838631e)
    - diagnostic: make open_float respect global diagnostic options (#17879) (a8e2c45), closes #17878
    - diagnostic: only set default handler config if unset (8a27205)
    - diagnostic: resolve nil opts tables (fc8af96)
    - diagnostic: respect "if_many" source option for virtual text (#16653) (818ae74)
    - diagnostic: set effective buffer number for DiagnosticChanged autocmd (#16474) (99f6260)
    - diagnostic: set effective buffer number in autocmd (again) (#16589) (6063e07), closes #16474
    - diagnostic: use botright copen for qflist (#17475) (d80c9b9)
    - diff: make algorithm work for vim.diff (#17300) (92e92f0), closes #17207
    - do not cast offset to char_u (1a88729)
    - do not pass aucmd to the callback (#17650) (4f007a7)
    - do not save K_EVENT as lastc in Insert mode (ab1ceaa)
    - docs: add bufnr and user_data to diagnostic-structure (#16619) (3aff3d6)
    - docs: spelling in new underlines docs (4472820)
    - don't include pty.h on SunOS (435dd04)
    - don't use cfsetspeed, use i and o variants (05f9f63)
    - enable filetype detection and syntax highlighting with --clean (#17566) (ed1a9c3)
    - eval/method: add missing method support for existing built-ins (752ca2c)
    - eval: v:lua support for - in module names (fb8cd34)
    - event-loop: call vpeekc() directly first to check for character (74998b0)
    - event-loop: check if executed register has ended (64802da)
    - event-loop: duplicate display updating logic in vgetorpeek() (#17913) (a9665bb)
    - events: make v:event readonly in more events (#18070) (f89ca71)
    - ex_normal: spam \n in Ex mode only if in Cmdline mode (#17977) (a783cdd)
    - extmarks: fix signs (2ab2af5), closes #17638
    - extmarks: splice extmarks on accepting spell (ea71c26)
    - filetype.lua: always return a string in getline helper function (#17852) (5e64d65)
    - filetype: expand tildes in filetype patterns (#17091) (59ea8fa)
    - filetype: fix foam pattern detection (6e04c86)
    - filetype: match negative priority patterns after extensions (#16980) (e92b816)
    - filetype: match on rather than (#16943) (f40ce34)
    - filetype: normalize slashes in file paths (6c86079)
    - filetype: set default ft_ignore_pat in filetype.lua (#16917) (60d3bb7)
    - float: do not switch window before deleting last listed buffer (#17840) (a72f338)
    - float: don't always switch window when deleting last listed buffer (#17836) (ff82b27)
    - float: handle buffer deletion with floating windows (3fdb7b5)
    - float: make laststatus=1 behave consistently with floating windows (a9359dc)
    - healthcheck: handle empty reports (300b009)
    - health: do not run external processes in a shell (a87ecf5)
    - highlight: accept NONE as a color name (#17487) (1e7cb2d), closes #17478
    - highlight: allow globals to be cleared (876aaf2), closes #17420
    - highlight: always update window highlight if highlight changed (23dcef9)
    - inccommand: do not change reg_prev_sub when previewing (d11bbac)
    - input: do not translate scroll keys into multiclicks (5499736)
    - input: fix clearing of reg_executing (2a574f7)
    - input: never escape CSI bytes (ff7c3d1)
    - input: put modifiers back into typeahead buffer when needed (8184564)
    - input: remove reinterpreted ALT/META chords from recorded macro (75f4741)
    - keymap: don't coerce false to '' (3cc29b7)
    - keywordprg: retain terminal buffer after K (#17046) (3ee1ba3)
    - line continuation: set growsize to correct value (#17655) (f24121a)
    - lsp and diagnostic highlight priority (#17461) (791e400)
    - lsp: always split text edits on \r, \r\n, and \n (#17087) (b72aae8)
    - lsp: always use target bufnr in location handler (#16876) (e42c906)
    - lsp: avoid attaching to unloaded buffers (#16723) (d6b939a)
    - lsp: avoid nil workspace/symbol query (#17107) (7085e5b)
    - lsp: call config on_exit handler before context is cleared (#16638) (6a92a53)
    - lsp: correct prefix when filterText is present (#17051) (f6329ea)
    - lsp: correctly align start and end range to codepoints during incremental sync (#16670) (36c401d), closes #16624
    - lsp: create lsp requests with position offsets considering client encoding (#16382) (22d7dd2)
    - lsp: ensure pending changes are flushed on skipped debounce (#17015) (3f2fbb8)
    - lsp: explicitly pass bufnr in didSave handler (#16906) (207307d)
    - lsp: fetch offset_encoding from client in references (#17104) (a0201b6)
    - lsp: fix nil-index behavior for UTF-8 in _str_*index_enc methods (#16731) (9625832)
    - lsp: fix applying multiple out-of-range TextEdits (#17037) (43ef7df)
    - lsp: fix lookup of boolean values in workspace/configuration (#18026) (6160973)
    - lsp: forward offset_encoding in rename handler (#17079) (8066abc)
    - lsp: forward offset_encoding to apply_text_edits (#17075) (9304ee3)
    - lsp: handle insertion of previous line (#17618) (3800615)
    - lsp: handle negative activeSignature in signatureHelp (#17064) (e7cd811)
    - lsp: only send valid params in executeCommand (#16987) (e41e8b3)
    - lsp: pass offset_encoding in formatexpr() (#18084) (392cb7a)
    - lsp: progress handlers should return vim.NIL on error (#16472) (730a951)
    - lsp: resolve bufnr for get_lines (#16986) (b65a23a)
    - lsp: resolve nil bufnr (#16902) (e6c1545), closes #16889 #16745
    - lsp: respect all of 'fixeol', 'eol', and 'binary' applying edits (#17574) (d477788)
    - lsp: set tabSize from 'shiftwidth', not 'softtabstop' (#17787) (af427de)
    - lsp: start incremental sync range at previous newline character (#17610) (a5e475f)
    - lsp: strictly enforce passing offset encoding (#17049) (bc722c8)
    - lsp: suppress ContentModified errors from UI (#16904) (d6f0c95)
    - lsp: use "text" filetype for plaintext (#17898) (4d3acd6)
    - lsp: use botright copen for all handlers (#17471) (6a3accc)
    - lua: don't use nlua_error when exiting early (1479083)
    - lua: print multiple return values with =expr (#16933) (287d356)
    - lua: restore priority of the preloader (b518b57)
    - lua: stricter type check when calling API function (#16745) (297ff97), closes #13651
    - make mode() return correct value in ex mode (600e7e3)
    - man.vim: fix search function on some systems (#13709) (7165e77)
    - man.vim: support calling :Man without a section again (#17119) (ad2dbd4)
    - msgpack#strptime: use calendar.timegm to get seconds since epoch (fb14e2a)
    - ops: str_to_reg passing NULL to memcpy (8170260)
    - options: disallow empty 'fdc' and 'scl' (#16765) (70a68dc)
    - paste: avoid edges cases caused by empty chunk (fcc6f66)
    - paste: deal with eol and eof in Visual mode (bfb7754)
    - paste: deal with trailing new line in chunk (a6eafc7)
    - paste: don't move cursor past the end of pasted text in Normal mode (2601e08)
    - paste: escape control characters in Cmdline mode (e263afc)
    - paste: use getcmdtype() to determine whether in cmdline mode (9b1e1fb)
    - prompt: add missing changes from v8.1.0036 (d6ea074)
    - pty_process_win/wait_eof_timer_cb: also check for proc->out.did_eof (4154bf9)
    - pum_redraw: use grid_puts_len() to truncate the text (e6d35b9)
    - PVS/V1019: compound assignment expression is used inside condition (93e0d9b)
    - PVS/V560: ignore false "conditional expression is always false" (#17830) (d3af109), closes /github.com/vim/vim/pull/9993#issuecomment-1076544168
    - PVS/V583: the '?:' operator always returns one and the same value (#17790) (e9b53f3)
    - query.lua: check empty table for lines (afcf644)
    - quickfix: avoid O(N^2) when filling from string typval (#16654) (5ba45a7)
    - remote: make compile again (70d2ab1)
    - remote: report connection error, missing return values (2be938a)
    - remote: report on missing wait commands, typecheck lua results (29c3632)
    - remote: respect silent in error reporting (1dbf867)
    - remote: use STATIC_CSTR_AS_STRING (1201145)
    - resolve nil arguments to API functions (#16889) (36662c9), closes #16745 #16745
    - respect os_proc_children rv of pid not found (045422e)
    - runtime: add missing release metadata (5c1b8b7)
    - runtime: add syntax file for query (#18101) (7d1142b), closes #17905
    - runtime: check markdownError before syn-clear (#16930) (b435755)
    - screen: do not do syntax highlighting at filler or folded lines (#17818) (7735163)
    - screen: do not draw filler lines post eof if already at last row (b326bf5)
    - screen: do not update syntax_last_parsed when drawing folded line (#17826) (52fe8ea)
    - screen: don't put empty sign text in line number column (4ddd6c5)
    - screenpos, float: add top and left border adjustment (ffe3003)
    - screen: truncate double-width character correctly (bc75544)
    - screen: truncate when overwriting right half of a double-width char (28dadd5)
    - set nested before executing callback (#17801) (7fb2310)
    - set RedrawingDisabled before entering aucmd_win (dd21e21)
    - signcol: always trigger a redraw (8ba8f1a), closes #17693
    - signcol: handle edge case with maximum value (e67cd22)
    - signcol: update cursor when signcol changes (9d53791), closes #14195
    - skip libutil on SunOS (b8ae43d)
    - substitute: properly check for empty command line (9955209)
    - syntax.c: correct hunk from Vim patch 8.0.0647 (#17761) (9e66d27)
    - syntax: remove trailing spaces in vim.vim (6795c97)
    - tabpage: correct check for failure to close window (ae0a43e)
    - termdebug: handle exiting during startup properly (#16790) (315858b)
    - terminal: correctly forward mouse events (e0956f7)
    - terminal: fix resize crash with pending scrollback (#14891) (0a1391f)
    - terminal: ignore left-release mouse action (c96f7e2), closes #9483 #8691
    - terminal: return early if there are no invalid rows (c83fedf)
    - terminal: use coladvance() to calculate buffer cursor position (2784a5d)
    - test: only use buffer completion in popupmenu timer test (5ecb2cb)
    - tests: update legacy tab switch test to be sane (6dc31ee)
    - translation: po file for Russian (#17767) (e0fe91f)
    - translation: po file for Ukrainian (#18100) (4dc09f3)
    - ts: escape lang when loading parsers (#16668) (f9080b2)
    - tui: avoid using uninitialized memory in kitty (#17866) (a70b399)
    - tui: correct CSI sequence (#17844) (b81c310), closes #17771 /invisible-island.net/xterm/manpage/xterm.html#VT100
    - tui: end streamed paste correctly when key buffer is empty (40ed2b5)
    - tui: remove ESC NUL forced escape (#17198) (a2f1572)
    - ui: close floating window on BufLeave event (#16557) (576408d)
    - ui: inccomand performance degradation (54cec45)
    - ui: make window resize commands manage cmdheight (463174b)
    - update last cursor on first CursorMoved (#16698) (b42e0c4)
    - uri: change scheme pattern to not include the comma character (#16797) (56f3c41)
    - use normal! in default mapping (#17695) (f291a03)
    - vim-patch.sh: fix N/A files patterns (#18073) (8f95f3e)
    - win_close: count the window the be closed instead of curwin (3539456)
    - win_split_ins: do not fail when oldwin is not valid (0cf2dc6), closes #14240
Comments 1

Eric Renfro's avatar

This has current issues with Home and End keys in tmux. Neovim developers confirmed, and have suggested this is openSUSE-specific. Reference: https://github.com/neovim/neovim/issues/13408

openSUSE Build Service is sponsored by