aboutsummaryrefslogtreecommitdiff
path: root/runtime/doc/lua.txt
Commit message (Collapse)AuthorAge
* feat(vim.hl): allow multiple timed highlights simultaneously #33283Siddhant Agarwal2025-04-03
| | | | | | | | | Problem: Currently vim.hl.range only allows one timed highlight. Creating another one, removes the old one. Solution: vim.hl.range now returns a timer and a function. The timer keeps track of how much time is left in the highlight and the function allows you to clear it, letting the user decide what to do with old highlights.
* docs: faq, lua packages #33183Phạm Bình An2025-03-30
| | | | | | Problem: - `health#check()` seems to have been removed for a while, but `:h faq` still refers to it. - `news-0.11.txt` doesn't mention #33044
* NVIM v0.11.0Justin M. Keyes2025-03-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For notable changes, see runtime/doc/news.txt (or `:help news` in Nvim). Following is a list of fixes/features commits. BREAKING -------------------------------------------------------------------------------- - 0f4f7d32ce5d remove `nvim` and `provider` module for checkhealth - 7dbbaaec3fae rename 'jumpoptions' flag "unload" to "clean" (#30418) - 35c5e2310783 store artifact shasums in a single shasum.txt file - 188ec19894e4 turn off translations by default - 328ea02eb7de use utf8proc full casefolding - 737f58e23230 api: rename Dictionary => Dict - a389dc2f950e clipboard: use OSC 52 as fallback clipboard provider (#31730) - ad70c9892d5b column: rework 'statuscolumn' %r/l items - eb60cd74fb5c deps: bump tree-sitter to HEAD, wasmtime to v29.0.1 (#32200) - a119aae4d3de diagnostic: filter diagnostics by severity before passing to handlers (#30070) - 51ccd12b3dbc diagnostic: make virtual text handler opt-in (#32079) - a9e725b26e08 diagnostics: sort underline severity_sort (#30898) - e8b5dd1e89bf lsp: `symbol_to_item` requires `offset_encoding` - 8260e4860b27 lsp: multiple client support for vim.lsp.buf.hover() - debabaf884fc lsp: pass buffer number to root_dir function - 9b357e30fdd0 lsp: remove client-server handlers from vim.lsp.handlers - 3e3775961fd2 lsp: rename lsp.completion.trigger() to get() (#32911) - 0083e03d6fa7 lsp: support multiple clients in goto methods (#30877) - dff684fdb3d2 lsp: support multiple clients in lsp.buf.references - 970a27927eb3 lua: do not use typed table for empty dict - de48fbbd5f88 messages: vim.ui_attach message callbacks are unsafe - a27419f3fc54 options: disallow setting hidden options #28400 - b922b7d6d788 options: use OptVal for option defaults #26691 - 4d9a1b9852ca provider/python: add python 3.13, drop 3.7 and 3.8 (EOL) #33022 - 318676ad1348 release: remove backwards compatible releases - ad191be65e2b signs: place higher-priority signs from the left #27781 - 0dd933265ff2 terminal: cursor shape and blink (#31562) - 35e5307af257 terminal: include cursor position in TermRequest event data (#31609) - 3cf602486ce5 terminal: make 'belloff' and 'visualbell' apply to terminal bell (#30859) - 041d98fe8d89 treesitter: add default fallback to `ft_to_lang` lookups - 6913c5e1d975 treesitter: default to correct behavior for quantified captures (#30193) - bd4ca22d0334 treesitter: don't parse tree in get_parser() or start() - a0b52e7cb3d2 treesitter: enforce buffer is loaded when creating parser - 99e0facf3a00 treesitter: use return values in `language.add()` - bda63d5b97df typval: remove distinction of binary and nonbinary strings - 48e2a73610ca ui: emit prompt "messages" as cmdline events #31525 - ca5fca29121a windows: drop cat and tee executables from windows - be89d520d7e9 windows: only support UCRT, even for mingw FEATURES -------------------------------------------------------------------------------- - efa45832ea02 add "jump" options to vim.diagnostic.config() (#29067) - 0631492f9c80 add vim.fs.relpath - f864b68c5b0f allow gx to function for markdown links - f3632e14e3a7 get/set namespace properties #28728 - a66424617156 remove deprecated features - ead5683ff999 api: add err field to nvim_echo() opts - aec4938a21a0 api: broadcast events to ALL channels #28487 - 34d808b73cbc api: combined highlights in nvim_eval_statusline() - 19b25f3feacf api: deprecate nvim_buf_add_highlight() - 5c92b40b4b17 api: deprecate nvim_out/err_write(ln) - d84a95da7e11 api: nvim_get_autocmds filter by id#31549 - 25d8c3a5ad7e api: nvim_open_win() relative to tabline and laststatus #32006 - e00d67ef310c checkhealth: group parsers by name and path in output - 563051a53ef9 clipboard: support g:clipboard="osc52" #33021 - 60ea0467411d clipboard: try cygutils, clip on Windows #30215 - 2c629ad13f19 column: apply appropriate numhl highlight to virt_lines (#32400) - 65c7033cbe75 comment: allow commentstring to be determined from node metadata - 268a3de0a773 complete: CompleteDone reason "cancel", "discard" #32600 - a616272f568a complete: specify reason for CompleteDone - f1748b78e316 default: bind `vim.lsp.buf.signature_help` in select mode (#31223) - ac207c3ac200 defaults: "Show Diagnostics" in mouse popupmenu #32122 - 2c6b6358722b defaults: add LSP default mappings (again) (#28650) - bb7604eddafb defaults: add default unimpaired style mappings (#28525) - 4662ad5643b2 defaults: completeopt=popup #32909 - e8e3b443f804 defaults: disable 'foldcolumn' in terminal buffers (#31480) - cc6992f1ca44 defaults: dot-repeat [<Space> #31186 - 6db830e40e92 defaults: enable diffopt "linematch" #32346 - b31132f1c1fa defaults: jump between :terminal shell prompts with ]]/[[ #32736 - 0b7cc014fc0e defaults: map gO to LSP document_symbol #30781 - 26e765f905cb defaults: map gri to vim.lsp.buf.implementation() (#30764) - 76aa3e52be7a defaults: popupmenu "Open in browser", "Go to definition" #30261 - 09d76afe84dd defaults: pretty :help headings #30544 - 079e5f4f9b67 defaults: unimpaired empty line below/above cursor #30984 - 1c6d9200521a defaults: use vim.diagnostic.jump() for default mappings (#29066) - c9c17fda80d8 deprecations: vim._defer_deprecated_module() - 38a52caec09e diagnostic: add `current_line` option for `virtual_text` handler - 8ba73f0e4cc6 diagnostic: add vim.diagnostic.jump() (#26745) - 445ecca39840 diagnostic: format() can filter diagnostics by returning nil #32302 - 99e7323aa386 diagnostic: inherit parent 'path' option in open_float (#31273) - 21961967ffef diagnostic: update quickfix list by title #31486 - 7579af3c514c diagnostic: vim.diagnostic.setqflist improvements #30868 - 1759b7844a2d diagnostic: virtual_lines #31959 - fd65422b99c7 diff: do not try external when out of memory - 0c296ab22484 docs: "yxx" runs Lua/Vimscript code examples #31904 - 6628741ada73 docs: improve `@see` meta docstrings #30693 - 23290e7676e6 editor: handle new multibyte sequences in normal mode replacement - cb6c0fda718e editorconfig: add support for spelling_language (#28638) - 4817547ec463 ex_cmds: :sleep! hides the cursor while sleeping (#31493) - 4f9260d06a48 ext_messages: add hl_id to ext_messages chunks - 4cced601c8cd extmark: stack multiple highlight groups in `hl_group` - 931ee5591fa7 extmarks: virtual text can be right-aligned, truncated #31921 - 62d9fab9af21 float: add winborder option (#31074) - 9b8907d90508 float: allow enabling mouse for non-focusable window (#30844) - 511b991e6689 fs.lua: add vim.fs.rm() - 054a287dbe6f ftplugin: change 'commentstring' to `// %s` for C/C++ (#29085) - f398e3a61abb ftplugin: set Lua 'omnifunc' to vim.lua_omnifunc #32491 - b61051ccb4c2 func: allow manual cache invalidation for _memoize - 548f19ccc301 health: close checkhealth buffers with q #31870 - f2fa4ca97ea3 health: highlight headings #30525 - b12b91c27439 health: show :checkhealth in floating window #31086 - 6592873f773b help: use treesitter for table of contents - 3e09fbdf82a1 highlight: add StatusLineTerm and StatusLineTermNC groups - 295920845ebd highlight: make `PmenuMatch` and `PmenuMatchSel` bold - 5b1136a99c7f inccommand: preview 'nomodifiable' buffers #32034 - 61025c9e7aa4 install: mention standard paths, XDG vars in Windows installer #29101 - 8ef41f590224 jobs: jobstart(…,{term=true}), deprecate termopen() #31343 - e7020306a19a jumplist: allow opting out of removing unloaded buffers (#29347) - 8d55cc218cfe keysets: teach Union and LuaRefOf - 5931f780e028 log: use "ui" as default name for TUI client #30345 - e4c6e732fd04 lsp: add select kind in showMessageRequest #32387 - f20335a54ce7 lsp: add support for completionItem.command resolving - 3f1d09bc94d0 lsp: add vim.lsp.config and vim.lsp.enable - 6072153796d1 lsp: announce codeLens resolveSupport (#29956) - 1f5bcc7c4ed7 lsp: completion opts support custom item conversion (#30060) - ff097f2091e7 lsp: completion side effects - 7a7747f1e4d9 lsp: deprecate execute_command with client:exec_cmd - 454ae672aad1 lsp: deprecate non-method client functions - 54249d051c3e lsp: deprecate vim.lsp.buf.completion - e56437cd48f7 lsp: deprecate vim.lsp.start_client #31341 - 55e4301036bb lsp: drop fswatch, use inotifywait (#29374) - dad55f5e763f lsp: export diagnostic conversion functions (#30064) - 44229bb85b6c lsp: highlight hover target/range #31110 - 27f3750817b1 lsp: improve LSP doc hover rendering #30695 - 67221497762a lsp: include `end_col` and `end_lnum` in `vim.lsp.buf.symbols_to_items` - 20f22f75ee62 lsp: include end_col, end_lnum in vim.lsp.buf.locations_to_items #29164 - 4e90bc30237a lsp: lsp.completion support set deprecated (#29882) - 6e68fed37441 lsp: multi-client support for signature_help - 629483e24eed lsp: require `offset_encoding` param #31249 - e00cd1ab4060 lsp: return resolved config for vim.lsp.config[name] - 130b5fd85f07 lsp: return table from lsp/ files on runtimepath (#31663) - ce678043e346 lsp: show server name in code actions #30830 - 07d5dc8938a7 lsp: show server version in `:checkhealth` #31611 - a1e313ded6e4 lsp: support `textDocument/foldingRange` (#31311) - 3b0fe2659e74 lsp: support completion context #32793 - 41b07b128ccb lsp: support for resolving code action command (#32704) - 35247b00a44e lsp: support function for client root_dir (#31630) - 45e76acaa053 lsp: support hostname in rpc.connect #30238 - b2bad0ac91dd lsp: support postfix snippets in completion - d3e4ffafff42 lsp: support utf-8 and utf-32 position encodings - 5d26934c7cda lsp: update LSP healthcheck format (#28980) - ae2fd91b411d lsp: update LSP types - 0df2c6b5d09f lsp: use fuzzy match on filterText instead of prefix match - e4c1f6667b14 lsp: use the meta model to generate server capability map - 5581a95534e4 lsp: vim.lsp.buf.format() supports textDocument/rangesFormatting #27323 - 92e4e3fb76c2 lsp.util: fix type errors - ff1d7d429959 lsp.util: get_bufs_with_prefix -> get_writeable_bufs - cbc82011ce19 lsp.util: improve offset_encoding type annotations - a18fa2f11c3a lsp.util: minor codestyle - 1944c0d610ce lsp.util: refactor get_border_size() - f0973d42272e lsp.util: refactor symbols_to_items() - 0e8568d72c88 lsp.util: remove lsp spec extract - 0621718e3b5f lsp.util: remove metatable in locations_to_items - 3f87e222f79b lsp.util: remove some aliases - e954a16063e6 lsp.util: remove some variables - 5bec7288a5b5 lsp.util: remove uneeded do-end - 8ad000ef7cf0 lsp.util: remove unneeded table - d44d36b8ff6c lsp.util: simplify some bounds checking - 0066dd0f653e lsp.util: use faster version of vim.validate - 1edfe5c09ebc lsp.util: use vim.api alias - 97119a236937 lsp.util: use vim.w/b - cd53db2157f0 lua: add `context.env` (environment variables) to `vim._with()` - 9afa1fd35510 lua: add `vim._with` - 518070731003 lua: add `vim.fs.abspath` - b34e137e43d3 lua: allow vim.on_key() callback to consume the key (#30939) - d5ae5c84e94a lua: completion for vim.fn, vim.v, vim.o #30472 - 0a5a0efda64c lua: don't complete private (_) fields after dot (.) #32690 - 07cc559cdf11 lua: update `vim._with` to allow more granular option contexts - af0ef2ac9dd1 lua: vim.hl.range() "timeout" #32012 - be1fbe38b31b lua: vim.text.indent() - fdeb01cd7740 main: expand file ~\ or ~/ prefix on Windows (#28515) - ea5b748f2438 man.vim: "q" always closes window #30819 - f58e7d5fac1c marks: add conceal_lines to nvim_buf_set_extmark() - 51cf84daf961 marks: virtual lines support horizontal scrolling (#32497) - cfdf68a7acde mbyte: support extended grapheme clusters including more emoji - 124c655f56bc messages: "g<" mapping for ext_messages - cb7b4e296238 messages: "verbose" message kind #31991 - 5bae80899d9d messages: add :!cmd shell message kinds - e16bec41b650 messages: confirm kind for z=, :tselect, inputlist() #32521 - 21151144c6ee meta: add type for quickfix entries - 82a215cb2dc2 options: add 'eventignorewin' (#32152) - d831392b1560 paste: unify cancel and error behavior (#30476) - 08c328b8b079 runtime: Lua ftplugin 'includeexpr' #32719 - f5714994bc4f runtime: Lua ftplugin sets 'omnifunc', 'foldexpr' #32697 - e6cfcaed184d snippet: add default keymaps during snippet session - 123f8d229eef snippet: set snippet keymaps permanent instead of dynamic (#31887) - 96128a5076b7 startup: validate --listen address - 230b0c7f021a stdlib: overload vim.str_byteindex, vim.str_utfindex #30735 - 517ecb85f58e stdlib: vim.json.encode(...,{escape_slash:boolean}) #30561 - 8df6736ca14d term: enable reflow by default (#21124) - 4199671047b0 term: support OSC 8 hyperlinks in :terminal (#30050) - 93480f7fbaa5 term: trigger TermRequest for APC (#32407) - 3ad977f01d97 terminal: add support for copying with OSC 52 in embedded terminal (#29117) - 6f0bde11ccd8 terminal: add support for kitty keyboard protocol - 06a1f82f1cc3 terminal: forward X1 and X2 mouse events - e3bfcf2fd4a4 terminal: support grapheme clusters, including emoji - f1c45fc7a4a5 terminal: support theme update notifications (DEC mode 2031) (#31999) - 56d11b494b54 terminal: disable 'number', 'relativenumber', and 'signcolumn' in terminal buffers (#31443) - 34cd94812d42 test: support and document lua test case debugging - b8c75a31e6f4 treesitter: #trim! can trim all whitespace - ec8922978eb1 treesitter: add more metadata to `language.inspect()` (#32657) - bd3b6ec8360e treesitter: add node_for_range function - 688b961d13bd treesitter: add support for wasm parsers - 8543aa406c4a treesitter: allow LanguageTree:is_valid() to accept a range - 44ccd9ca24dd treesitter: allow `iter_captures` to accept `opts` - 8b5a0a00c8cf treesitter: allow disabling captures and patterns on TSQuery (#32790) - 1af55bfcf21b treesitter: allow get_node to return anonymous nodes - a94a2927d00a treesitter: allow passing lang to InspectTree - 45e606b1fddb treesitter: async parsing - 3dfb9e6f60d9 treesitter: include capture id in return value of `get_captures_at_pos()` #30559 - 267c7525f738 treesitter: introduce child_with_descendant() - 09f9f0a94625 treesitter: show which nodes are missing in InspectTree - b9b408a56c7e treesitter: start moving get_parser to return nil #30313 - da0ae9534900 treesitter: support modelines in `query.set()` (#30257) - 2e5b560482fb treesitter: table of contents for checkhealth, markdown (#32282) - 8ba047e33fe3 treesitter: vertical conceal support for highlighter - ff85e54939b0 tui: builtin UI (TUI) sets client info #30397 - 4fb3b57a19cb tui: handle kitty key events in libtermkey (#31727) - f93ecd2760f5 tui: parse CSI subparams in termkey (#29805) - 44dbfcfba4b0 tui: recognize X1 and X2 mouse events - e41368f3bc1d tui: support in-band resize events (#29791) - d460928263d0 tui: update 'background' on theme change events (#31350) - 45e319ade639 tutor: give hints to satisfy the line checker #30952 - 4b0e2605eaf9 ui: UI :detach command - 394f69a25dc3 ui: additional arguments for cmdline_show/hide events - a0e3fe57417f ui: cascading style inheritance for Pmenu* highlights #29980 - f85bc41c800d ui: don't show unfocusable windows in :tabs, 'tabline' #27984 - 9762c5e3406c ui: gx: use url extmark attribute and tree-sitter directive (#30192) - 43d552c56648 ui: more intuitive :substitute confirm prompt #31787 - 433b342baa04 ui: sign/statuscolumn can combine highlight attrs #31575 - a10636fbe7bb ui: specify whether msg_show event is added to history - e049c6e4c08a ui: statusline text inherits highlights #29976 - 611ef354919f vim.fs: find(), dir() can "follow" symlinks #31551 - 3f15e57b2614 vim.ui: configurable "gx" / vim.ui.open() tool - f4b620c4e643 vim.ui.open: support lemonade #30845 - 3572319b4cb1 vim.validate: improve fast form and deprecate spec form - cb84cd5d9fba win32: embed executable icon FIXES -------------------------------------------------------------------------------- - 200e7ad15786 apply the change on more files - 6720bd440f19 assert failure in VimL expression parser - d123202ae6ef change deprecation presentation - ded15ca8c210 completion.enable(false,...) deletes invalid augroup #32121 - 7737f892063a deps build for ARM64 MSVC - 50749f8df89d extend the life of vim.tbl_flatten to 0.13 - 25abcd243e41 fix broken wasmtime build - b6ab29483842 fix incorrect search code - 46b69aaf14a7 include nvim/ascii_defs.h - 01b4da65c229 merge all provider healthchecks into a single health.lua - 5c245ec3e955 remove vim.lsp._with_extend - 98ba65b8be8c replace NVIM with Nvim in default titlestring (#30348) - 6aa42e8f92bd resolve all remaining LuaLS diagnostics - e71713ba2b5c show swapfile warning as a warning (#28971) - 04181070746a update osc52 termfeatures flag on UIEnter/UILeave (#32756) - 0829e7575d63 warn when :InspectTree on buffer with no parser #32783 - 47f2769b462e Man: completion on Mac - 89f9f168a5c4 api: alloc and draw cursor window in nvim__redraw - 743c5808b616 api: allow `scope = 'local'` with `buf` when using `nvim_get_option_value` - 487c48ec8689 api: clamp range lines in `nvim__redraw()` (#31710) - 141114c170d6 api: crash on invalid buffer to nvim_buf_del_user_command (#31908) - 716adbcc4563 api: deprecate nvim_subscribe, nvim_unsubscribe #30456 - 1e47aa677a24 api: deprecated API nvim_get_option does not validate option name #31919 - 095c0876c201 api: don't override Vimscript SID (#32610) - bff07f6dd0d8 api: don't try to get/set option for invalid option name (#31302) - 0e59f6f4c7cd api: don't use 'winborder' when reconfiguring float (#32984) - cce1eb0806cc api: error properly with invalid field in nvim_open_win (#30078) - 63bbb7c109a5 api: fix 'winborder' preventing splits with nvim_open_win (#32981) - f55213ce0e2b api: fix crash/leak with float title/footer on error (#30543) - 022449b52236 api: generic error messages, not using TRY_WRAP #31596 - 8de1dc692339 api: make `nvim_set_hl()` respect all `cterm` attributes (#31390) - ad60b3fb4806 api: memory leaks in vim.api.nvim_*get_option #32390 - 167a2383b996 api: not using TRY_WRAP, generic error messages #31595 - bf48dfadeccc api: nvim__complete_set requires completeopt=popup #31177 - d1d7d5468091 api: nvim_buf_get_text() crashes with large negative column #28740 - 6ea45031d584 api: nvim_echo free text memory with invalid highlight (#31243) - e2ad251c8d01 api: nvim_get_option_value does not clean up on FileType error #31219 - 5b9518b43663 api: nvim_set_decoration_provider callback return type #31912 - 01a97d2ad75a api: nvim_win_set_buf(0, 0) fails if 'winfixbuf' is set #31576 - 40347f6e27f1 api: only flush nvim__redraw when necessary #31250 - 36f44b3121fc api: remove invalid assertions - 235cb5bc5f25 api: update "range" windows in nvim__redraw #31042 - 9c718bc2bce5 api: validation, documentation of hl_group #31195 - 289c9d21cb91 autocmds: once=true Lua event-handler may call itself #29544 - ffaab09e9986 build: <termios.h> is system-dependent #31705 - 486076a0e1ee build: remove USE_FNAME_CASE, redundant with CASE_INSENSITIVE_FILENAME - 217e26cb641f build: surpress spurious warnings from gcc in -E preprocessor mode - 34a2bfdcc5ce build: vimdoc tags are not validated #32801 - 807098824762 channel: handle writing to file instead of pipe (#30519) - c49162be5958 channel: log after (not before) channel-close - 965dc81f818e checkhealth: disable 'listchars' #31245 - 4c9f3689a1c0 checkhealth: failed if 'lua' in plugin name - f5dd30948e67 checkhealth: handle nested lua/ directory #32918 - c48cf1875225 checkhealth: module not found when `&rtp` has nested paths #32988 - 2495e7e22a0d clipboard: tmux clipboard depends on $TMUX #31268 - 847c28f6f6cc cmdline: always show cmdline when it is a prompt #31866 - af4231d4070c cmdline: cmdline completion of _defer_require() modules #33007 - a70ad5cdb6de cmdline: ext_cmdline block events for conditionals - bbf36ef8ef86 cmdline: prevent cmdline_show events after exiting cmdline #32033 - 092042b43d58 cmdline: simplify and correct grapheme cluster adjustment - 86ae59c61286 colorscheme: distinguish CursorLine/Folded/StatusLineNC highlights #32256 - 9b9f54e2c1cd colorscheme: underline StatusLineNC with 'notermguicolors' #28810 - 8bc28978b632 column: apply custom highlight to last 'statuscolumn' segment (#32182) - 3cb1e825e679 column: check if signcolumn changed in all windows #31439 - 1dcda865591b column: clamp line number for legacy signs - f2083bd55caf column: crash with 'signcolumn' set to "number" (#29003) - f9a49fab0c90 column: modifying a sign should update placed signs (#29750) - d5f6f61879ba column: set signcolumn width after splitting window (#30556) - 063b69bab4ab column: unnecessary redraws with resized 'statuscolumn' (#32944) - 0a2218f965ac comment: fall back to using trimmed comment markers (#28938) - e788d1a3a903 completion: avoid deleting text when completion leader changes #31448 - bfa365a87267 completion: don't include <Lua function> in -complete= (#30209) - 55dc482e757e completion: fix inconsistent Enter behavior (#30196) - 83a7d97d64a6 coverity: CID 509571 Uninitialized variables #30395 - e1c2179dd93e coverity: INTEGER_OVERFLOW #31657 - f9eb68f340f9 coverity: error handling CHECKED_RETURN #31618 - 069451bb214b coverity: size_t overflow #30497 - ff7832ad3fce coverity/497355: shada_read_when_writing out of bounds read #30665 - c49030b75ad8 coverity/497375: f_strpart cast overflow (#30773) - 0fe4362e216e coverity/509227/509228: tui driver_ti underflow #30341 - 60e1862ccba7 coverity/510275: linematch out of bounds access (#30687) - a2008118a0f2 coverity/510436: shada_read_when_writing index out of bounds (#30686) - 71507281fb86 coverity/530826: validate_opt_idx unchecked negative idx (#32081) - 5af9c065ada5 decor: don't draw invalidated virtual lines (#29858) - a8fbe1d409e0 decor: don't use separate DecorSignHighlight for url (#30096) - 34ded4d97b78 decor: exclude invalid marks from meta total - 87610d82db91 decor: set invalid flag for end of invalidated paired marks - 33ff546b50f7 decoration: fix crash when on_lines decor provider modifies marktree - 0e299ebf7559 decorator: noisy errors from decoration provider #31418 - f2173b1aa2be defaults: cannot remove "How-to disable mouse" menu item #30375 - 61aabe0730b5 defaults: default @/Q broken when 'ignorecase' is set (#29343) - 8323398bc608 defaults: don't replace keycodes in Visual search mappings (#31460) - f6f2334ac28f defaults: error messages UX for unimpaired mappings #30884 - 59a171fd99a7 defaults: improve visual search mappings #32378 - 01739d4673ee defaults: missing ]Q/[Q unimpaired mappings #30943 - c644228e1dfe defaults: omit empty line from unimpaired mapping messages (#31347) - ff93cccbc1ce defaults: omit extraneous info from unimpaired mapping errors (#30983) - 4075e613b2d3 defaults: properly pass count to quickfix commands (#30632) - 289380bc40c7 defaults: use "range" instead of "count" for some mappings (#30642) - 573fcb8b6641 deps: revert accidental test commits (#30864) - de794f2d2409 diagnostic: broken variable reference #31557 - c78728a3844c diagnostic: clear autocmd only for valid buf (#32861) - f1fcf653cb7c diagnostic: clear virtual_lines autocmd only for valid buf #32979 - 921dc22fc090 diagnostic: correct `severity` type on `setqflist`, `setloclist` (#30506) - 0e8e4a07f515 diagnostic: don't include diagnostic code when using custom formatter #32464 - d918ebe3b8a5 diagnostic: fix backwards compatibility for goto_next and goto_prev (#29593) - f69937fdbd16 diagnostic: fix float scope filtering (#29134) - 5bc948c050ce diagnostic: improve current_line refresh logic #32275 - 4b3be56a0369 diagnostic: make docs agree with code (#29561) - fd902b1cb246 diagnostic: only store quickfix id when creating a new one #31466 - 3b1d0e7f701b diagnostic: remove deprecated `severity_limit` option - 5eda7aafe995 diagnostic: setqflist() is stuck after vim.lsp.buf.document_symbol #31553 - 9a43ec13e6f1 diagnostic: show backtrace for deprecation warnings - 4cbeb6fa3cc7 diagnostic: silence :chistory #31701 - 6c975515c560 diagnostic: vim.diagnostic.setqflist() opens loclist on first call #31585 - 17c25a66fcea diagnostic: virtual lines should scroll horizontally - fb842dfc224d diagnostic: virtual_lines diagnostic columns (#32703) - e5e81262af88 diagnostics: don't apply extmarks to invalid lines #29321 - c65646c2474d diff: use mmfile_t in linematch - 81ea44fa6aca display: adjust winline info for concealed lines below last line (#32708) - f25dd7a8d548 display: correctly store winline info for concealed lines (#32656) - a901fb875f69 docs: add missing properties to hl_info #30032 - cc26cf040028 docs: do not treat indexes as `short_link` - 056009f74146 docs: markdown instead of vimdoc in meta docstrings #30680 - 8801b77ed098 docs: missing `@returns` desc in _meta/api.lua #30673 - 09bcb310681e docs: replace `yxx` mappings with `g==` #31947 - efe92f9dff93 docs: update context type in `vim.lsp.LocationOpts.OnList` - b8135a76b71f docs: wrong return value annotation for `nvim_buf_get_extmarks` - 376de1483ee5 drawline: correct highlight priority with Visual selection (#30706) - 9a0239fdc8b3 drawline: don't draw beyond end of window (#29035) - b1c439cef6ca drawline: don't draw beyond end of window with 'rnu' (#29406) - 34344b939c06 editor: avoid scrolling :substitute confirm message #32149 - 9e7b0bcf5192 editorconfig: fix indent style for `local.mk` (#31342) - b0a1d35f69b4 eval: don't shorten $HOME in v:stacktrace (#32634) - 2a3561819e0e eval: handle wrong v:lua in expr option properly (#29953) - 4317d366691b event-loop: process input before events in getchar() (#32322) - f05a6666cfcb events: always allow some events to be nested (#32706) - e9f4ceeb7467 events: don't expand `args.file` for Lua callback (#31473) - 1f49a59b8bde events: fix incorrect capitalization of Cmdwin* events (#32813) - 8c2d45be7729 exit: close memfiles after processing events (#30872) - c7ec010ade08 extmark: builtin completion can still affect nearby extmarks #31387 - 93278e7720b2 extmark: clearer error message for invalid ephemeral mark usage - 43a2019f09e8 extmarks: issues with revalidating marks #28961 - 84ad95fdc9d4 fileio: copy to correct buffer position when reading - 93347a67bf91 filetype: fix :filetype detect error with -u NONE (#29991) - aa9f21ee953d filetype: fix typos in filetype detection - 032e024f8ab9 filetype: handle .in files with no filename (#30487) - 1077843b9bee filetype: make filetype detection work with :doautocmd (#31470) - 21cbd9000748 filetype: normalize full path before matching #32227 - 5a8a34dafa2a filetype: source ftdetect/* after creating scripts.vim autocmds (#29445) - cff5fa49fc5a float: "Not enough room" error for 1-line float #25192 - 07c5f41da3ad float: can set title/footer without setting border #32594 - be01b361d8ff float: cannot set title/footer independently #31993 - ff1791c9e59b float: close preview float window when no selected #29745 - d2cca606a1b6 float: ensure floating window width can fit title - 8ddcf9d93900 float: handle error in win_float_create() (#29742) - 8b2b1fba2abf float: missing default highlight for title - df915f3afccb float: properly find last window of tabpage (#30571) - 17383870dd3b float: re-sort layers when grid zindex changed #30259 - 206f8f24a247 fs: make vim.fs.root work for relative paths and unnamed buffers (#28964) - 2c160f39d329 ftplugin/man.vim: hide signcolumn (auto) - 214ce8d33c11 gen_help_html: first tag in h2 is broken #30720 - ceea6898a8bd gen_help_html: handle delimiter, heading #29415 - 6c3f7e7e27a0 gen_vimdoc: correctly generate function fields - 913e81c35f16 getchar: do not simplify keycodes in terminal mode - b109b1abce8c glob: avoid `subcapture nesting too deep` error (#29520) - 4bd86120d41e glob: handle overlapping `{}` condition elements #29236 - b47b0b3f757d grid: double grid_line_start() with ext_messages #31292 - fe87656f29e9 grid: grid_line_start NULL access with 'redrawdebug' - a9c89bcbf69a gx: allow `@` in url - 570a8da01b55 health: "q" should not close last window #31876 - 2e3f1069f499 health: better layout of vim.treesitter health check - 10f917351906 health: broken ruby detect #28804 - 84e85aeb10ae health: check more "old" files #30421 - 5b778a64ec2e health: fix fetching url with python in provider health (#29594) - b4b4cf46a7a2 health: fix pyenv root and python exepath detect issue - 237d2aef4d70 health: return correct name from 'path2name()' - 5e9040648739 health: set nomodifiable in checkhealth buffers - 91773710145e help: remove runnable code virtual text - ff75f345ab5f highlight: 'winhl' shouldn't take priority over API (#31288) - 458473acb8d6 highlight: add `StatusLineTerm`/`StatusLineTermNC` to `:color vim` (#29313) - 6bcefad5a671 highlight: fix the seg fault caused by the invalid linked hl ids - 8e81212e151a highlight: floating windows inherit NormalFloat from global-ns - 67192760409b highlight: make TablineSel more noticeable with 'notermguicolors' #31905 - b67fcd048874 highlight: make `TablineSel` more noticeable #31896 - 862679c70fa0 highlight: update `PmenuSel` for colored completion items #30183 - 59e130b6cacd inccommand: ensure cursor is where it belongs - 16f63b964fc4 input: handle vim.on_key() properly with ALT and K_SPECIAL (#29677) - b52ffd0a59df inspect: always show priority - 9c278af7cc96 inspect: show priority for treesitter highlights - 22fd52325bf6 inspector: update semantic token namespace (#32157) - efe1732c6fd8 jobs: do not block UI when jobwait() doesn't block (#31803) - 574ea6a1911b keycodes: recognize <Find>, <Select> #28431 - 67bb0cfa79bc loader: follow the style of the error message for built-in loaders - 44740e561fc9 log: RPC log format #32337 - 851137f67905 log: log unset $TMPDIR at "debug" level #32137 - c908c2560db8 log: unify error messages for vim.ui_attach/decor providers #33005 - a6f219b06beb log: unintuitive message for undefined $TMPDIR - 2e6d295f799c lsp: account for changedtick version gap on modified reset (#29170) - fac96b72a59e lsp: add foldingrange method support check #31463 - 8263ed467066 lsp: add textDocument/documentLink to capability map (#28838) - a41b6fd17341 lsp: autocmds to close lsp preview windows not cleared - b42dc232c532 lsp: autotrigger should only trigger on client's triggerCharacters (#32266) - 7031949be065 lsp: avoid reusing diagnostics from different servers in actions (#30002) - fc9b70826ec8 lsp: avoid vim.keymap.del error when stopping a client (#29478) - 39d79efa1e1e lsp: better multi-client support for callHierarchy - bdfba8598b41 lsp: cancel pending requests before refreshing - f9bf64d74641 lsp: check buffer is loaded and valid #30330 - c2bf09ddff49 lsp: check for configuration workspace folders when reusing clients - 81b372fecd74 lsp: check for nil response from server (#29196) - a9cdf76e3a14 lsp: check for valid buf before processing semantic tokens response - 230bc34ca541 lsp: check if buffer is valid before LspDetach autocmd (#29162) - af200c10cf9d lsp: check if buffer was detached in on_init callback (#28914) - 02097e43c8cf lsp: check if sig_help window is focusable when configuring cycle keymap - 025c87441502 lsp: clear lsp client diagnostics (#29050) - c374f264305f lsp: clear word when expand multi-lines word (#32393) - adf7c98d607b lsp: compare URI instead of workspace folder name (#30962) - b4599acbf8e3 lsp: correct hover result handling (#30995) - f8d5811c717b lsp: correctly check for "codeAction/resolve" support - 7d8db544417e lsp: delete