mirror of
https://github.com/neovim/neovim
synced 2025-07-15 16:51:49 +00:00
For notable changes, see runtime/doc/news.txt (or `:help news` in Nvim). Following is a list of fixes/features commits. BREAKING -------------------------------------------------------------------------------- -0f4f7d32ce
remove `nvim` and `provider` module for checkhealth -7dbbaaec3f
rename 'jumpoptions' flag "unload" to "clean" (#30418) -35c5e23107
store artifact shasums in a single shasum.txt file -188ec19894
turn off translations by default -328ea02eb7
use utf8proc full casefolding -737f58e232
api: rename Dictionary => Dict -a389dc2f95
clipboard: use OSC 52 as fallback clipboard provider (#31730) -ad70c9892d
column: rework 'statuscolumn' %r/l items -eb60cd74fb
deps: bump tree-sitter to HEAD, wasmtime to v29.0.1 (#32200) -a119aae4d3
diagnostic: filter diagnostics by severity before passing to handlers (#30070) -51ccd12b3d
diagnostic: make virtual text handler opt-in (#32079) -a9e725b26e
diagnostics: sort underline severity_sort (#30898) -e8b5dd1e89
lsp: `symbol_to_item` requires `offset_encoding` -8260e4860b
lsp: multiple client support for vim.lsp.buf.hover() -debabaf884
lsp: pass buffer number to root_dir function -9b357e30fd
lsp: remove client-server handlers from vim.lsp.handlers -3e3775961f
lsp: rename lsp.completion.trigger() to get() (#32911) -0083e03d6f
lsp: support multiple clients in goto methods (#30877) -dff684fdb3
lsp: support multiple clients in lsp.buf.references -970a27927e
lua: do not use typed table for empty dict -de48fbbd5f
messages: vim.ui_attach message callbacks are unsafe -a27419f3fc
options: disallow setting hidden options #28400 -b922b7d6d7
options: use OptVal for option defaults #26691 -4d9a1b9852
provider/python: add python 3.13, drop 3.7 and 3.8 (EOL) #33022 -318676ad13
release: remove backwards compatible releases -ad191be65e
signs: place higher-priority signs from the left #27781 -0dd933265f
terminal: cursor shape and blink (#31562) -35e5307af2
terminal: include cursor position in TermRequest event data (#31609) -3cf602486c
terminal: make 'belloff' and 'visualbell' apply to terminal bell (#30859) -041d98fe8d
treesitter: add default fallback to `ft_to_lang` lookups -6913c5e1d9
treesitter: default to correct behavior for quantified captures (#30193) -bd4ca22d03
treesitter: don't parse tree in get_parser() or start() -a0b52e7cb3
treesitter: enforce buffer is loaded when creating parser -99e0facf3a
treesitter: use return values in `language.add()` -bda63d5b97
typval: remove distinction of binary and nonbinary strings -48e2a73610
ui: emit prompt "messages" as cmdline events #31525 -ca5fca2912
windows: drop cat and tee executables from windows -be89d520d7
windows: only support UCRT, even for mingw FEATURES -------------------------------------------------------------------------------- -efa45832ea
add "jump" options to vim.diagnostic.config() (#29067) -0631492f9c
add vim.fs.relpath -f864b68c5b
allow gx to function for markdown links -f3632e14e3
get/set namespace properties #28728 -a664246171
remove deprecated features -ead5683ff9
api: add err field to nvim_echo() opts -aec4938a21
api: broadcast events to ALL channels #28487 -34d808b73c
api: combined highlights in nvim_eval_statusline() -19b25f3fea
api: deprecate nvim_buf_add_highlight() -5c92b40b4b
api: deprecate nvim_out/err_write(ln) -d84a95da7e
api: nvim_get_autocmds filter by id#31549 -25d8c3a5ad
api: nvim_open_win() relative to tabline and laststatus #32006 -e00d67ef31
checkhealth: group parsers by name and path in output -563051a53e
clipboard: support g:clipboard="osc52" #33021 -60ea046741
clipboard: try cygutils, clip on Windows #30215 -2c629ad13f
column: apply appropriate numhl highlight to virt_lines (#32400) -65c7033cbe
comment: allow commentstring to be determined from node metadata -268a3de0a7
complete: CompleteDone reason "cancel", "discard" #32600 -a616272f56
complete: specify reason for CompleteDone -f1748b78e3
default: bind `vim.lsp.buf.signature_help` in select mode (#31223) -ac207c3ac2
defaults: "Show Diagnostics" in mouse popupmenu #32122 -2c6b635872
defaults: add LSP default mappings (again) (#28650) -bb7604edda
defaults: add default unimpaired style mappings (#28525) -4662ad5643
defaults: completeopt=popup #32909 -e8e3b443f8
defaults: disable 'foldcolumn' in terminal buffers (#31480) -cc6992f1ca
defaults: dot-repeat [<Space> #31186 -6db830e40e
defaults: enable diffopt "linematch" #32346 -b31132f1c1
defaults: jump between :terminal shell prompts with ]]/[[ #32736 -0b7cc014fc
defaults: map gO to LSP document_symbol #30781 -26e765f905
defaults: map gri to vim.lsp.buf.implementation() (#30764) -76aa3e52be
defaults: popupmenu "Open in browser", "Go to definition" #30261 -09d76afe84
defaults: pretty :help headings #30544 -079e5f4f9b
defaults: unimpaired empty line below/above cursor #30984 -1c6d920052
defaults: use vim.diagnostic.jump() for default mappings (#29066) -c9c17fda80
deprecations: vim._defer_deprecated_module() -38a52caec0
diagnostic: add `current_line` option for `virtual_text` handler -8ba73f0e4c
diagnostic: add vim.diagnostic.jump() (#26745) -445ecca398
diagnostic: format() can filter diagnostics by returning nil #32302 -99e7323aa3
diagnostic: inherit parent 'path' option in open_float (#31273) -21961967ff
diagnostic: update quickfix list by title #31486 -7579af3c51
diagnostic: vim.diagnostic.setqflist improvements #30868 -1759b7844a
diagnostic: virtual_lines #31959 -fd65422b99
diff: do not try external when out of memory -0c296ab224
docs: "yxx" runs Lua/Vimscript code examples #31904 -6628741ada
docs: improve `@see` meta docstrings #30693 -23290e7676
editor: handle new multibyte sequences in normal mode replacement -cb6c0fda71
editorconfig: add support for spelling_language (#28638) -4817547ec4
ex_cmds: :sleep! hides the cursor while sleeping (#31493) -4f9260d06a
ext_messages: add hl_id to ext_messages chunks -4cced601c8
extmark: stack multiple highlight groups in `hl_group` -931ee5591f
extmarks: virtual text can be right-aligned, truncated #31921 -62d9fab9af
float: add winborder option (#31074) -9b8907d905
float: allow enabling mouse for non-focusable window (#30844) -511b991e66
fs.lua: add vim.fs.rm() -054a287dbe
ftplugin: change 'commentstring' to `// %s` for C/C++ (#29085) -f398e3a61a
ftplugin: set Lua 'omnifunc' to vim.lua_omnifunc #32491 -b61051ccb4
func: allow manual cache invalidation for _memoize -548f19ccc3
health: close checkhealth buffers with q #31870 -f2fa4ca97e
health: highlight headings #30525 -b12b91c274
health: show :checkhealth in floating window #31086 -6592873f77
help: use treesitter for table of contents -3e09fbdf82
highlight: add StatusLineTerm and StatusLineTermNC groups -295920845e
highlight: make `PmenuMatch` and `PmenuMatchSel` bold -5b1136a99c
inccommand: preview 'nomodifiable' buffers #32034 -61025c9e7a
install: mention standard paths, XDG vars in Windows installer #29101 -8ef41f5902
jobs: jobstart(…,{term=true}), deprecate termopen() #31343 -e7020306a1
jumplist: allow opting out of removing unloaded buffers (#29347) -8d55cc218c
keysets: teach Union and LuaRefOf -5931f780e0
log: use "ui" as default name for TUI client #30345 -e4c6e732fd
lsp: add select kind in showMessageRequest #32387 -f20335a54c
lsp: add support for completionItem.command resolving -3f1d09bc94
lsp: add vim.lsp.config and vim.lsp.enable -6072153796
lsp: announce codeLens resolveSupport (#29956) -1f5bcc7c4e
lsp: completion opts support custom item conversion (#30060) -ff097f2091
lsp: completion side effects -7a7747f1e4
lsp: deprecate execute_command with client:exec_cmd -454ae672aa
lsp: deprecate non-method client functions -54249d051c
lsp: deprecate vim.lsp.buf.completion -e56437cd48
lsp: deprecate vim.lsp.start_client #31341 -55e4301036
lsp: drop fswatch, use inotifywait (#29374) -dad55f5e76
lsp: export diagnostic conversion functions (#30064) -44229bb85b
lsp: highlight hover target/range #31110 -27f3750817
lsp: improve LSP doc hover rendering #30695 -6722149776
lsp: include `end_col` and `end_lnum` in `vim.lsp.buf.symbols_to_items` -20f22f75ee
lsp: include end_col, end_lnum in vim.lsp.buf.locations_to_items #29164 -4e90bc3023
lsp: lsp.completion support set deprecated (#29882) -6e68fed374
lsp: multi-client support for signature_help -629483e24e
lsp: require `offset_encoding` param #31249 -e00cd1ab40
lsp: return resolved config for vim.lsp.config[name] -130b5fd85f
lsp: return table from lsp/ files on runtimepath (#31663) -ce678043e3
lsp: show server name in code actions #30830 -07d5dc8938
lsp: show server version in `:checkhealth` #31611 -a1e313ded6
lsp: support `textDocument/foldingRange` (#31311) -3b0fe2659e
lsp: support completion context #32793 -41b07b128c
lsp: support for resolving code action command (#32704) -35247b00a4
lsp: support function for client root_dir (#31630) -45e76acaa0
lsp: support hostname in rpc.connect #30238 -b2bad0ac91
lsp: support postfix snippets in completion -d3e4ffafff
lsp: support utf-8 and utf-32 position encodings -5d26934c7c
lsp: update LSP healthcheck format (#28980) -ae2fd91b41
lsp: update LSP types -0df2c6b5d0
lsp: use fuzzy match on filterText instead of prefix match -e4c1f6667b
lsp: use the meta model to generate server capability map -5581a95534
lsp: vim.lsp.buf.format() supports textDocument/rangesFormatting #27323 -92e4e3fb76
lsp.util: fix type errors -ff1d7d4299
lsp.util: get_bufs_with_prefix -> get_writeable_bufs -cbc82011ce
lsp.util: improve offset_encoding type annotations -a18fa2f11c
lsp.util: minor codestyle -1944c0d610
lsp.util: refactor get_border_size() -f0973d4227
lsp.util: refactor symbols_to_items() -0e8568d72c
lsp.util: remove lsp spec extract -0621718e3b
lsp.util: remove metatable in locations_to_items -3f87e222f7
lsp.util: remove some aliases -e954a16063
lsp.util: remove some variables -5bec7288a5
lsp.util: remove uneeded do-end -8ad000ef7c
lsp.util: remove unneeded table -d44d36b8ff
lsp.util: simplify some bounds checking -0066dd0f65
lsp.util: use faster version of vim.validate -1edfe5c09e
lsp.util: use vim.api alias -97119a2369
lsp.util: use vim.w/b -cd53db2157
lua: add `context.env` (environment variables) to `vim._with()` -9afa1fd355
lua: add `vim._with` -5180707310
lua: add `vim.fs.abspath` -b34e137e43
lua: allow vim.on_key() callback to consume the key (#30939) -d5ae5c84e9
lua: completion for vim.fn, vim.v, vim.o #30472 -0a5a0efda6
lua: don't complete private (_) fields after dot (.) #32690 -07cc559cdf
lua: update `vim._with` to allow more granular option contexts -af0ef2ac9d
lua: vim.hl.range() "timeout" #32012 -be1fbe38b3
lua: vim.text.indent() -fdeb01cd77
main: expand file ~\ or ~/ prefix on Windows (#28515) -ea5b748f24
man.vim: "q" always closes window #30819 -f58e7d5fac
marks: add conceal_lines to nvim_buf_set_extmark() -51cf84daf9
marks: virtual lines support horizontal scrolling (#32497) -cfdf68a7ac
mbyte: support extended grapheme clusters including more emoji -124c655f56
messages: "g<" mapping for ext_messages -cb7b4e2962
messages: "verbose" message kind #31991 -5bae80899d
messages: add :!cmd shell message kinds -e16bec41b6
messages: confirm kind for z=, :tselect, inputlist() #32521 -21151144c6
meta: add type for quickfix entries -82a215cb2d
options: add 'eventignorewin' (#32152) -d831392b15
paste: unify cancel and error behavior (#30476) -08c328b8b0
runtime: Lua ftplugin 'includeexpr' #32719 -f5714994bc
runtime: Lua ftplugin sets 'omnifunc', 'foldexpr' #32697 -e6cfcaed18
snippet: add default keymaps during snippet session -123f8d229e
snippet: set snippet keymaps permanent instead of dynamic (#31887) -96128a5076
startup: validate --listen address -230b0c7f02
stdlib: overload vim.str_byteindex, vim.str_utfindex #30735 -517ecb85f5
stdlib: vim.json.encode(...,{escape_slash:boolean}) #30561 -8df6736ca1
term: enable reflow by default (#21124) -4199671047
term: support OSC 8 hyperlinks in :terminal (#30050) -93480f7fba
term: trigger TermRequest for APC (#32407) -3ad977f01d
terminal: add support for copying with OSC 52 in embedded terminal (#29117) -6f0bde11cc
terminal: add support for kitty keyboard protocol -06a1f82f1c
terminal: forward X1 and X2 mouse events -e3bfcf2fd4
terminal: support grapheme clusters, including emoji -f1c45fc7a4
terminal: support theme update notifications (DEC mode 2031) (#31999) -56d11b494b
terminal: disable 'number', 'relativenumber', and 'signcolumn' in terminal buffers (#31443) -34cd94812d
test: support and document lua test case debugging -b8c75a31e6
treesitter: #trim! can trim all whitespace -ec8922978e
treesitter: add more metadata to `language.inspect()` (#32657) -bd3b6ec836
treesitter: add node_for_range function -688b961d13
treesitter: add support for wasm parsers -8543aa406c
treesitter: allow LanguageTree:is_valid() to accept a range -44ccd9ca24
treesitter: allow `iter_captures` to accept `opts` -8b5a0a00c8
treesitter: allow disabling captures and patterns on TSQuery (#32790) -1af55bfcf2
treesitter: allow get_node to return anonymous nodes -a94a2927d0
treesitter: allow passing lang to InspectTree -45e606b1fd
treesitter: async parsing -3dfb9e6f60
treesitter: include capture id in return value of `get_captures_at_pos()` #30559 -267c7525f7
treesitter: introduce child_with_descendant() -09f9f0a946
treesitter: show which nodes are missing in InspectTree -b9b408a56c
treesitter: start moving get_parser to return nil #30313 -da0ae95349
treesitter: support modelines in `query.set()` (#30257) -2e5b560482
treesitter: table of contents for checkhealth, markdown (#32282) -8ba047e33f
treesitter: vertical conceal support for highlighter -ff85e54939
tui: builtin UI (TUI) sets client info #30397 -4fb3b57a19
tui: handle kitty key events in libtermkey (#31727) -f93ecd2760
tui: parse CSI subparams in termkey (#29805) -44dbfcfba4
tui: recognize X1 and X2 mouse events -e41368f3bc
tui: support in-band resize events (#29791) -d460928263
tui: update 'background' on theme change events (#31350) -45e319ade6
tutor: give hints to satisfy the line checker #30952 -4b0e2605ea
ui: UI :detach command -394f69a25d
ui: additional arguments for cmdline_show/hide events -a0e3fe5741
ui: cascading style inheritance for Pmenu* highlights #29980 -f85bc41c80
ui: don't show unfocusable windows in :tabs, 'tabline' #27984 -9762c5e340
ui: gx: use url extmark attribute and tree-sitter directive (#30192) -43d552c566
ui: more intuitive :substitute confirm prompt #31787 -433b342baa
ui: sign/statuscolumn can combine highlight attrs #31575 -a10636fbe7
ui: specify whether msg_show event is added to history -e049c6e4c0
ui: statusline text inherits highlights #29976 -611ef35491
vim.fs: find(), dir() can "follow" symlinks #31551 -3f15e57b26
vim.ui: configurable "gx" / vim.ui.open() tool -f4b620c4e6
vim.ui.open: support lemonade #30845 -3572319b4c
vim.validate: improve fast form and deprecate spec form -cb84cd5d9f
win32: embed executable icon FIXES -------------------------------------------------------------------------------- -200e7ad157
apply the change on more files -6720bd440f
assert failure in VimL expression parser -d123202ae6
change deprecation presentation -ded15ca8c2
completion.enable(false,...) deletes invalid augroup #32121 -7737f89206
deps build for ARM64 MSVC -50749f8df8
extend the life of vim.tbl_flatten to 0.13 -25abcd243e
fix broken wasmtime build -b6ab294838
fix incorrect search code -46b69aaf14
include nvim/ascii_defs.h -01b4da65c2
merge all provider healthchecks into a single health.lua -5c245ec3e9
remove vim.lsp._with_extend -98ba65b8be
replace NVIM with Nvim in default titlestring (#30348) -6aa42e8f92
resolve all remaining LuaLS diagnostics -e71713ba2b
show swapfile warning as a warning (#28971) -0418107074
update osc52 termfeatures flag on UIEnter/UILeave (#32756) -0829e7575d
warn when :InspectTree on buffer with no parser #32783 -47f2769b46
Man: completion on Mac -89f9f168a5
api: alloc and draw cursor window in nvim__redraw -743c5808b6
api: allow `scope = 'local'` with `buf` when using `nvim_get_option_value` -487c48ec86
api: clamp range lines in `nvim__redraw()` (#31710) -141114c170
api: crash on invalid buffer to nvim_buf_del_user_command (#31908) -716adbcc45
api: deprecate nvim_subscribe, nvim_unsubscribe #30456 -1e47aa677a
api: deprecated API nvim_get_option does not validate option name #31919 -095c0876c2
api: don't override Vimscript SID (#32610) -bff07f6dd0
api: don't try to get/set option for invalid option name (#31302) -0e59f6f4c7
api: don't use 'winborder' when reconfiguring float (#32984) -cce1eb0806
api: error properly with invalid field in nvim_open_win (#30078) -63bbb7c109
api: fix 'winborder' preventing splits with nvim_open_win (#32981) -f55213ce0e
api: fix crash/leak with float title/footer on error (#30543) -022449b522
api: generic error messages, not using TRY_WRAP #31596 -8de1dc6923
api: make `nvim_set_hl()` respect all `cterm` attributes (#31390) -ad60b3fb48
api: memory leaks in vim.api.nvim_*get_option #32390 -167a2383b9
api: not using TRY_WRAP, generic error messages #31595 -bf48dfadec
api: nvim__complete_set requires completeopt=popup #31177 -d1d7d54680
api: nvim_buf_get_text() crashes with large negative column #28740 -6ea45031d5
api: nvim_echo free text memory with invalid highlight (#31243) -e2ad251c8d
api: nvim_get_option_value does not clean up on FileType error #31219 -5b9518b436
api: nvim_set_decoration_provider callback return type #31912 -01a97d2ad7
api: nvim_win_set_buf(0, 0) fails if 'winfixbuf' is set #31576 -40347f6e27
api: only flush nvim__redraw when necessary #31250 -36f44b3121
api: remove invalid assertions -235cb5bc5f
api: update "range" windows in nvim__redraw #31042 -9c718bc2bc
api: validation, documentation of hl_group #31195 -289c9d21cb
autocmds: once=true Lua event-handler may call itself #29544 -ffaab09e99
build: <termios.h> is system-dependent #31705 -486076a0e1
build: remove USE_FNAME_CASE, redundant with CASE_INSENSITIVE_FILENAME -217e26cb64
build: surpress spurious warnings from gcc in -E preprocessor mode -34a2bfdcc5
build: vimdoc tags are not validated #32801 -8070988247
channel: handle writing to file instead of pipe (#30519) -c49162be59
channel: log after (not before) channel-close -965dc81f81
checkhealth: disable 'listchars' #31245 -4c9f3689a1
checkhealth: failed if 'lua' in plugin name -f5dd30948e
checkhealth: handle nested lua/ directory #32918 -c48cf18752
checkhealth: module not found when `&rtp` has nested paths #32988 -2495e7e22a
clipboard: tmux clipboard depends on $TMUX #31268 -847c28f6f6
cmdline: always show cmdline when it is a prompt #31866 -af4231d407
cmdline: cmdline completion of _defer_require() modules #33007 -a70ad5cdb6
cmdline: ext_cmdline block events for conditionals -bbf36ef8ef
cmdline: prevent cmdline_show events after exiting cmdline #32033 -092042b43d
cmdline: simplify and correct grapheme cluster adjustment -86ae59c612
colorscheme: distinguish CursorLine/Folded/StatusLineNC highlights #32256 -9b9f54e2c1
colorscheme: underline StatusLineNC with 'notermguicolors' #28810 -8bc28978b6
column: apply custom highlight to last 'statuscolumn' segment (#32182) -3cb1e825e6
column: check if signcolumn changed in all windows #31439 -1dcda86559
column: clamp line number for legacy signs -f2083bd55c
column: crash with 'signcolumn' set to "number" (#29003) -f9a49fab0c
column: modifying a sign should update placed signs (#29750) -d5f6f61879
column: set signcolumn width after splitting window (#30556) -063b69bab4
column: unnecessary redraws with resized 'statuscolumn' (#32944) -0a2218f965
comment: fall back to using trimmed comment markers (#28938) -e788d1a3a9
completion: avoid deleting text when completion leader changes #31448 -bfa365a872
completion: don't include <Lua function> in -complete= (#30209) -55dc482e75
completion: fix inconsistent Enter behavior (#30196) -83a7d97d64
coverity: CID 509571 Uninitialized variables #30395 -e1c2179dd9
coverity: INTEGER_OVERFLOW #31657 -f9eb68f340
coverity: error handling CHECKED_RETURN #31618 -069451bb21
coverity: size_t overflow #30497 -ff7832ad3f
coverity/497355: shada_read_when_writing out of bounds read #30665 -c49030b75a
coverity/497375: f_strpart cast overflow (#30773) -0fe4362e21
coverity/509227/509228: tui driver_ti underflow #30341 -60e1862ccb
coverity/510275: linematch out of bounds access (#30687) -a2008118a0
coverity/510436: shada_read_when_writing index out of bounds (#30686) -71507281fb
coverity/530826: validate_opt_idx unchecked negative idx (#32081) -5af9c065ad
decor: don't draw invalidated virtual lines (#29858) -a8fbe1d409
decor: don't use separate DecorSignHighlight for url (#30096) -34ded4d97b
decor: exclude invalid marks from meta total -87610d82db
decor: set invalid flag for end of invalidated paired marks -33ff546b50
decoration: fix crash when on_lines decor provider modifies marktree -0e299ebf75
decorator: noisy errors from decoration provider #31418 -f2173b1aa2
defaults: cannot remove "How-to disable mouse" menu item #30375 -61aabe0730
defaults: default @/Q broken when 'ignorecase' is set (#29343) -8323398bc6
defaults: don't replace keycodes in Visual search mappings (#31460) -f6f2334ac2
defaults: error messages UX for unimpaired mappings #30884 -59a171fd99
defaults: improve visual search mappings #32378 -01739d4673
defaults: missing ]Q/[Q unimpaired mappings #30943 -c644228e1d
defaults: omit empty line from unimpaired mapping messages (#31347) -ff93cccbc1
defaults: omit extraneous info from unimpaired mapping errors (#30983) -4075e613b2
defaults: properly pass count to quickfix commands (#30632) -289380bc40
defaults: use "range" instead of "count" for some mappings (#30642) -573fcb8b66
deps: revert accidental test commits (#30864) -de794f2d24
diagnostic: broken variable reference #31557 -c78728a384
diagnostic: clear autocmd only for valid buf (#32861) -f1fcf653cb
diagnostic: clear virtual_lines autocmd only for valid buf #32979 -921dc22fc0
diagnostic: correct `severity` type on `setqflist`, `setloclist` (#30506) -0e8e4a07f5
diagnostic: don't include diagnostic code when using custom formatter #32464 -d918ebe3b8
diagnostic: fix backwards compatibility for goto_next and goto_prev (#29593) -f69937fdbd
diagnostic: fix float scope filtering (#29134) -5bc948c050
diagnostic: improve current_line refresh logic #32275 -4b3be56a03
diagnostic: make docs agree with code (#29561) -fd902b1cb2
diagnostic: only store quickfix id when creating a new one #31466 -3b1d0e7f70
diagnostic: remove deprecated `severity_limit` option -5eda7aafe9
diagnostic: setqflist() is stuck after vim.lsp.buf.document_symbol #31553 -9a43ec13e6
diagnostic: show backtrace for deprecation warnings -4cbeb6fa3c
diagnostic: silence :chistory #31701 -6c975515c5
diagnostic: vim.diagnostic.setqflist() opens loclist on first call #31585 -17c25a66fc
diagnostic: virtual lines should scroll horizontally -fb842dfc22
diagnostic: virtual_lines diagnostic columns (#32703) -e5e81262af
diagnostics: don't apply extmarks to invalid lines #29321 -c65646c247
diff: use mmfile_t in linematch -81ea44fa6a
display: adjust winline info for concealed lines below last line (#32708) -f25dd7a8d5
display: correctly store winline info for concealed lines (#32656) -a901fb875f
docs: add missing properties to hl_info #30032 -cc26cf0400
docs: do not treat indexes as `short_link` -056009f741
docs: markdown instead of vimdoc in meta docstrings #30680 -8801b77ed0
docs: missing `@returns` desc in _meta/api.lua #30673 -09bcb31068
docs: replace `yxx` mappings with `g==` #31947 -efe92f9dff
docs: update context type in `vim.lsp.LocationOpts.OnList` -b8135a76b7
docs: wrong return value annotation for `nvim_buf_get_extmarks` -376de1483e
drawline: correct highlight priority with Visual selection (#30706) -9a0239fdc8
drawline: don't draw beyond end of window (#29035) -b1c439cef6
drawline: don't draw beyond end of window with 'rnu' (#29406) -34344b939c
editor: avoid scrolling :substitute confirm message #32149 -9e7b0bcf51
editorconfig: fix indent style for `local.mk` (#31342) -b0a1d35f69
eval: don't shorten $HOME in v:stacktrace (#32634) -2a3561819e
eval: handle wrong v:lua in expr option properly (#29953) -4317d36669
event-loop: process input before events in getchar() (#32322) -f05a6666cf
events: always allow some events to be nested (#32706) -e9f4ceeb74
events: don't expand `args.file` for Lua callback (#31473) -1f49a59b8b
events: fix incorrect capitalization of Cmdwin* events (#32813) -8c2d45be77
exit: close memfiles after processing events (#30872) -c7ec010ade
extmark: builtin completion can still affect nearby extmarks #31387 -93278e7720
extmark: clearer error message for invalid ephemeral mark usage -43a2019f09
extmarks: issues with revalidating marks #28961 -84ad95fdc9
fileio: copy to correct buffer position when reading -93347a67bf
filetype: fix :filetype detect error with -u NONE (#29991) -aa9f21ee95
filetype: fix typos in filetype detection -032e024f8a
filetype: handle .in files with no filename (#30487) -1077843b9b
filetype: make filetype detection work with :doautocmd (#31470) -21cbd90007
filetype: normalize full path before matching #32227 -5a8a34dafa
filetype: source ftdetect/* after creating scripts.vim autocmds (#29445) -cff5fa49fc
float: "Not enough room" error for 1-line float #25192 -07c5f41da3
float: can set title/footer without setting border #32594 -be01b361d8
float: cannot set title/footer independently #31993 -ff1791c9e5
float: close preview float window when no selected #29745 -d2cca606a1
float: ensure floating window width can fit title -8ddcf9d939
float: handle error in win_float_create() (#29742) -8b2b1fba2a
float: missing default highlight for title -df915f3afc
float: properly find last window of tabpage (#30571) -17383870dd
float: re-sort layers when grid zindex changed #30259 -206f8f24a2
fs: make vim.fs.root work for relative paths and unnamed buffers (#28964) -2c160f39d3
ftplugin/man.vim: hide signcolumn (auto) -214ce8d33c
gen_help_html: first tag in h2 is broken #30720 -ceea6898a8
gen_help_html: handle delimiter, heading #29415 -6c3f7e7e27
gen_vimdoc: correctly generate function fields -913e81c35f
getchar: do not simplify keycodes in terminal mode -b109b1abce
glob: avoid `subcapture nesting too deep` error (#29520) -4bd86120d4
glob: handle overlapping `{}` condition elements #29236 -b47b0b3f75
grid: double grid_line_start() with ext_messages #31292 -fe87656f29
grid: grid_line_start NULL access with 'redrawdebug' -a9c89bcbf6
gx: allow `@` in url -570a8da01b
health: "q" should not close last window #31876 -2e3f1069f4
health: better layout of vim.treesitter health check -10f9173519
health: broken ruby detect #28804 -84e85aeb10
health: check more "old" files #30421 -5b778a64ec
health: fix fetching url with python in provider health (#29594) -b4b4cf46a7
health: fix pyenv root and python exepath detect issue -237d2aef4d
health: return correct name from 'path2name()' -5e90406487
health: set nomodifiable in checkhealth buffers -9177371014
help: remove runnable code virtual text -ff75f345ab
highlight: 'winhl' shouldn't take priority over API (#31288) -458473acb8
highlight: add `StatusLineTerm`/`StatusLineTermNC` to `:color vim` (#29313) -6bcefad5a6
highlight: fix the seg fault caused by the invalid linked hl ids -8e81212e15
highlight: floating windows inherit NormalFloat from global-ns -6719276040
highlight: make TablineSel more noticeable with 'notermguicolors' #31905 -b67fcd0488
highlight: make `TablineSel` more noticeable #31896 -862679c70f
highlight: update `PmenuSel` for colored completion items #30183 -59e130b6ca
inccommand: ensure cursor is where it belongs -16f63b964f
input: handle vim.on_key() properly with ALT and K_SPECIAL (#29677) -b52ffd0a59
inspect: always show priority -9c278af7cc
inspect: show priority for treesitter highlights -22fd52325b
inspector: update semantic token namespace (#32157) -efe1732c6f
jobs: do not block UI when jobwait() doesn't block (#31803) -574ea6a191
keycodes: recognize <Find>, <Select> #28431 -67bb0cfa79
loader: follow the style of the error message for built-in loaders -44740e561f
log: RPC log format #32337 -851137f679
log: log unset $TMPDIR at "debug" level #32137 -c908c2560d
log: unify error messages for vim.ui_attach/decor providers #33005 -a6f219b06b
log: unintuitive message for undefined $TMPDIR -2e6d295f79
lsp: account for changedtick version gap on modified reset (#29170) -fac96b72a5
lsp: add foldingrange method support check #31463 -8263ed4670
lsp: add textDocument/documentLink to capability map (#28838) -a41b6fd173
lsp: autocmds to close lsp preview windows not cleared -b42dc232c5
lsp: autotrigger should only trigger on client's triggerCharacters (#32266) -7031949be0
lsp: avoid reusing diagnostics from different servers in actions (#30002) -fc9b70826e
lsp: avoid vim.keymap.del error when stopping a client (#29478) -39d79efa1e
lsp: better multi-client support for callHierarchy -bdfba8598b
lsp: cancel pending requests before refreshing -f9bf64d746
lsp: check buffer is loaded and valid #30330 -c2bf09ddff
lsp: check for configuration workspace folders when reusing clients -81b372fecd
lsp: check for nil response from server (#29196) -a9cdf76e3a
lsp: check for valid buf before processing semantic tokens response -230bc34ca5
lsp: check if buffer is valid before LspDetach autocmd (#29162) -af200c10cf
lsp: check if buffer was detached in on_init callback (#28914) -02097e43c8
lsp: check if sig_help window is focusable when configuring cycle keymap -025c874415
lsp: clear lsp client diagnostics (#29050) -c374f26430
lsp: clear word when expand multi-lines word (#32393) -adf7c98d60
lsp: compare URI instead of workspace folder name (#30962) -b4599acbf8
lsp: correct hover result handling (#30995) -f8d5811c71
lsp: correctly check for "codeAction/resolve" support -7d8db54441
lsp: delete b:lsp_floating_preview buf var after win close -2a1f604c77
lsp: delete bufvar inside WinClosed event -879d17ea8d
lsp: detach all clients on_reload to force buf_state reload (#28875) -292365fa1b
lsp: do not detach from buffer if there are uninitialized clients (#29029) -37bf4c572a
lsp: do not reset buf version when detaching client (#29242) -d56ba71af1
lsp: document_symbol uses loclist by default #32070 -720b309c78
lsp: don't send foreign diagnostics to servers in buf.code_action (#29501) -1f2f460b4a
lsp: don't show codelens for buffers that don't support it (#29690) -5f527f24f0
lsp: don't use completion filterText if prefix is empty -305012ea07
lsp: enable `additionalPropertiesSupport` -9d9ee3476e
lsp: ensure watcher cancel -aec7f1979a
lsp: fallback to `label` for completion items if all others are missing (#29522) -33d10db5b7
lsp: filter completion candidates based on completeopt (#30945) -b3109084c2
lsp: fix cursor position after snippet expansion (#30659) -4b001f297a
lsp: fix infinite loop -983953858e
lsp: fix isIncomplete condition in completion trigger (#30130) -2ce4a4d91e
lsp: fix reverse sorting of same position text edits (#29212) -8654a97006
lsp: handle empty call hierarchy items #30349 -f279d1ae33
lsp: handle encoding bounds in str_utfindex_enc -882a450a29
lsp: handle locations exceeding line length #30253 -008782208d
lsp: handle mixed encoding in tagfunc params -e0a5c3bb58
lsp: handle multiline signature help labels #30460 -8512f669f0
lsp: handle nil bytes in strings -f03b1622ad
lsp: handle nil root_dir in health check (#29007) -ed07167261
lsp: handle non-existent configs in lsp.config/enable -003b8a251d
lsp: handle out-of-bounds character positions #30288 -5187be81c2
lsp: handle using array as open_floating_preview title (#33016) -d9a2acdab3
lsp: hide layout in codelenses in virtual text (#28794) (#28807) -f54266dbed
lsp: hover border type can be string (#31013) -9a681ad09e
lsp: hover keymap (#31208) -a14fca432b
lsp: improve LSP floating preview window cleanup #31353 -e29f245a10
lsp: inlay hints are rendered in the correct order (#29707) -0086ee90dd
lsp: list all workspace folders in healthcheck #30966 -0e394f136f
lsp: log when receiving markup messages (#30065) -203e7a43d1
lsp: mention function name in warning #31301 -a4f575abd8
lsp: minimum height for floating popup #31990 -4fd2694f20
lsp: missing method parameter when canceling requests -be8d87014c
lsp: on detach, cancel pending foldingRange requests #31509 -7d5866d471
lsp: open_floating_preview() ignores max_height (#32716) -86770108e2
lsp: open_floating_preview() zindex relative to current window #31886 -724d1110b1
lsp: pre-filter matches on label if filterText is missing (#29491) -a450fda4ed
lsp: prefer `on_list` over `loclist` in default handler -6bb40f3dbf
lsp: prevent desync due to empty buffer (#29904) -eb629cce91
lsp: redundant spaces in lsp log (#29970) -43581011e4
lsp: remove superfluous on_detach callback from semantic tokens module (#29174) -d76f7fef13
lsp: reset active request when reporting an error -6bc7979044
lsp: reset the applied hints on `refresh` request #32446 -47aaddfa0d
lsp: resize hover window for concealed lines -081beb3659
lsp: restore get_language_id behaviour -29c72cdf4a
lsp: retrigger diagnostics request on server cancellation (#31345) -d9ccd828b0
lsp: return call hierarchy item, not the index (#30145) -9c20342297
lsp: reuse client if configs match and no root dir -6e45cd7f00
lsp: revert buf_versions deprecation/replacement (#29217) -bdff50dee5
lsp: revert text edit application order change (#29877) -e8a6c1b021
lsp: schedule call to vim.lsp.start for async root_dir (#31998) -a108852b00
lsp: semantic token functions allow "0" bufnr #28849 -c3cb702ac7
lsp: set 'smoothscroll' in docs hover #30748 -8a236c242a
lsp: set floating window filetype after setup #32112 -3c51058d76
lsp: set tagstack on jump via goto methods -24d7debdfb
lsp: signature_help highlights wrong parameter #32382 -80e37aa533
lsp: str_byteindex_enc bounds checking #30747 -629a5b71b5
lsp: support multiple clients in typehierarchy -e48179f31e
lsp: suppress completion request if completion is active (#30028) -50f006b617
lsp: tagfunc fails in unusual buffer #30700 -5ac8db10f0
lsp: trigger LspDetach on buffer delete (#28795) -19be3d2683
lsp: trim trailing whitespace from completion words (#29122) -aa47af7e69
lsp: tune completion word extraction for decorated labels (#29331) -38838fb00a
lsp: type-errors, other nits in vim.lsp.log #31235 -8d7eb03040
lsp: unify get_completion_word for textEdits/insertText -fe5ae88b20
lsp: update request name to capability map #30098 -5aa9906676
lsp: use client.id instead of pairs index (#29143) -c8d7d65679
lsp: use correct method for prepareTypehierarchy -b9e6fa7ec8
lsp: use filterText as word if textEdit/label doesn't match -5d08b65ac2
lsp: use unresolved code action when `codeAction/resolve` fails -0a7e4e9e5f
lsp: vim.lsp.enable(...,false) does not disable #32002 -888a803755
lsp: vim.lsp.start fails if existing client has no workspace_folders #31608 -42ed0ffad9
lsp: when prefix is non word add all result into matches (#30044) -55bdb077b7
lsp: wrapped ctx in opts before passed to vim.lsp.completion.trigger #32837 -2dcbfe78fc
lsp.buf: use correct offset_encoding for all requests -3275ae830d
lsp.protocal: improve typing of constants -acbc6a7f91
lsp.util: inconsistent handling of offset_encoding -564173e556
lsp.util: wrong arguments to 'validate' function -614c9322d5
lua: SIGSEGV in luv callback with error(nil) #32595 -b283736388
lua: `@private` => `@nodoc` #32587 -b6e350a6b4
lua: allows tables with integer keys to be merged in tbl_deep_extend -c8b64b7a43
lua: always use vim.inspect() for :lua= (#32715) -0e42c81c7f
lua: avoid recursive vim.on_key() callback (#30753) -fe1e2eff06
lua: avoid vim._with() double-free with cmdmod (#31505) -487f44a6c1
lua: change some vim.fn.expand() to vim.fs.normalize() (#29583) -43bd9c9c1c
lua: don't clamp -1 or v:maxcol in vim.highlight.range() (#29203) -bdc6e38781
lua: don't include text after cursor in completion pattern (#29587) -e2aca58bcc
lua: don't override script ID from :source (#32626) -d40481322a
lua: ensure inspect_pos() only shows visible highlight extmarks -948f2beed4
lua: find length of completion prefix earlier (#29384) -ebb963a4a0
lua: format errors from luv callbacks using __tostring -65a703e060
lua: ignore stdout and stderr for xdg-open -6b00c9acfd
lua: no omni/cmdline completion for vim.env (#33044) -c6d2cbf8f5
lua: pop retval for fast context LuaRef -a5b1b83a26
lua: prevent SIGSEGV when lua error is NULL in libuv_worker -3d707e6f14
lua: remove vim.loader.disable() #31344 -3a88113246
lua: revert vim.tbl_extend behavior change and document it -3688a33354
lua: show stacktrace for error in vim.on_key() callback (#31021) -40a149e7f9
lua: types for vim.api.keyset.win_config #32700 -7f33c1967b
lua: use rawget() to get __call in vim.is_callable() (#29536) -960fdc775a
lua: vim.deprecate does not support major>0 -d832518ec6
lua: vim.hl.on_yank highlights wrong region with yi' (#32850) -cd3855fb2b
lua: vim.tbl_get({}, nil, 1) should return nil #32218 -89d6d6f25c
lua: wrong script context for option set by func from nvim_exec2 (#32659) -9eb0426002
luacats: allow all types inside tuples -ee5aaba215
man: avoid setting v:errmsg (#30052) -7588ff2d89
man: check if buffer is valid before restoring 'tagfunc' (#30180) -da6f68ee69
man: filter OSC 8 hyperlink markup #29171 -7940ec6913
man.lua: `:Man <tab>` does not complete #31569 -e08e3d15f6
man.lua: skip `Attrs.None` highlights #32262 -d6653e1cc9
marks: ensure decor is removed with proper range (#32973) -906ad04ddd
marks: handle composing in inline virt_text with 'nowrap' (#32477) -8452032554
marks: handle double-with inline virt_text with 'nowrap' (#32476) -86046c5a31
marks: ineffective conceal_line callback optimization (#32662) -72f630f92d
marks: issues with invalid marks and marks beyond eob (#32862) -8da59060c6
marks: mark winline as invalid if change is in a concealed line (#32766) -012db2b0f5
marks: revalidate marks whose position did not change -5cc93ef472
marks: revise metadata for start mark of revalidated pair #32017 -c4f76299f0
marks: skip right_gravity marks when deleting text -cdedfc3743
marks: truncate double-width inline virt_text consistently (#32560) -7371abf755
marks: wrong winline info for concealed line with below virt line (#32747) -a9287dd882
mbyte: check for utf8proc_map() failure (#30531) -50a576ba57
mbyte: mark any 0xFE0F sequence as a TUI ambiguous width char -15bc930fca
memline: don't check line count for closed memline #32403 -aa976f0d93
messages: add a trailing space to inputlist() etc. prompts (#32328) -37c77ab46b
messages: attaching/detaching ext_messages causes asserts #31952 -d98827b634
messages: avoid empty msg_showmode with 'noshowmode' -31d6885deb
messages: better formatting for :highlight with ext_messages #31627 -21718c67dd
messages: better formatting for ext_messages #31839 -92556be33d
messages: compute msg_col after last newline in ext_messages -ad853d1df0
messages: improve deadly signal messages #32364 -51853b82bc
messages: incorrect error message splitting and kind #32990 -08f7c22377
messages: list_cmd kind for :registers, :au[g] #32531 -7ce27381fb
messages: lsp window/showMessage is not an error -1b6442034f
messages: more ext_messages kinds #31279 -9c6a3703bb
messages: no message kind for :undo messages #31590 -ca760e645b
messages: no message kind for :write messages #31519 -909b18d05a
messages: no message kind for completion menu messages #31646 -f111c32ff9
messages: no message kind for search pattern #31272 -282f73f067
messages: no trailing newline for inputlist, tselect, z= with ext_messages -9fa3a0964e
messages: pass previous highlight id to ext chunks -e025f5a5b3
messages: proper multiline Lua print() messages #31205 -d1e00a5f6d
messages: typo and unwanted truncation in msg_outtrans_long #31669 -d55b17e2b4
messages: verbose kind for nvim_echo() -c8e47f6480
meta: do not use hyphens in param names -2cd72258f6
mouse: 'statuscolumn' fold and popopmenu handling -81d4e96bc8
mouse: don't treat click on hsep as click on statusline (#29565) -102971a396
mouse: early return when clicking in padded 'statuscolumn' (#29394) -86c5c8724b
mouse: indicate X1 and X2 button clicks on statusline (#30655) -f86864f22f
move: 'scrolloff' cursor correction no longer handles folds properly (#32642) -5947f249f8
move: half-page scrolling with resized grid at eob (#28821) -ac7e0ff32f
move: redraw for 'concealcursor' after changing w_wcol (#31276) -af0a2157ad
move: wrong cursor row on concealed line (#32629) -83479b95ab
mpack: remove invalid bool definition -d32780de4d
mswin: UI may hang on exit -fa99afe35e
multibyte: handle backspace of wide clusters in replace mode -de83cc5842
netrw: re-add missing comment marker in syntax file -d9585bdcfb
nvim__set_complete: pum preview info truncated during completion #32555 -34e2185022
options: better handling of empty values -190d0241e2
options: fix 'winborder' accepting multiple string values (#32978) -8c532a9ea8
options: fix 'winhl' still accepting invalid value (#30896) -1b9dafa67b
options: fix :setglobal not working for 'spelloptions' (#30894) -395f420fc6
options: fix some 'belloff' flags not working properly (#30856) -50e63c8171
options: missing error check for global 'scl' and 'winhl' (#30919) -e697c1b43d
paste: improve repeating of pasted text (#30438) -052875b9dc
paste: only record a paste when it's from RPC (#30491) -9516997eb0
paste: wrong '[ mark after pasting a big string (streamed chunks) #33025 -42aa69b076
path: avoid chdir() when resolving path (#28799) -42db8b1759
path: crash with nvim_get_runtime_file during wildcard expansion (#32992) -0dfcf3fe12
plines: don't count invalidated virt text in char size (#29863) -afc3c43f12
popup: new preview_bufnr created when menu item is selected #32819 -ac1c5ccb2c
popup: reuse pum preview float win, set 'winfixbuf' #32636 -d288f7003d
popup: wrong extmark data sync when lines changed in popup preview #30246 -d24fb72c33
pum: don't select item when clicking to the left/right (#30967) -73ae7d44a2
quickfix: make shortmess+=O work with cmdheight=0 (#29609) -3bcd5624be
regexp: fix typo in E888 error message (#30161) -cb924764a4
runtime: "E121 Undefined variable s:termguicolors" #32209 -29a47b39cc
runtime: E15: Invalid expression in lua file when `gf` -b6c1ce8a95
runtime: add commentstring for glsl ftplugin -9ddfcb64bf
runtime: add remaining missing commentstrings (#30252) -e641155b02
runtime: avoid E31 in ftplugin (#32578) -82b02ae2f2
runtime: clean up one-off scripts -9788b81d7e
runtime: fully port emoji_list to Lua -74fcc9452c
runtime: gO always says "Help TOC" #32971 -69aa33d890
runtime: let matchit and matchparen skips fallback on treesitter captures -8369590eb2
runtime: remove obsolete ftplugin/calender.lua -41b70a0dea
runtime: set 'keywordprg' only once in vim ftplugin -7b16c1fa84
runtime: source c ftplugin properly for cpp on Windows (#29053) -12c9791e0f
runtime: stop treesitter highlight in b:undo_ftplugin (#29533) -862338255d
runtime: sync bundled treesitter queries -9e80738f30
runtime: sync bundled treesitter queries -5057753431
runtime: treat b:undo_ftplugin consistently in Lua ftplugins (#30473) -8f5e908110
runtime: update b:undo_ftplugin in Lua runtime files (#29529) -a5bd6665b0
scripts: update bundled dependencies in bump_deps -573a71469d
scrollbind: properly take filler/virtual lines into account -a8b6fa07c4
search: avoid quadratic time complexity when computing fuzzy score (#32153) -648d6426c8
server: CID 509282: DEADCODE #30316 -f4921e2b7d
shada: ":wshada/:rshada [filename]" with shadafile=NONE #32538 -cd48b72b60
shada: restore search pattern length properly (#28929) -608543f8a9
snippet: cancel snippet session when leaving the buffer (#29031) -7994fdba6a
snippet: don't override unnamed register on tabstop select (#28998) -5fe4ce6678
snippet: modify base indentation when there's actually whitespace (#29670) -424f4cc038
snippet: wrong indentation when snippet contains "^" #32970 -d46ebd2a74
startup: avoid crash with completion from -l script (#32160) -08153ddd1c
startup: ignore broken $XDG_RUNTIME_DIR #30285 -17e00d0cc6
startup: report --startuptime error to stderr (#31131) -8a2aec9974
startup: server fails if $NVIM_APPNAME is relative dir #30310 -19fc65acbc
statuscolumn: misleading v:lnum for virtual lines #32912 -87e806186c
statusline: overwriting stl_items with nvim_eval_statusline() {-item #32265 -1c30d86c33
tabline: restore behavior of click after last tabpage (#30602) -a49f95d887
terminal: avoid mismatched `busy_start` without `busy_stop` (#32458) -f3ce67549c
terminal: avoid more `busy_start` lacking `busy_stop` (#32509) -3d49c55d3c
terminal: avoid rescheduling events onto the same queue (#32755) -69a19295f8
terminal: delay when finishing terminal process #32846 -f8c8a245aa
terminal: don't crash on unprintable chars -6d997f8068
terminal: handle C0 characters in OSC terminator (#30090) -fa46441264
terminal: improve cursor refresh handling (#32596) -1d11808bfd
terminal: interrupt/got_int hangs terminal (#30056) -3db3947b0e
terminal: restore cursor from 'guicursor' on TermLeave (#31620) -c51bf5a6b2
terminal: set cursor cell percentage (#31703) -5def8714ad
terminal: set local values of window options (#29326) -e9c077d197
termkey: fix null pointer dereference (#31792) -c8e3618e0e
test: "tempdir not a directory" in CI logs -f7e32fb6e6
test: better management of tmpfiles -db2c3d1143
tests: filter out lines with __typeof__ keyword (#32524) -e61228a214
tests: needing two calls to setup a screen is cringe -639734bed4
tests: remove the __extension__ keyword in filter_complex_blocks (#32483) -59baa5e8a1
tohtml: apply sp color if present #30110 -67c39f5eca
tohtml: disable modeline #32822 -e37404f7fe
tohtml: enclose font-family names in quotation marks -25db0a1385
tohtml: extmark text may be out of bounds -8cd9feb501
tohtml: ignore lsp inlay hints -eb37241d38
tohtml: properly handle multiple hl groups #29012 -2ed6423c7e
tohtml: replace ipairs with pairs -88c7997503
tohtml: show how many warnings are hidden -118ae7e5ed
tohtml: support ranges again -c63e49cce2
treesitter: #trim! range for nodes ending at col 0 #31488 -b63cd8cbae
treesitter: EditQuery shows swapfile ATTENTION #30536 -55b165ac15
treesitter: `TSNode:field()` returns all children with the given field -86b737649b
treesitter: add 'QuitPre' event to autocommands in inspect_tree -bc1018a8d3
treesitter: avoid computing fold levels for empty buffer -a119dab40f
treesitter: avoid computing foldlevels for reloaded buffer #32233 -6696ea7f10
treesitter: clean up parsing queue -99acc9de55
treesitter: close InspectTree/EditQuery window on BufUnload (#31036) -f50f86b9ff
treesitter: compute folds on_changedtree only if not nil -7a20f93a92
treesitter: correct condition in `__has_ancestor` -9b25c68db2
treesitter: correctly parse queries with combined injections -3abfaafad2
treesitter: detect trees with outdated regions in `is_valid()` -9217e0d671
treesitter: display fields for anonymous nodes in :InspectTree -da4e8dc5b0
treesitter: do not modify highlight state for _on_spell_nav -0e3e1e6b6d
treesitter: don't open fold when o/O adds a line below #28709 -aa2b44fbb0
treesitter: don't return error message on success #31955 -b0bbe25c48
treesitter: don't spam query errors in the highlighter -b88874d33c
treesitter: empty queries can disable injections (#31748) -d413038b4f
treesitter: ensure syntaxset augroup exists (#29542) -f8e1ebd6f6
treesitter: escape things like `"` in omnifunc results -c4eb0b64bd
treesitter: find buffer in multiple windows #28922 -94d42a3e72
treesitter: highlight anonymous nodes in inspect_tree -5331f87f61
treesitter: indent size for inspect_tree #28727 -6ef80eb42c
treesitter: keep treeview open if source window is still open #31198 -052e048db6
treesitter: lint top-level anonymous nodes -4b90952851
treesitter: mark supertype nodes as named -096ae3bfd7
treesitter: nil access when running string parser async -c3337e357a
treesitter: nil check query for has_conceal_line -6711fa27ca
treesitter: recalculate folds on VimEnter #32240 -05dcda8f9b
treesitter: recognize aliased parsers in omnifunc, query linter -d3193afc25
treesitter: remove duplicate symbol names in language.inspect() -cdc9baeaf8
treesitter: remove redundant on_bytes callback #31041 -1827ab7a1f
treesitter: separately track the number of valid regions -36990f324d
treesitter: show proper node name error messages -4349bdbd0b
treesitter: specify success status in edit_query return value -e7ebc5c13d
treesitter: stop async parsing if buffer is invalid -0f067cd34d
treesitter: suppress get_parser warnings via opts.error -ae917dbd06
treesitter: sync queries from upstream -c4e9ff30a6
treesitter: sync queries with upstream -d8eec81560
treesitter: update lua, markdown queries -6e44a6a289
treesitter: update queries -5a54681025
treesitter: uv_dlclose after uv_dlerror -e4bc8b5967
treesitter.foldexpr: only refresh valid buffers -48acbc4d64
treesitter.foldexpr: refresh in the buffers affected by OptionSet -8474f52978
treesitter.foldexpr: robustness against ctrl-c -f81131cca2
tui: also reset cursor color if it was invisible (#31348) -4846bf05dc
tui: avoid flushing buffer halfway an OSC 2 sequence (#30793) -720ec5cec2
tui: cursor color in suckless terminal #32310 -b5cb69f8a4
tui: handle key events for arrow and function keys (#31804) -d7651b27d5
tui: move $COLORTERM check to _defaults.lua (#29197) -a811d4babd
tui: only reset cursor color if it was changed (#31337) -0c0352783f
tui: remove DCS escaping in tmux (#32723) -47c741e30c
tui: remove duplicate disabling of synchronized output (#28884) -f32557ca67
tui: reset active attr ID when OSC 8 sequence is terminated (#29960) -bc63ffcf39
tui: reset clear_region attributes during startup #28713 -b02c839414
tui: set id parameter in OSC 8 sequences (#29840) -0231265c8c
tui: skip TUI in ui_rgb_attached (#29096) -8b8096500d
tutor: incorrect lines marked as correct #29833 -31745b17e6
types: add narrower vim.validate types -44410d063a
types: add some vim.fn type annotations -b813075b8a
types: do not mark unstable API as private -e947f226be
types: use vararg return type annotation -a1906c23dd
ui: Windows :detach is opt-in -594c7f3d77
ui: avoid ambiguity about last chunk when flushing halfway (#29718) -216ec73972
ui: avoid redundant ext_cmdline events (#32237) -6cdcac4492
ui: clamp 'cmdheight' for other tabpages on screen resize (#31419) -318c0415d5
ui: correctly pass metadata to get_node_text #30222 -7eba016c86
ui: ensure screen update before waiting for input #30576 -5b6477be45
ui: flush ext_cmdline events before doing cmdpreview #27950 -6e4df18b45
ui: no fast context for prompt message kinds #31224 -6b8c56c7f6
ui: schedule UI detach (#32827) -b66106a46c
ui: superfluous showmode / excessive grid_cursor_goto #29089 -d1fd674df3
ui: update title in more cases (#31508) -442d338cb5
uri: uri_encode encodes brackets incorrectly for RFC2732 #31284 -d049752e45
version: fix vim.version().prerelease -8bdfc2ab2b
version: return nil with empty string -6401b433f7
vim.fs: default to follow=false #32859 -47e6b2233f
vim.fs: dirname() returns "." on mingw/msys2 #30480 -0bef3b911c
vim.fs: joinpath() does not normalize slashes on Windows #31782 -6dc0eb9f41
vim.fs.abspath: correctly handle UNC paths -a8ace2c58a
vim.fs.normalize: normalize case for windows drive letter -4c0d18c197
vim.iter: enable optimizations for arrays (lists with holes) (#28781) -734dba04d1
vim.system: close pipe handles after process handle -4e130c1ee4
vim.system: invalid MAX_TIMEOUT for 32-bit systems #31638 -ad3472e291
vim.system: resolve executable paths on windows -33464189bc
vim.text: handle very long strings (#30075) -4cff418564
vim.text: remove assert from vim.text.hexdecode -d338ec9cb2
vim.ui.open: prefer xdg-open on WSL #30302 -8bf79bd13c
vim.wo: never allow non-zero bufnr -453f2c52d2
vim_snprintf: special-case handling of binary format -32e128f209
watch: exclude .git when using inotifywait (#29914) -9e23b4e185
watch: ignore nonexistent paths (ENOENT) -a18652ed61
win-msi: add bin to PATH per-machine after installation (#29099) -88f07d6ca4
win-msi: set installer scope to machine #29895 -4f9311b759
window: making float with title/footer non-float leaks memory (#30551) -7b71fdbc1e
window: respect hide flag of float windows when switching (#30507) -59da82abd9
wininfo: when freeing windows, free the lowest priority wininfo PERFORMANCE -------------------------------------------------------------------------------- -48251134ee
add fast path to vim.validate (#28977) -3abd7ed4a4
consider only active decorations when drawing lines -8d2ee542a8
decor: join predicates and matches cache -48e3ac60c6
diagnostics: cache line diagnostics when `current_line` is set #32288 -b8ddd3b6bb
events: remove unnecessary loop in event_nr2name() (#32777) -15f2da55a8
events: use hashy for event name lookup (#32802) -abf4b65a51
filetype: cache (more) pattern data during "add" time -f61efe3fe7
filetype: implement parent pattern pre-matching (#29660) -ff575b3886
filetype: optimize internal data structures -dc04ef2a20
filetype: skip contents check in `match()` if there is no contents (#29596) -12d4caa9d3
keycodes: use hashy for string lookup -f8fc6cb157
loader: reduce calls to Loader.cache_file -138a93a057
lsp: avoid repeated table lookup in completion.enable -7342e6b00d
lsp: do not apply semantic tokens to folded lines -c85d15e0d5
lsp: don't construct potentially expensive strings -cc1f2d2ca6
lsp: don't copy completion items in filter pass -3e855d533f
lsp: use faster version of str_byteindex -000129201c
mouse: only generate <MouseMove> for a new cell positon (#31103) -3fdc430241
treesitter: cache queries strongly -b192d58284
treesitter: calculate folds asynchronously -c6abc97006
treesitter: do not use tree cursors with a small lifetime -cbad2c6628
treesitter: don't block when finding injection ranges -d9ee0d2984
treesitter: don't fetch parser for each fold line -562056c875
treesitter: only search for injections within the parse range -c57a85e0ed
treesitter: remove unnecessary foldexpr loop -64847fbdc9
treesitter: use `child_containing_descendant()` in `is_ancestor()` -4b02916334
treesitter: use child_containing_descendant() in has-ancestor? (#28512) -3f3e4837d5
validate: use lighter version -99b5ffd688
vim.text: use lookup table implementation for hex encoding (#30080) BUILD -------------------------------------------------------------------------------- -104800ce2e
"popcount" name conflict on NetBSD #28983 -198a952c13
add luals check -ef8067a19d
add quotes around `CMAKE_GENERATOR` variable -32e16cb0b6
add utf8proc as dependency -b213f5169c
allow comment after #include for required header (#29722) -382eb878bc
bump lua dev dependencies -1d815acd78
bump minimum cmake version to 3.16 -5284a2a793
bump unibilium to v2.1.2 -ac5a6d9ff5
fix RelWithDebInfo optimization flags #31802 -7c65224257
fix lint error on macos -046e0956ee
fix or silence new clang-tidy warnings -5719f2b91a
fix uncrustify install in nix devShell (#33020) -4a0ee22e77
make makefile work on msys -4ee65484b1
make makefile work on windows -1b90f4a9c4
mark CMake variables advanced #31412 -0f24b0826a
move all generator scripts to `src/gen/` -e5ff302033
remove -O2 from gen_cflags -d74c74aae3
remove `lintcommit` from `lint` target -573bcb2aaf
remove enforcement of cmake build type -0e9c92a900
remove nix flakes (#28863) -f09f5c45fa
reuse code for deps.txt for both deps and main build -e1dc824b7e
set luals checklevel to Hint #32392 -cac86e9b4c
silence "po" noise #30469 -07b14c8e2e
specify POST_BUILD when using add_custom_command -e83ce331da
use treesitter's CMakeLists.txt -e268fcbdaa
work around bug in make when PATH includes cmake as dir -b288fa8d62
bump_deps: abort if archive doesn't exist -7ead328a48
cjson: sync with upstream (#32114) -0e2f92ed79
clint: make NOLINT work with header checks (#31281) -327110ff8c
cmake: remove unnecessary policy code -535c2f8658
contrib: add zsh completion (#32617) -51d85f7ea5
deps: drop unused bundled bash, python parsers and queries -9216bc927c
deps: fix formatc target on MSVC -b3641b8008
deps: remove libtermkey dependency -1247684ae1
deps: remove msgpack-c dependency -fa79a8ad6d
deps: vendor libvterm at v0.3.3 -c614969570
docs: update CSS #28896 -0a087f2073
generator: add dependencies on hashy (#32796) -e178331488
lpeg: search for lpeg.so on MacOS -7e099cf3eb
macos: disable deduplication in link step -f4d9a2983a
release.sh: fix hang when generating docs (#33026) -b923fcbaf0
vim-patch.sh: don't ignore changes to version*.txt (#29425) -7aaa4a51b7
vim-patch.sh: include commit subject #28767 -3146433190
vim-patch.sh: use 7 hex digits for runtime patch file name (#29940)
78 lines
3.0 KiB
XML
78 lines
3.0 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!--
|
|
Copyright 2018 Neovim contributors
|
|
|
|
See also:
|
|
https://appimage.github.io/neovim/
|
|
https://github.com/flathub/io.neovim.nvim
|
|
-->
|
|
<component type="desktop-application">
|
|
<id>io.neovim.nvim</id>
|
|
<translation type="gettext">nvim</translation>
|
|
<project_license>Apache-2.0</project_license>
|
|
<metadata_license>CC0-1.0</metadata_license>
|
|
<name>Neovim</name>
|
|
<summary>Vim-fork focused on extensibility and usability</summary>
|
|
|
|
<description>
|
|
<p>Neovim is a refactor of the Vim text editor designed to encourage new features, advanced UIs, and powerful extensions.</p>
|
|
</description>
|
|
|
|
<screenshots>
|
|
<screenshot type="default">
|
|
<caption>Live :substitute feature</caption>
|
|
<image>https://neovim.io/images/nvim-screenshot-1.png</image>
|
|
</screenshot>
|
|
</screenshots>
|
|
|
|
<releases>
|
|
<release date="2025-03-26" version="0.11.0"/>
|
|
<release date="2025-01-29" version="0.10.4"/>
|
|
<release date="2024-12-21" version="0.10.3"/>
|
|
<release date="2024-10-03" version="0.10.2"/>
|
|
<release date="2024-07-24" version="0.10.1"/>
|
|
<release date="2024-05-16" version="0.10.0"/>
|
|
<release date="2023-12-30" version="0.9.5"/>
|
|
<release date="2023-10-09" version="0.9.4"/>
|
|
<release date="2023-09-07" version="0.9.2"/>
|
|
<release date="2023-05-29" version="0.9.1"/>
|
|
<release date="2023-04-07" version="0.9.0"/>
|
|
<release date="2023-02-02" version="0.8.3"/>
|
|
<release date="2022-12-29" version="0.8.2"/>
|
|
<release date="2022-11-14" version="0.8.1"/>
|
|
<release date="2022-09-30" version="0.8.0"/>
|
|
<release date="2022-06-26" version="0.7.2"/>
|
|
<release date="2022-06-26" version="0.7.1"/>
|
|
<release date="2022-04-15" version="0.7.0"/>
|
|
<release date="2021-12-31" version="0.6.1"/>
|
|
<release date="2021-11-30" version="0.6.0"/>
|
|
<release date="2021-09-26" version="0.5.1"/>
|
|
<release date="2021-07-02" version="0.5.0"/>
|
|
<release date="2020-08-04" version="0.4.4"/>
|
|
<release date="2019-11-06" version="0.4.3"/>
|
|
<release date="2019-09-15" version="0.4.2"/>
|
|
<release date="2019-09-15" version="0.4.1"/>
|
|
<release date="2019-09-15" version="0.4.0"/>
|
|
<release date="2019-07-03" version="0.3.8"/>
|
|
<release date="2019-04-29" version="0.3.5"/>
|
|
<release date="2019-01-13" version="0.3.4"/>
|
|
<release date="2019-01-05" version="0.3.3"/>
|
|
<release date="2018-12-31" version="0.3.2"/>
|
|
<release date="2018-07-19" version="0.3.1"/>
|
|
<release date="2018-07-11" version="0.3.0"/>
|
|
</releases>
|
|
|
|
<content_rating type="oars-1.1"/>
|
|
<launchable type="desktop-id">nvim.desktop</launchable>
|
|
<url type="homepage">https://neovim.io/</url>
|
|
<url type="bugtracker">https://github.com/neovim/neovim/issues</url>
|
|
<url type="faq">https://neovim.io/doc/user/faq.html</url>
|
|
<url type="help">https://neovim.io/doc/</url>
|
|
<url type="donation">https://neovim.io/#sponsor</url>
|
|
<url type="translate">https://github.com/neovim/neovim/tree/master/src/nvim/po</url>
|
|
<provides>
|
|
<binary>nvim</binary>
|
|
<id>nvim</id>
|
|
</provides>
|
|
</component>
|