diff options
author | Justin M. Keyes <justinkz@gmail.com> | 2025-03-26 14:48:09 +0100 |
---|---|---|
committer | Justin M. Keyes <justinkz@gmail.com> | 2025-03-26 14:48:09 +0100 |
commit | a99c469e547fc59472d6d105c0fae323958297a1 (patch) | |
tree | 75ccd8e3381dc76cfb71402834354162926ab6d4 /runtime/lua/vim/func.lua | |
parent | 6566b66f65a2b96061b42cdc48ea27ad7cd00973 (diff) | |
download | rneovim-a99c469e547fc59472d6d105c0fae323958297a1.tar.gz rneovim-a99c469e547fc59472d6d105c0fae323958297a1.tar.bz2 rneovim-a99c469e547fc59472d6d105c0fae323958297a1.zip |
NVIM v0.11.0
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 b:lsp_floating_preview buf var after win close
- 2a1f604c77a1 lsp: delete bufvar inside WinClosed event
- 879d17ea8d62 lsp: detach all clients on_reload to force buf_state reload (#28875)
- 292365fa1b8f lsp: do not detach from buffer if there are uninitialized clients (#29029)
- 37bf4c572a8f lsp: do not reset buf version when detaching client (#29242)
- d56ba71af11c lsp: document_symbol uses loclist by default #32070
- 720b309c786c lsp: don't send foreign diagnostics to servers in buf.code_action (#29501)
- 1f2f460b4a77 lsp: don't show codelens for buffers that don't support it (#29690)
- 5f527f24f0ea lsp: don't use completion filterText if prefix is empty
- 305012ea0732 lsp: enable `additionalPropertiesSupport`
- 9d9ee3476e64 lsp: ensure watcher cancel
- aec7f1979ada lsp: fallback to `label` for completion items if all others are missing (#29522)
- 33d10db5b7a7 lsp: filter completion candidates based on completeopt (#30945)
- b3109084c2c3 lsp: fix cursor position after snippet expansion (#30659)
- 4b001f297ae2 lsp: fix infinite loop
- 983953858e56 lsp: fix isIncomplete condition in completion trigger (#30130)
- 2ce4a4d91e4a lsp: fix reverse sorting of same position text edits (#29212)
- 8654a9700690 lsp: handle empty call hierarchy items #30349
- f279d1ae33ee lsp: handle encoding bounds in str_utfindex_enc
- 882a450a2982 lsp: handle locations exceeding line length #30253
- 008782208d82 lsp: handle mixed encoding in tagfunc params
- e0a5c3bb5817 lsp: handle multiline signature help labels #30460
- 8512f669f0e0 lsp: handle nil bytes in strings
- f03b1622ad1b lsp: handle nil root_dir in health check (#29007)
- ed071672613b lsp: handle non-existent configs in lsp.config/enable
- 003b8a251dc1 lsp: handle out-of-bounds character positions #30288
- 5187be81c2eb lsp: handle using array as open_floating_preview title (#33016)
- d9a2acdab3bf lsp: hide layout in codelenses in virtual text (#28794) (#28807)
- f54266dbed6f lsp: hover border type can be string (#31013)
- 9a681ad09e2a lsp: hover keymap (#31208)
- a14fca432b96 lsp: improve LSP floating preview window cleanup #31353
- e29f245a1082 lsp: inlay hints are rendered in the correct order (#29707)
- 0086ee90dd2f lsp: list all workspace folders in healthcheck #30966
- 0e394f136fcb lsp: log when receiving markup messages (#30065)
- 203e7a43d1f2 lsp: mention function name in warning #31301
- a4f575abd85e lsp: minimum height for floating popup #31990
- 4fd2694f20d6 lsp: missing method parameter when canceling requests
- be8d87014c0c lsp: on detach, cancel pending foldingRange requests #31509
- 7d5866d47174 lsp: open_floating_preview() ignores max_height (#32716)
- 86770108e2c6 lsp: open_floating_preview() zindex relative to current window #31886
- 724d1110b1e4 lsp: pre-filter matches on label if filterText is missing (#29491)
- a450fda4eded lsp: prefer `on_list` over `loclist` in default handler
- 6bb40f3dbffb lsp: prevent desync due to empty buffer (#29904)
- eb629cce9171 lsp: redundant spaces in lsp log (#29970)
- 43581011e41b lsp: remove superfluous on_detach callback from semantic tokens module (#29174)
- d76f7fef13e5 lsp: reset active request when reporting an error
- 6bc79790449f lsp: reset the applied hints on `refresh` request #32446
- 47aaddfa0dda lsp: resize hover window for concealed lines
- 081beb3659bd lsp: restore get_language_id behaviour
- 29c72cdf4a49 lsp: retrigger diagnostics request on server cancellation (#31345)
- d9ccd828b0d4 lsp: return call hierarchy item, not the index (#30145)
- 9c2034229739 lsp: reuse client if configs match and no root dir
- 6e45cd7f0026 lsp: revert buf_versions deprecation/replacement (#29217)
- bdff50dee56e lsp: revert text edit application order change (#29877)
- e8a6c1b02122 lsp: schedule call to vim.lsp.start for async root_dir (#31998)
- a108852b008b lsp: semantic token functions allow "0" bufnr #28849
- c3cb702ac7a5 lsp: set 'smoothscroll' in docs hover #30748
- 8a236c242a76 lsp: set floating window filetype after setup #32112
- 3c51058d7611 lsp: set tagstack on jump via goto methods
- 24d7debdfb77 lsp: signature_help highlights wrong parameter #32382
- 80e37aa53357 lsp: str_byteindex_enc bounds checking #30747
- 629a5b71b55e lsp: support multiple clients in typehierarchy
- e48179f31e65 lsp: suppress completion request if completion is active (#30028)
- 50f006b61774 lsp: tagfunc fails in unusual buffer #30700
- 5ac8db10f042 lsp: trigger LspDetach on buffer delete (#28795)
- 19be3d26830c lsp: trim trailing whitespace from completion words (#29122)
- aa47af7e69bb lsp: tune completion word extraction for decorated labels (#29331)
- 38838fb00ab3 lsp: type-errors, other nits in vim.lsp.log #31235
- 8d7eb03040c2 lsp: unify get_completion_word for textEdits/insertText
- fe5ae88b20f5 lsp: update request name to capability map #30098
- 5aa9906676f3 lsp: use client.id instead of pairs index (#29143)
- c8d7d65679f8 lsp: use correct method for prepareTypehierarchy
- b9e6fa7ec81c lsp: use filterText as word if textEdit/label doesn't match
- 5d08b65ac2f6 lsp: use unresolved code action when `codeAction/resolve` fails
- 0a7e4e9e5f28 lsp: vim.lsp.enable(...,false) does not disable #32002
- 888a803755c5 lsp: vim.lsp.start fails if existing client has no workspace_folders #31608
- 42ed0ffad985 lsp: when prefix is non word add all result into matches (#30044)
- 55bdb077b706 lsp: wrapped ctx in opts before passed to vim.lsp.completion.trigger #32837
- 2dcbfe78fcec lsp.buf: use correct offset_encoding for all requests
- 3275ae830da9 lsp.protocal: improve typing of constants
- acbc6a7f91d1 lsp.util: inconsistent handling of offset_encoding
- 564173e5568c lsp.util: wrong arguments to 'validate' function
- 614c9322d500 lua: SIGSEGV in luv callback with error(nil) #32595
- b28373638848 lua: `@private` => `@nodoc` #32587
- b6e350a6b4df lua: allows tables with integer keys to be merged in tbl_deep_extend
- c8b64b7a4397 lua: always use vim.inspect() for :lua= (#32715)
- 0e42c81c7fd4 lua: avoid recursive vim.on_key() callback (#30753)
- fe1e2eff0626 lua: avoid vim._with() double-free with cmdmod (#31505)
- 487f44a6c14f lua: change some vim.fn.expand() to vim.fs.normalize() (#29583)
- 43bd9c9c1cac lua: don't clamp -1 or v:maxcol in vim.highlight.range() (#29203)
- bdc6e3878132 lua: don't include text after cursor in completion pattern (#29587)
- e2aca58bcc4f lua: don't override script ID from :source (#32626)
- d40481322a79 lua: ensure inspect_pos() only shows visible highlight extmarks
- 948f2beed4ea lua: find length of completion prefix earlier (#29384)
- ebb963a4a082 lua: format errors from luv callbacks using __tostring
- 65a703e06063 lua: ignore stdout and stderr for xdg-open
- 6b00c9acfde9 lua: no omni/cmdline completion for vim.env (#33044)
- c6d2cbf8f51a lua: pop retval for fast context LuaRef
- a5b1b83a2693 lua: prevent SIGSEGV when lua error is NULL in libuv_worker
- 3d707e6f14b7 lua: remove vim.loader.disable() #31344
- 3a8811324604 lua: revert vim.tbl_extend behavior change and document it
- 3688a3335442 lua: show stacktrace for error in vim.on_key() callback (#31021)
- 40a149e7f992 lua: types for vim.api.keyset.win_config #32700
- 7f33c1967b78 lua: use rawget() to get __call in vim.is_callable() (#29536)
- 960fdc775a88 lua: vim.deprecate does not support major>0
- d832518ec6b4 lua: vim.hl.on_yank highlights wrong region with yi' (#32850)
- cd3855fb2be7 lua: vim.tbl_get({}, nil, 1) should return nil #32218
- 89d6d6f25cf2 lua: wrong script context for option set by func from nvim_exec2 (#32659)
- 9eb042600269 luacats: allow all types inside tuples
- ee5aaba21560 man: avoid setting v:errmsg (#30052)
- 7588ff2d8986 man: check if buffer is valid before restoring 'tagfunc' (#30180)
- da6f68ee6966 man: filter OSC 8 hyperlink markup #29171
- 7940ec69136f man.lua: `:Man <tab>` does not complete #31569
- e08e3d15f66d man.lua: skip `Attrs.None` highlights #32262
- d6653e1cc957 marks: ensure decor is removed with proper range (#32973)
- 906ad04dddff marks: handle composing in inline virt_text with 'nowrap' (#32477)
- 84520325547d marks: handle double-with inline virt_text with 'nowrap' (#32476)
- 86046c5a3103 marks: ineffective conceal_line callback optimization (#32662)
- 72f630f92dc8 marks: issues with invalid marks and marks beyond eob (#32862)
- 8da59060c6dc marks: mark winline as invalid if change is in a concealed line (#32766)
- 012db2b0f509 marks: revalidate marks whose position did not change
- 5cc93ef4729c marks: revise metadata for start mark of revalidated pair #32017
- c4f76299f039 marks: skip right_gravity marks when deleting text
- cdedfc3743df marks: truncate double-width inline virt_text consistently (#32560)
- 7371abf7554e marks: wrong winline info for concealed line with below virt line (#32747)
- a9287dd882e0 mbyte: check for utf8proc_map() failure (#30531)
- 50a576ba576b mbyte: mark any 0xFE0F sequence as a TUI ambiguous width char
- 15bc930fca94 memline: don't check line count for closed memline #32403
- aa976f0d9327 messages: add a trailing space to inputlist() etc. prompts (#32328)
- 37c77ab46baa messages: attaching/detaching ext_messages causes asserts #31952
- d98827b634af messages: avoid empty msg_showmode with 'noshowmode'
- 31d6885deba0 messages: better formatting for :highlight with ext_messages #31627
- 21718c67dd96 messages: better formatting for ext_messages #31839
- 92556be33d04 messages: compute msg_col after last newline in ext_messages
- ad853d1df093 messages: improve deadly signal messages #32364
- 51853b82bc95 messages: incorrect error message splitting and kind #32990
- 08f7c2237767 messages: list_cmd kind for :registers, :au[g] #32531
- 7ce27381fb49 messages: lsp window/showMessage is not an error
- 1b6442034f6a messages: more ext_messages kinds #31279
- 9c6a3703bb15 messages: no message kind for :undo messages #31590
- ca760e645ba4 messages: no message kind for :write messages #31519
- 909b18d05a8d messages: no message kind for completion menu messages #31646
- f111c32ff9dc messages: no message kind for search pattern #31272
- 282f73f067cb messages: no trailing newline for inputlist, tselect, z= with ext_messages
- 9fa3a0964e9b messages: pass previous highlight id to ext chunks
- e025f5a5b30a messages: proper multiline Lua print() messages #31205
- d1e00a5f6dce messages: typo and unwanted truncation in msg_outtrans_long #31669
- d55b17e2b4e0 messages: verbose kind for nvim_echo()
- c8e47f648052 meta: do not use hyphens in param names
- 2cd72258f6be mouse: 'statuscolumn' fold and popopmenu handling
- 81d4e96bc868 mouse: don't treat click on hsep as click on statusline (#29565)
- 102971a39672 mouse: early return when clicking in padded 'statuscolumn' (#29394)
- 86c5c8724bd8 mouse: indicate X1 and X2 button clicks on statusline (#30655)
- f86864f22fef move: 'scrolloff' cursor correction no longer handles folds properly (#32642)
- 5947f249f838 move: half-page scrolling with resized grid at eob (#28821)
- ac7e0ff32ff1 move: redraw for 'concealcursor' after changing w_wcol (#31276)
- af0a2157ad29 move: wrong cursor row on concealed line (#32629)
- 83479b95abae mpack: remove invalid bool definition
- d32780de4daf mswin: UI may hang on exit
- fa99afe35eb5 multibyte: handle backspace of wide clusters in replace mode
- de83cc5842c9 netrw: re-add missing comment marker in syntax file
- d9585bdcfb5b nvim__set_complete: pum preview info truncated during completion #32555
- 34e2185022ab options: better handling of empty values
- 190d0241e2a0 options: fix 'winborder' accepting multiple string values (#32978)
- 8c532a9ea8a0 options: fix 'winhl' still accepting invalid value (#30896)
- 1b9dafa67ba9 options: fix :setglobal not working for 'spelloptions' (#30894)
- 395f420fc65c options: fix some 'belloff' flags not working properly (#30856)
- 50e63c8171d4 options: missing error check for global 'scl' and 'winhl' (#30919)
- e697c1b43dfb paste: improve repeating of pasted text (#30438)
- 052875b9dc3d paste: only record a paste when it's from RPC (#30491)
- 9516997eb0ad paste: wrong '[ mark after pasting a big string (streamed chunks) #33025
- 42aa69b076cb path: avoid chdir() when resolving path (#28799)
- 42db8b17594e path: crash with nvim_get_runtime_file during wildcard expansion (#32992)
- 0dfcf3fe12ac plines: don't count invalidated virt text in char size (#29863)
- afc3c43f12e2 popup: new preview_bufnr created when menu item is selected #32819
- ac1c5ccb2c04 popup: reuse pum preview float win, set 'winfixbuf' #32636
- d288f7003d25 popup: wrong extmark data sync when lines changed in popup preview #30246
- d24fb72c335b pum: don't select item when clicking to the left/right (#30967)
- 73ae7d44a281 quickfix: make shortmess+=O work with cmdheight=0 (#29609)
- 3bcd5624beec regexp: fix typo in E888 error message (#30161)
- cb924764a40d runtime: "E121 Undefined variable s:termguicolors" #32209
- 29a47b39ccd0 runtime: E15: Invalid expression in lua file when `gf`
- b6c1ce8a9545 runtime: add commentstring for glsl ftplugin
- 9ddfcb64bfdb runtime: add remaining missing commentstrings (#30252)
- e641155b023c runtime: avoid E31 in ftplugin (#32578)
- 82b02ae2f2af runtime: clean up one-off scripts
- 9788b81d7e53 runtime: fully port emoji_list to Lua
- 74fcc9452cd9 runtime: gO always says "Help TOC" #32971
- 69aa33d89046 runtime: let matchit and matchparen skips fallback on treesitter captures
- 8369590eb215 runtime: remove obsolete ftplugin/calender.lua
- 41b70a0dea4d runtime: set 'keywordprg' only once in vim ftplugin
- 7b16c1fa8451 runtime: source c ftplugin properly for cpp on Windows (#29053)
- 12c9791e0fef runtime: stop treesitter highlight in b:undo_ftplugin (#29533)
- 862338255da6 runtime: sync bundled treesitter queries
- 9e80738f3073 runtime: sync bundled treesitter queries
- 50577534318b runtime: treat b:undo_ftplugin consistently in Lua ftplugins (#30473)
- 8f5e90811025 runtime: update b:undo_ftplugin in Lua runtime files (#29529)
- a5bd6665b00a scripts: update bundled dependencies in bump_deps
- 573a71469d37 scrollbind: properly take filler/virtual lines into account
- a8b6fa07c4d9 search: avoid quadratic time complexity when computing fuzzy score (#32153)
- 648d6426c863 server: CID 509282: DEADCODE #30316
- f4921e2b7deb shada: ":wshada/:rshada [filename]" with shadafile=NONE #32538
- cd48b72b60af shada: restore search pattern length properly (#28929)
- 608543f8a90b snippet: cancel snippet session when leaving the buffer (#29031)
- 7994fdba6a1e snippet: don't override unnamed register on tabstop select (#28998)
- 5fe4ce6678c0 snippet: modify base indentation when there's actually whitespace (#29670)
- 424f4cc0389e snippet: wrong indentation when snippet contains "^" #32970
- d46ebd2a7403 startup: avoid crash with completion from -l script (#32160)
- 08153ddd1c14 startup: ignore broken $XDG_RUNTIME_DIR #30285
- 17e00d0cc63c startup: report --startuptime error to stderr (#31131)
- 8a2aec997482 startup: server fails if $NVIM_APPNAME is relative dir #30310
- 19fc65acbc67 statuscolumn: misleading v:lnum for virtual lines #32912
- 87e806186c72 statusline: overwriting stl_items with nvim_eval_statusline() {-item #32265
- 1c30d86c337e tabline: restore behavior of click after last tabpage (#30602)
- a49f95d887a2 terminal: avoid mismatched `busy_start` without `busy_stop` (#32458)
- f3ce67549c94 terminal: avoid more `busy_start` lacking `busy_stop` (#32509)
- 3d49c55d3c33 terminal: avoid rescheduling events onto the same queue (#32755)
- 69a19295f8fe terminal: delay when finishing terminal process #32846
- f8c8a245aa5b terminal: don't crash on unprintable chars
- 6d997f8068a8 terminal: handle C0 characters in OSC terminator (#30090)
- fa46441264b2 terminal: improve cursor refresh handling (#32596)
- 1d11808bfd28 terminal: interrupt/got_int hangs terminal (#30056)
- 3db3947b0ed2 terminal: restore cursor from 'guicursor' on TermLeave (#31620)
- c51bf5a6b249 terminal: set cursor cell percentage (#31703)
- 5def8714ad70 terminal: set local values of window options (#29326)
- e9c077d197a8 termkey: fix null pointer dereference (#31792)
- c8e3618e0e68 test: "tempdir not a directory" in CI logs
- f7e32fb6e626 test: better management of tmpfiles
- db2c3d1143fb tests: filter out lines with __typeof__ keyword (#32524)
- e61228a214eb tests: needing two calls to setup a screen is cringe
- 639734bed4ef tests: remove the __extension__ keyword in filter_complex_blocks (#32483)
- 59baa5e8a1f9 tohtml: apply sp color if present #30110
- 67c39f5ecae0 tohtml: disable modeline #32822
- e37404f7fecc tohtml: enclose font-family names in quotation marks
- 25db0a138537 tohtml: extmark text may be out of bounds
- 8cd9feb50166 tohtml: ignore lsp inlay hints
- eb37241d38ad tohtml: properly handle multiple hl groups #29012
- 2ed6423c7e9d tohtml: replace ipairs with pairs
- 88c7997503e1 tohtml: show how many warnings are hidden
- 118ae7e5ed6c tohtml: support ranges again
- c63e49cce2d2 treesitter: #trim! range for nodes ending at col 0 #31488
- b63cd8cbaec1 treesitter: EditQuery shows swapfile ATTENTION #30536
- 55b165ac15a7 treesitter: `TSNode:field()` returns all children with the given field
- 86b737649bb8 treesitter: add 'QuitPre' event to autocommands in inspect_tree
- bc1018a8d3ee treesitter: avoid computing fold levels for empty buffer
- a119dab40f93 treesitter: avoid computing foldlevels for reloaded buffer #32233
- 6696ea7f1038 treesitter: clean up parsing queue
- 99acc9de559a treesitter: close InspectTree/EditQuery window on BufUnload (#31036)
- f50f86b9ff5d treesitter: compute folds on_changedtree only if not nil
- 7a20f93a929a treesitter: correct condition in `__has_ancestor`
- 9b25c68db21c treesitter: correctly parse queries with combined injections
- 3abfaafad255 treesitter: detect trees with outdated regions in `is_valid()`
- 9217e0d671b7 treesitter: display fields for anonymous nodes in :InspectTree
- da4e8dc5b04a treesitter: do not modify highlight state for _on_spell_nav
- 0e3e1e6b6d83 treesitter: don't open fold when o/O adds a line below #28709
- aa2b44fbb07f treesitter: don't return error message on success #31955
- b0bbe25c4808 treesitter: don't spam query errors in the highlighter
- b88874d33c15 treesitter: empty queries can disable injections (#31748)
- d413038b4fd7 treesitter: ensure syntaxset augroup exists (#29542)
- f8e1ebd6f626 treesitter: escape things like `"` in omnifunc results
- c4eb0b64bd49 treesitter: find buffer in multiple windows #28922
- 94d42a3e7239 treesitter: highlight anonymous nodes in inspect_tree
- 5331f87f6145 treesitter: indent size for inspect_tree #28727
- 6ef80eb42c73 treesitter: keep treeview open if source window is still open #31198
- 052e048db676 treesitter: lint top-level anonymous nodes
- 4b9095285160 treesitter: mark supertype nodes as named
- 096ae3bfd707 treesitter: nil access when running string parser async
- c3337e357a83 treesitter: nil check query for has_conceal_line
- 6711fa27ca6e treesitter: recalculate folds on VimEnter #32240
- 05dcda8f9b05 treesitter: recognize aliased parsers in omnifunc, query linter
- d3193afc2559 treesitter: remove duplicate symbol names in language.inspect()
- cdc9baeaf89e treesitter: remove redundant on_bytes callback #31041
- 1827ab7a1f9a treesitter: separately track the number of valid regions
- 36990f324de2 treesitter: show proper node name error messages
- 4349bdbd0bd0 treesitter: specify success status in edit_query return value
- e7ebc5c13d2d treesitter: stop async parsing if buffer is invalid
- 0f067cd34d09 treesitter: suppress get_parser warnings via opts.error
- ae917dbd06cb treesitter: sync queries from upstream
- c4e9ff30a6b6 treesitter: sync queries with upstream
- d8eec8156098 treesitter: update lua, markdown queries
- 6e44a6a289c5 treesitter: update queries
- 5a54681025ec treesitter: uv_dlclose after uv_dlerror
- e4bc8b5967d2 treesitter.foldexpr: only refresh valid buffers
- 48acbc4d645f treesitter.foldexpr: refresh in the buffers affected by OptionSet
- 8474f529780b treesitter.foldexpr: robustness against ctrl-c
- f81131cca2b4 tui: also reset cursor color if it was invisible (#31348)
- 4846bf05dc63 tui: avoid flushing buffer halfway an OSC 2 sequence (#30793)
- 720ec5cec2df tui: cursor color in suckless terminal #32310
- b5cb69f8a4a3 tui: handle key events for arrow and function keys (#31804)
- d7651b27d54a tui: move $COLORTERM check to _defaults.lua (#29197)
- a811d4babd22 tui: only reset cursor color if it was changed (#31337)
- 0c0352783fca tui: remove DCS escaping in tmux (#32723)
- 47c741e30c87 tui: remove duplicate disabling of synchronized output (#28884)
- f32557ca679c tui: reset active attr ID when OSC 8 sequence is terminated (#29960)
- bc63ffcf39e8 tui: reset clear_region attributes during startup #28713
- b02c83941493 tui: set id parameter in OSC 8 sequences (#29840)
- 0231265c8cf8 tui: skip TUI in ui_rgb_attached (#29096)
- 8b8096500d08 tutor: incorrect lines marked as correct #29833
- 31745b17e60d types: add narrower vim.validate types
- 44410d063ad2 types: add some vim.fn type annotations
- b813075b8a55 types: do not mark unstable API as private
- e947f226bebe types: use vararg return type annotation
- a1906c23ddab ui: Windows :detach is opt-in
- 594c7f3d7726 ui: avoid ambiguity about last chunk when flushing halfway (#29718)
- 216ec7397214 ui: avoid redundant ext_cmdline events (#32237)
- 6cdcac4492cc ui: clamp 'cmdheight' for other tabpages on screen resize (#31419)
- 318c0415d5b1 ui: correctly pass metadata to get_node_text #30222
- 7eba016c8681 ui: ensure screen update before waiting for input #30576
- 5b6477be45c5 ui: flush ext_cmdline events before doing cmdpreview #27950
- 6e4df18b457e ui: no fast context for prompt message kinds #31224
- 6b8c56c7f6da ui: schedule UI detach (#32827)
- b66106a46c5c ui: superfluous showmode / excessive grid_cursor_goto #29089
- d1fd674df3eb ui: update title in more cases (#31508)
- 442d338cb50e uri: uri_encode encodes brackets incorrectly for RFC2732 #31284
- d049752e45c3 version: fix vim.version().prerelease
- 8bdfc2ab2b25 version: return nil with empty string
- 6401b433f7c0 vim.fs: default to follow=false #32859
- 47e6b2233fef vim.fs: dirname() returns "." on mingw/msys2 #30480
- 0bef3b911cc2 vim.fs: joinpath() does not normalize slashes on Windows #31782
- 6dc0eb9f41e6 vim.fs.abspath: correctly handle UNC paths
- a8ace2c58a31 vim.fs.normalize: normalize case for windows drive letter
- 4c0d18c19773 vim.iter: enable optimizations for arrays (lists with holes) (#28781)
- 734dba04d13b vim.system: close pipe handles after process handle
- 4e130c1ee446 vim.system: invalid MAX_TIMEOUT for 32-bit systems #31638
- ad3472e29169 vim.system: resolve executable paths on windows
- 33464189bc02 vim.text: handle very long strings (#30075)
- 4cff4185647c vim.text: remove assert from vim.text.hexdecode
- d338ec9cb299 vim.ui.open: prefer xdg-open on WSL #30302
- 8bf79bd13c4d vim.wo: never allow non-zero bufnr
- 453f2c52d291 vim_snprintf: special-case handling of binary format
- 32e128f20992 watch: exclude .git when using inotifywait (#29914)
- 9e23b4e1852f watch: ignore nonexistent paths (ENOENT)
- a18652ed619b win-msi: add bin to PATH per-machine after installation (#29099)
- 88f07d6ca4a6 win-msi: set installer scope to machine #29895
- 4f9311b759ff window: making float with title/footer non-float leaks memory (#30551)
- 7b71fdbc1e9f window: respect hide flag of float windows when switching (#30507)
- 59da82abd91e wininfo: when freeing windows, free the lowest priority wininfo
PERFORMANCE
--------------------------------------------------------------------------------
- 48251134ee59 add fast path to vim.validate (#28977)
- 3abd7ed4a4cd consider only active decorations when drawing lines
- 8d2ee542a82a decor: join predicates and matches cache
- 48e3ac60c633 diagnostics: cache line diagnostics when `current_line` is set #32288
- b8ddd3b6bbfb events: remove unnecessary loop in event_nr2name() (#32777)
- 15f2da55a8de events: use hashy for event name lookup (#32802)
- abf4b65a51b2 filetype: cache (more) pattern data during "add" time
- f61efe3fe77c filetype: implement parent pattern pre-matching (#29660)
- ff575b388640 filetype: optimize internal data structures
- dc04ef2a20bf filetype: skip contents check in `match()` if there is no contents (#29596)
- 12d4caa9d3e4 keycodes: use hashy for string lookup
- f8fc6cb15755 loader: reduce calls to Loader.cache_file
- 138a93a057da lsp: avoid repeated table lookup in completion.enable
- 7342e6b00d5e lsp: do not apply semantic tokens to folded lines
- c85d15e0d557 lsp: don't construct potentially expensive strings
- cc1f2d2ca6ca lsp: don't copy completion items in filter pass
- 3e855d533f44 lsp: use faster version of str_byteindex
- 000129201c54 mouse: only generate <MouseMove> for a new cell positon (#31103)
- 3fdc43024159 treesitter: cache queries strongly
- b192d58284a7 treesitter: calculate folds asynchronously
- c6abc97006ee treesitter: do not use tree cursors with a small lifetime
- cbad2c662873 treesitter: don't block when finding injection ranges
- d9ee0d2984e5 treesitter: don't fetch parser for each fold line
- 562056c87573 treesitter: only search for injections within the parse range
- c57a85e0eda0 treesitter: remove unnecessary foldexpr loop
- 64847fbdc908 treesitter: use `child_containing_descendant()` in `is_ancestor()`
- 4b0291633453 treesitter: use child_containing_descendant() in has-ancestor? (#28512)
- 3f3e4837d5f7 validate: use lighter version
- 99b5ffd68824 vim.text: use lookup table implementation for hex encoding (#30080)
BUILD
--------------------------------------------------------------------------------
- 104800ce2ead "popcount" name conflict on NetBSD #28983
- 198a952c13a1 add luals check
- ef8067a19d98 add quotes around `CMAKE_GENERATOR` variable
- 32e16cb0b6b0 add utf8proc as dependency
- b213f5169c33 allow comment after #include for required header (#29722)
- 382eb878bcbf bump lua dev dependencies
- 1d815acd78e5 bump minimum cmake version to 3.16
- 5284a2a79316 bump unibilium to v2.1.2
- ac5a6d9ff56b fix RelWithDebInfo optimization flags #31802
- 7c652242579b fix lint error on macos
- 046e0956eeb3 fix or silence new clang-tidy warnings
- 5719f2b91a31 fix uncrustify install in nix devShell (#33020)
- 4a0ee22e77d1 make makefile work on msys
- 4ee65484b16d make makefile work on windows
- 1b90f4a9c472 mark CMake variables advanced #31412
- 0f24b0826a27 move all generator scripts to `src/gen/`
- e5ff3020330e remove -O2 from gen_cflags
- d74c74aae35e remove `lintcommit` from `lint` target
- 573bcb2aaf3e remove enforcement of cmake build type
- 0e9c92a90043 remove nix flakes (#28863)
- f09f5c45facc reuse code for deps.txt for both deps and main build
- e1dc824b7ef4 set luals checklevel to Hint #32392
- cac86e9b4c14 silence "po" noise #30469
- 07b14c8e2ed2 specify POST_BUILD when using add_custom_command
- e83ce331da91 use treesitter's CMakeLists.txt
- e268fcbdaa1e work around bug in make when PATH includes cmake as dir
- b288fa8d62c3 bump_deps: abort if archive doesn't exist
- 7ead328a4858 cjson: sync with upstream (#32114)
- 0e2f92ed79e3 clint: make NOLINT work with header checks (#31281)
- 327110ff8c59 cmake: remove unnecessary policy code
- 535c2f8658c4 contrib: add zsh completion (#32617)
- 51d85f7ea58b deps: drop unused bundled bash, python parsers and queries
- 9216bc927c00 deps: fix formatc target on MSVC
- b3641b80083d deps: remove libtermkey dependency
- 1247684ae14e deps: remove msgpack-c dependency
- fa79a8ad6dee deps: vendor libvterm at v0.3.3
- c614969570ac docs: update CSS #28896
- 0a087f207331 generator: add dependencies on hashy (#32796)
- e178331488a0 lpeg: search for lpeg.so on MacOS
- 7e099cf3eb1f macos: disable deduplication in link step
- f4d9a2983a49 release.sh: fix hang when generating docs (#33026)
- b923fcbaf062 vim-patch.sh: don't ignore changes to version*.txt (#29425)
- 7aaa4a51b76f vim-patch.sh: include commit subject #28767
- 314643319080 vim-patch.sh: use 7 hex digits for runtime patch file name (#29940)
Diffstat (limited to 'runtime/lua/vim/func.lua')
0 files changed, 0 insertions, 0 deletions