1
mirror of https://github.com/neovim/neovim.git synced 2024-12-27 14:21:31 -07:00
neovim/runtime/nvim.appdata.xml
Justin M. Keyes 27fb62988e NVIM v0.10.0
For notable changes, see runtime/doc/news.txt (or `:help news` in Nvim).
Following is a list of fixes/features commits.

BREAKING
--------------------------------------------------------------------------------
- 649dd00fe2 remove deprecated functions
- 0370e4def0 remove neovim qt
- 880f7d12fe remove vimballs ()
- c48b1421af rename "playground" => "dev" 
- 2f85bbe615 rewrite TOhtml in lua
- abe39f2b24 api: change return type of nvim_win_text_height to Dict ()
- 7180ef6901 api: nvim_open_win: noautocmd blocks all autocmds 
- 700cab0068 events: trigger CursorMoved later on switching window ()
- e4a136f713 ex_cmds: remove :behave
- e5e0bda41b lsp: add vim.lsp.status, client.progress and promote LspProgressUpdate ()
- 5a363ccac8 lsp: deprecate trim_empty_lines
- 5a2536de0c lsp: move changetracking to separate file ()
- 58618d208a lsp: promote LspRequest to a full autocmd and enrich with additional data ()
- 1b9ccd38a1 lsp: rename vim.lsp.get_active_clients to get_clients ()
- eb1f0e8fcc lsp: replace snippet parser by lpeg grammar
- 448907f65d lsp: vim.lsp.inlay_hint.get(), enable(), is_enabled() 
- 7caf0eafd8 lua: add stricter vim.tbl_islist() and rename old one to vim.tbl_isarray() ()
- 747264320c mappings: remove #n as a notation for a function key ()
- f7da472257 options: graduate shortmess+=f flag
- c3d1d9445c options: graduate some more shortmess flags
- 5df4fdf253 options: make OptionSet `v:` values use typval
- 881d17a113 options: remove compatible behaviours for vim 5.0 and earlier
- e19cc9c9b7 options: unify `set_option` and `set_string_option`
- db590e96d5 startup: "nvim -l" message does not end with newline 
- 2ca076e45f treesitter: incremental injection parsing
- f5dc453109 treesitter: new standard capture names
- fc0ee871de treesitter: remove deprecated legacy injection format
- 6debb18523 treesitter: remove duplicated diagnostic code ()
- 18da6964cc vim.iter: remove vim.iter.map/filter/totable 
- 9b028bd64f vim.iter: rename xxback() => rxx() 
- 8d4a53fe6e vim.json: remove global options, "null", "array_mt" 
- 40ce857797 vim.ui: change open() to return `result|nil, errmsg|nil` 
- e0d92b9cc2 vim.ui: change open() to return pcall-like values 

FEATURES
--------------------------------------------------------------------------------
- a66b0fdfaa NVIM_APPNAME supports relative paths 
- c0beb8173f add .luarc.json ()
- 14b7ffcf89 add __call typing for vim.inspect()
- ca7e488cfe add link in issue template to minimal config template
- 4bf47222c9 add vim.text module ()
- 0ebc4de0ff allow opting in to builtin clipboard providers ()
- e8d3c4cccb generate types and docs for v variables
- 29fe883aa9 ignore swapfile for running Nvim processes 
- 28d1640dd6 improve return type annotations for vim.api.*
- 199a990c9e report "build" in vim.version() 
- e688793253 tostring(vim.version())
- c559ab0ae6 update unicode tables ()
- ecdb6465e2 vim.version() returns a Version object
- 4b60267f82 :source: source current ft=lua buffer as Lua code ()
- 428edcde70 api: add forward and back mouse buttons
- 037ea6e786 api: add nvim__redraw for more granular redrawing
- ca9f6f5694 api: add nvim_tabpage_set_win ()
- db8fe63a93 api: add nvim_win_text_height ()
- 16513b3033 api: allow floats to be opened in non-current tabpage ()
- 6b4970f6e0 api: allow open_win/win_set_buf in the cmdwin in some cases
- 5d921e28c1 api: allow win_close in cmdwin to close wins except previous
- 472271199e api: allow win_hide to close cmdwin or non-previous windows
- 6bba4beced api: make nvim_open_win support non-floating windows ()
- b162adbb7c api: pass 0 to nvim_get_chan_info for current channel ()
- 42bbc4fabc api: support abbreviations in nvim_set_keymap
- 98a4ed0a11 api: support getting abbreviations ()
- d3d7d763f3 builtin: improve types
- 748bc4d22d clipboard: add OSC 52 clipboard support
- db57df04b6 clipboard: enable OSC 52 clipboard provider by default ()
- 734848dc1a colorscheme: add semantic tokens modifiers to builtin color scheme
- 1e0996b572 colorscheme: update treesitter groups
- 73de98256c comment: add built-in commenting
- ae4ca4edf8 complete: support f flag for complete buffer part
- 01c51a4913 completion: support completing more string options
- ae3685798d decoration: allow conceal_char to be a composing char
- 30a5c28c87 decoration_provider: log errors as error messages
- 9711370c26 defaults: add :Inspect to right-click menu ()
- 2613ba5000 defaults: enable 'termguicolors' by default when supported by terminal
- 513fc46195 defaults: improve :grep defaults 
- c26dc1f77c defaults: map Q and @x to repeat in Visual mode ()
- 8758c6fb87 defaults: set g:netrw_use_errorwindow = 0 
- 1d81d7a268 defaults: treat "•" as a list item prefix 
- 20b38677c2 defaults: use ripgrep (rg) for 'grepprg' if available
- 61063653b0 defaults: visual CTRL-R for LSP mappings 
- 4ee656e4f3 diagnostic: add `vim.diagnostic.count()` ()
- 73034611c2 diagnostic: add default mappings for diagnostics ()
- fc6d713dd8 diagnostic: add support for many namespaces filtering in GetOpts ()
- 5ed9916a28 diagnostic: enable(…, opts)
- e780177506 diagnostic: filter diagnostics by specific severities ()
- b13e63db1d diagnostic: goto functions jump to highest severity ()
- 26765e8461 diagnostic: is_enabled, enable(…, enable:boolean)
- 9cb7e00b97 diagnostic: provide more control over virtual text display ()
- ee41153a94 diagnostic: revert default behaviour of goto_next/prev()
- 07b60efd80 diagnostic: specify diagnostic virtual text prefix as a function
- a3b3978474 diagnostics: support numhl and linehl for diagnostic signs
- 0381f5af5b diff: grouping optimization for linematch algorithm
- 42333ea98d docs: generate builtin.txt ()
- 9beb40a4db docs: replace lua2dox.lua
- 1d4a5cd185 eval: exists() function supports checking v:lua functions ()
- 4a1ad676ce ex_cmds: no error on :lua with {range} and {code} ()
- c2433589dc ex_cmds: ranged :lua 
- b04286a187 extmark: support proper multiline ranges
- 1c032ad703 extmark: window scoped extmark
- 68cb4a7405 extmarks: add "undo_restore" flag to opt out of undo-restoring
- 4e6f559b8c extmarks: add 'invalidate' property to extmarks
- c249058758 extmarks: add sign name to extmark "details" array
- bbd5c6363c extmarks: add virt_text_repeat_linebreak flag ()
- 15e77a56b7 extmarks: subpriorities (relative to declaration order) ()
- f0884f21fa extmarks: support hl_mode "combine" for inline virt_text ()
- 372aa2eb3d float: add fclose command
- 35570e4a11 float: implement footer
- 4200a0f167 float: support toggle show float window
- 1233ac467d fold: transparent foldtext
- 71530cc972 folds: support virtual text format for 'foldtext' ()
- 38b9c322c9 fs: add vim.fs.root ()
- e3e6fadfd8 fs: expose join_paths as `vim.fs.joinpath` ()
- bc67cf3ccd gen_help_html: add anchors to help tags 
- b0cf9c5fee gen_help_html: ignore pi_netrw.txt errors
- 81d8fce8f9 gen_help_html: non-default vimdoc.so parser
- da09f9b551 gen_lsp.lua: protocol.Methods 
- f41496ce74 gen_lsp.lua: sort by name, handle failure 
- 3692fd4c87 gen_lsp.lua: validate CLI args 
- 2ff2785c39 health: checkhealth buffer can show in a split window ()
- 4382d2ed56 health: fold successful healthchecks 
- d1bc6fca71 health: list attached buffers in LSP report 
- 2877672d70 health: make :checkhealth support more split modifiers ()
- ddda5e0a48 help: hide filename of "gO" outline using conceal 
- e72c0cd920 highlight: Allow hyphens (-) in highlight group names ()
- 986bf7e78d highlight: add `FloatFooter` highlight group
- 574519d9d6 highlight: tweak default color scheme
- 64a14026d7 highlight: update default color scheme
- a79694a08e issue_template: instruct not to include a package manager
- 69ffbb76c2 iter: add `Iter.take` ()
- cebc00603e l10n: update Turkish translations 
- fec51229c4 l10n: update Ukrainian translations ()
- 996dd36c77 lsp: add actionable advice to lsp client quit error msg ()
- 4ff3217bbd lsp: add fswatch watchfunc backend
- 643546b82b lsp: add handlers for inlay hints ()
- 317c80f460 lsp: add method filter to get_active_clients ()
- 6888607415 lsp: add more LSP defaults ()
- 0fe86f7e24 lsp: add opts paramater to vim.lsp.codelens.refresh
- 131a1ee82d lsp: add original LSP Location as item's user_data in locations_to_items ()
- f1775da07f lsp: add snippet API ()
- db0ec84fb4 lsp: add type annotations for lsp.util.locations_to_items ()
- f190f758ac lsp: add vim.lsp.buf.subtypes(), vim.lsp.buf.supertypes() ()
- 451bc50d40 lsp: deprecate severity_limit
- e9b85acfbb lsp: enable workspace/didChangeWatchedFiles by default ()
- 4a09c178a1 lsp: fallback to code-action command on resolve failure ()
- 2f22ed6a00 lsp: handle multiple clients in omnifunc ()
- 63b3408551 lsp: implement textDocument/diagnostic ()
- 5e3cf9fb4b lsp: improve control over placement of floating windows ()
- 15641f38cf lsp: include positionEncodings in default client capabilities
- ddd92a70d2 lsp: initial support for dynamic capabilities ()
- ca5de9306c lsp: inlay hints 
- 350d818564 lsp: inlay_hint.is_enabled({filter}) 
- 33e1a8cd70 lsp: map K to hover by default 
- 97bea3163a lsp: more annotations
- 37079fca58 lsp: move inlay_hint() to vim.lsp ()
- 12c2c16acf lsp: opt-in to dynamicRegistration for inlay hints ()
- a49924a318 lsp: remove notify from vim.lsp.buf_detach_client ()
- 8149bd089e lsp: report fswatch errors
- fb54e6980e lsp: set client offset_encoding if server supports positionEncoding
- 96e19533f6 lsp: set kind in select call for codelens 
- 9af3559643 lsp: set workDoneToken in initialize request ()
- f736b075d3 lsp: snippet parsing using lpeg
- 134b9ec483 lsp: soft deprecate vim.lsp.for_each_buffer_client ()
- 63f9c2da9a lsp: support completion itemDefaults
- 3f788e73b3 lsp: support connect via named pipes/unix domain sockets ()
- 7e36c8e972 lsp: support for choice snippet nodes
- 5c40f3e86a lsp: support vim.lsp.ListOpts.loclist in location_handler()
- abd2352bd8 lsp: update LSP protocol 3.18 typings to date ()
- cfd4a9dfaf lsp: use treesitter for stylize markdown
- d5063f4b29 lsp: vim.lsp.inlay_hint.enable(nil) applies to all buffers 
- c0952e62fd lua: add `vim.system()`
- 9248dd77ac lua: add hl priority opts on yank ()
- 6425869771 lua: add meta file for vim submodules ()
- 3734519e3b lua: add noref to deepcopy
- 7c661207cc lua: add ringbuffer ()
- 877d04d0fb lua: add vim.func._memoize
- ab1edecfb7 lua: add vim.iter ()
- d675bd01b1 lua: allow vim.F.if_nil to take multiple arguments ()
- c379d72c49 lua: allow vim.wo to be double indexed ()
- e52c25b761 lua: deprecate vim.tbl_add_reverse_lookup
- f1dfe32bf5 lua: enable(enable:boolean, filter:table) 
- 5b40a1c09d lua: implement Iter:join() ()
- c01e624b07 lua: more specific error messages for vim.api type checking
- e1ff2c51ca lua: pass keys before mapping to vim.on_key() callback ()
- 2db719f6c2 lua: rename vim.loop -> vim.uv ()
- 6c0812d92e lua: specific error messages for type checking `opts` params
- fd089c8e50 lua: typing for vim.fn.* ()
- 302d3cfb96 lua: use callable table as iterator in vim.iter ()
- 51c754b62e lua: use keyset type information
- 8e5c48b08d lua: vim.fs.normalize() resolves ".", ".." 
- 7e70ca0b48 lua: vim.keycode ()
- 9e86f473e0 lua: vim.region accepts getpos() arg ()
- 4d04feb662 lua: vim.tbl_contains supports general tables and predicates ()
- 48d533272e lua-types: types for vim.api.* ()
- 25e7299707 man: allow opening pages in current window ()
- 08db61b19b man: respect 'wrapmargin' when wrapping man pages ()
- f9944a78bc meta: add types for vim.lpeg
- deb6fd6704 msgpack-rpc: show actual request id in error message
- 01fe6b9e6a msgpack_rpc: support out-of-order responses on `msgpack-rpc`
- 619407eb54 nvim_open_term: convert LF => CRLF ()
- e98decf9a6 quickfix: support -q - to read 'errorfile' from stdin ()
- 7b0123dd6a remote: avoid --remote-ui infinite loop ()
- cca6c4c698 rpc: allow empty string key in msgpack => Vim conversion
- d0d4160dd1 runtime: highlight hl groups in syntax.txt ()
- 5f4895200a scripts: add lsp_types.lua ()
- 4e6096a67f server: allow embed with listen ()
- 170c890dca shortmess: "q" flag fully hides recording message ()
- d3582e102b statuscolumn: re-evaluate for every screen line ()
- 224f303ee5 stdlib: add vim.base64 module ()
- fa131de9ad tabline: middle mouse button now closes tab ()
- c855eee919 term: enable reflow by default ()
- cd1b14f027 termdebug: improve `:Evaluate` floating window ()
- cffdf102d4 terminal: allow :terminal to take modifiers ()
- 0c89854da1 terminal: close shell terminals automatically
- 7589336120 terminal: respond to OSC background and foreground request ()
- beca827212 terminal: trigger TermRequest autocommand events ()
- c6ec7fa8d7 treesitter: add 'injection.self' and 'injection.parent'
- 6cfca21bac treesitter: add `@injection.filename`
- 5d8ab32f38 treesitter: add a query editor ()
- cb0a1a10b2 treesitter: add bash parser and queries
- bb15fa0356 treesitter: add folding for `InspectTree` ()
- 9ce1623837 treesitter: add foldtext with treesitter highlighting ()
- 31c4ed26bc treesitter: add injection language fallback ()
- 28f54a7878 treesitter: add lang parameter to the query editor ()
- 88c8803aa1 treesitter: add python parser and queries
- c194acbfc4 treesitter: add query_linter from nvim-treesitter/playground ()
- af040c3a07 treesitter: add support for setting query depths
- 11844dde81 treesitter: bundle markdown parser and queries ()
- 5e6240ffc2 treesitter: handle quantified fold captures
- f69658bc35 treesitter: highlight Lua files by default ()
- 988b472d90 treesitter: highlight help files by default ()
- 845d5b8b64 treesitter: improve query error message
- 189fb62032 treesitter: improved logging ()
- c0b99bb1de treesitter: show root nodes in :InspectTree ()
- cb46f6e467 treesitter: support URLs ()
- ff6092b4ee treesitter: update Bash parser and queries to v0.21.0
- 8dda630ae9 treesitter: update C parser and queries to v0.21.0
- 3836eeb901 treesitter: update C queries from upstream
- aca4ad430b treesitter: update Lua parser and queries to v0.1.0
- 5e875ae8d0 treesitter: update Markdown parsers and queries to v0.2.1
- 8a3385dde7 treesitter: update Python parser and queries to v0.21.0
- 20dcbaaaf8 treesitter: update Vim parser and queries to v0.4.0
- 987dff6713 treesitter: update Vimdoc parser and queries to v2.4.0
- 1384bebd5a treesitter: update query parser to v0.2.0
- 668f16bac7 treesitter: upstream query omnifunc from playground ()
- a478bf936b treesitter: use 0-based indexing to show ranges in `:InspectTree`
- ac8ed77afb tui: add 'termsync' option ()
- 4ee9e58056 tui: query extended underline support using DECRQSS ()
- b4b7ca2d54 tui: support DCS responses in TermResponse event ()
- 622ae2f53e tui: support Super and Meta modifiers ()
- a142670360 tui: support undercurl in WezTerm ()
- 56627ca242 tui: use TermResponse event for OSC responses ()
- 32b49448b2 tutor: add Japanese tutor 
- 9c2270b834 types: add `test/.luarc.json`
- d3a8e9217f ui: add chdir UI event ()
- 6ea6b3fee2 ui: add support for OSC 8 hyperlinks ()
- b72931e704 ui: allow non-zero 'cmdheight' with ext_messages
- 2615ed879e ui: allow to get the highlight namespace
- e38027ef69 ui: completeopt support popup like vim
- 2e4e12756a ui: indicate margins for the area used by win_viewport
- efa9b299a7 ui: inline virtual text
- dacd34364f ui-ext: make 'mousehide' into proper ui_option ()
- 43ded8d358 version: unverbose ":version", ":verbose version" 
- 0a598c13b1 vim.deprecate: only issue warning if neovim version is high enough
- a767c046f4 vim.iter: add Iter:flatten  ()
- af6e6ccf3d vim.ui: vim.ui.open, "gx" without netrw
- fa4b02fa67 vim.version: add `vim.version.le` and `vim.version.ge`
- 27a566f3f8 vimdoc: support Markdown code blocks ()

FIXES
--------------------------------------------------------------------------------
- f5573fba3d Remove nested for_each_tree in TSTreeView ()
- ae28ef327e adjust error message for error in UI event callback ()
- ebe489d8f0 allow multiline message for echoerr ()
- 592bc831ce avoid ui_grid_cursor_goto when drawing window separators
- d6483793e1 buffer overrun in lmpack_session_receive
- 3bbb0aa399 checkhealth warning even if init.lua exists 
- 5cb906e91c correct versions in deprecation warnings
- 118fd8367c deduplicate gen_cflags
- eb4676c67f disallow removing extmarks in on_lines callbacks ()
- 6e9b204afb doc errors
- 77d3526a3d explain that user should run nvim with -V1 to see more information
- fd791db0ec fix ASAN errors on clang 17 ()
- bb38c066a9 fix compiler warning from clang
- 478273a423 fix iter_matches call in query linter ()
- bb7324292c flush UI state before blocking in vim.wait ()
- 44d4ae448d function was renamed ()
- 1dd700a8d9 gf fails on "foo/bar.txt:1:2" on Windows
- 6e703f778f handle argv not present in nvim_get_chan_info
- 56dc8b9212 heap-buffer-overflow in file_name_in_line
- 74b2f6c3d9 ignore non-existent properties during header generation
- f5a09f1b03 invoke changed_bytes when rewriting <Tab> char 
- b8273c9a33 lua annotations
- 69d49727d7 luacheck
- 4ce3159e24 missing case in setxattr error handling ()
- 41fb98d6fa move fswatch linux check inside of vim.schedule ()
- ba58c6f8a4 only attempt to close timer if not already closing ()
- b400b947f3 prevent child processes from inheriting ui channel file descriptors
- 99b8a343e1 quick update, squash later
- 83b51b36aa raise TS min version
- a090d43d61 splitting of big UI messages
- 2424c3e696 support UNC paths in vim.fs.normalize
- 43e76cc346 tostring(vim.version()) fails if build is NIL 
- 8c7a8be274 transposed xcalloc arguments ()
- 35f453f65d type warnings in shared.lua
- f112ac73bd unreliable "checkhealth completions" test
- b32b5b2711 use BEL to terminate OSC 11 request ()
- d95e3a4c9c use no_ff instead of ffdos as condition
- a1bec02c1e use snprintf instead of sprintf
- ca887b80a9 version-range < and <= 
- c1ee187f82 vim.loop in luv threads ()
- fe4583127f vim.validate() order is not deterministic 
- be8b15200d windows timeouts have exit code 1
- 1f8fb7c000 :let: fix error when applying operator to boolean option ()
- 5a3752889c NVIM_APPNAME: show error message if $NVIM_APPNAME is invalid
- c4ad15ae32 PVS/V009: add top-level message
- 128e194f64 PVS/V1001: variable is assigned but is not used
- 1bbbca267d PVS/V547: expression is always true/false
- 592e4472da PVS/V564: the '|' operator is applied to bool type value
- 30d311ebcf PVS/V592: expression is enclosed by parentheses twice
- 3ecd45ded0 api: allow negative column arguments for nvim_buf_set_text ()
- 3ac952d4e2 api: avoid assertion when autocmd group id is 0 ()
- b2a8a93147 api: avoid immediate TextChanged with nvim_create_buf ()
- ef7ae66eef api: avoid integer truncation
- b1e24f240b api: avoid open_win UAF if target buf deleted by autocmds
- 0a81ec14a4 api: better topline adjustments in nvim_buf_set_lines
- c18f3cfcdb api: crash after nvim_win_set_config title/footer validation error ()
- aa4e47f704 api: disallow some more functions during textlock
- 22d9338afc api: disallow win_set_buf from changing cmdwin's old curbuf ()
- da979ae04b api: do not re-apply win_config.style when missing
- 344906a08f api: do not update grid position in nvim_win_set_cursor ()
- 22205f36a6 api: don't change title when setting buffer in a window ()
- 711a2f5ff6 api: don't leak memory with nvim_win_get_ns ()
- 1cf51a07a6 api: don't set coladd of mark ()
- 5fd1bac65e api: don't use stl 'fillchar' for "use_statuscol_lnum" ()
- a3751f5de2 api: dont change curwin for nvim_win_set_height
- 1ff4562502 api: dont change curwin for nvim_win_set_width
- 59fed8bb64 api: extmark highlight groups not always included in details ()
- 9b9030ff2c api: fix inconsistent behavior of topline touched in recent refactor
- fc2a56fe61 api: fix set_lines viewport adjustment, but this time good
- b7763d7f6b api: get virtual text with multiple hl properly ()
- b3be7b7413 api: handle NUL in nvim_err_write() and nvim_out_write() ()
- 132bbd1cbd api: handle clearing out last line of non-current buffer
- d942c2b943 api: handle win_split_ins failure properly
- 5cfdaaaeac api: ignore 'autochdir' when renaming other buf ()
- 2fc2343728 api: ignore 'autochdir' when setting buf in other win ()
- 7367838359 api: limit depth of nvim_cmd ()
- 0da27e9bde api: load buffer first on nvim_buf_set_lines ()
- 4e5c633ed4 api: make getting explicit empty hl in virtual text work ()
- d05d63a18f api: make nvim_get_hl not return non-existing groups
- a70eae57bd api: make open_win block only enter/leave events if !enter && !noautocmd
- 5d58136ccc api: make open_win/win_set_config check if splitting allowed
- 4ec8fd43bf api: make width/height for split by nvim_open_win work ()
- b1577d371a api: make win_set_config with "win" for splits need "split/vertical"
- 0330dd9e69 api: mark nvim__complete_set as experimental 
- d22172f36b api: more intuitive cursor updates in nvim_buf_set_text
- b051b131f5 api: nvim_buf_get_offset in a new buffer with zero or one lines
- e0453d7f57 api: nvim_cmd{cmd="win_getid"} parsed as :winsize 
- 6091df6b7a api: nvim_create_buf assert fails if autocmds set &swapfile
- d5c23d72a5 api: nvim_create_buf leaks memory if buffer is loaded early
- b7708eac24 api: nvim_get_hl should return default flag
- a741c7fd04 api: nvim_parse_cmd error message in pcall() 
- e55a502ed4 api: open_win fire Buf* events when !enter && !noautocmd if entered early
- a873f33993 api: open_win fire BufWinEnter for other buffer when !enter && !noautocmd
- e7c262f555 api: patch some cmdwin/textlock holes
- a9968912b7 api: redundant error when using `nvim_cmd` ()
- dbcba26bf1 api: revert unintended change of optional bool params
- b25753381c api: set script context when using nvim_set_hl ()
- d3ea9a04bc api: update "w_scwidth" in nvim_eval_statusline()
- c971f538ab api: update grid cursor in nvim_win_set_cursor()
- 130cb4815a api: use a conditional stack for nvim_cmd ()
- cf9f002f31 api: use correct buffer for "range" in nvim__redraw ()
- 77118d0da8 api: use text_locked() to check textlock
- bcb70eeac4 api: win_set_config autocmds crash when moving win to other tabpage
- 233649bc75 api: win_set_config fires unnecessary autocmds
- b52d15853e api: win_set_config set tp_curwin of win moved from other tabpage
- 54022a2946 api: win_set_config update statuslines after removing splits
- a9cd8467cb api: wrong nvim_buf_set_extmark error for invalid hl_mode
- 4d3a38ac07 api, lua: handle setting v: variables properly ()
- 92760a7f42 api, lua: make blank lines in a message work properly ()
- 08fc1ebbaa api/buffer: fix handling of viewport of non-current buffer
- 24e3ee9d07 api/options: validate buf and win
- 139e6f68f9 autocmd: API functions accept garbage after event name 
- 02d00cf3ee backup: E1509 when writing extended attr to symlink ()
- 746a153bc1 base64: only check padding if leftover index is set ()
- 533e01a75b base64: properly handle embedded NULLs when decoding ()
- 095bd8d0f8 buffer: do not filter help buffer
- e5d9b15044 buffer_updates: correct buffer updates when splitting empty line
- 11865dbe39 build: better deps for doc
- ffaf74f147 build: distinguish vim.mpack from global require'mpack'
- f9416470b1 build: include FindPackageHandleStandardArgs
- ade42d531b build: teach cmake about vvars
- da7178cbbf builtin: fix incorrect optional fields for fn.sign_define
- 6fa0f303d7 builtin: parameter mismatch between winsaveview and winrestview
- 3159a2c28f change: update fold after on_bytes ()
- 342c7da4bd channel: use os_write() instead of fwrite() for stderr ()
- cd6458123f charset: fix wrong display of 0xffff ()
- 603f3b36a4 checkhealth: error in node.js check 
- b0978fca6b checkhealth: fix crash due to incorrect argument type
- 7f94a032e1 checkhealth: shell_error and cpanm module
- bfdec5b0e7 clang: null pointer dereference in parse_msgpack 
- 1027ccac6d clangd: check size of array before applying qsort on it
- cdd8017469 clangd: set block pointer to null in case map is empty
- 6851b265ba clipboard: don't pass --foreground to wl-copy ()
- c3de6524a5 clipboard: ignore exit caused by signal 
- 3128cff6b1 clipboard: increase OSC 52 wait timeout ()
- 46ceefb52b clipboard: make getreg() accurate for clipboard registers ()
- d2983dcdb1 clipboard: make osc52 work with PUC Lua ()
- e51e524175 cmake: restore previously undocumented workround, now documented
- 3688735c2b cmdline: don't redraw 'tabline' in Ex mode ()
- c72d877c33 cmdline: wrong 'incsearch' highlighting after :redraw ()
- bc67bbe446 codelens: add buffer and line checks before displaying codelens ()
- 2b1a6e7597 colorscheme: add missing LSP groups
- 0c850add3e colorscheme: default statusline groups usability 
- 8b23653695 colorscheme: link LSP semantic tokens to treesitter groups
- 62e0e0349c colorscheme: try .lua files in 'rtp' before .vim files in 'pp' ()
- eca72def1f colorscheme: typo
- d4bd6b1eaa colorscheme: use explicit normal foreground in syntax groups
- 3c724fe1f3 column: 'statuscolumn' not drawn after virt_lines with "n" in 'cpo' ()
- cdc028e97d column: add truncated width during estimation for 'statuscolumn'
- e89071522c column: always set b_signcols.max
- c126a3756a column: apply numhl signs when 'signcolumn' is "no" ()
- 2ded2e75f4 column: avoid exceeding configured 'signcolumn' width
- b50fdcba4a column: clear "b_signcols" before moving saved marks
- 13d50c3b13 column: clear "b_signcols" when marktree is cleared
- ec74538044 column: correct width after truncated 'statuscolumn' error ()
- 2bdef6dd2a column: don't overflow sign column with extmark signs ()
- bab4bcdefb column: don't reset 'statuscolumn' width after it has been drawn
- c509f4907b column: fill 'statuscolumn' clickdefs with evaluated width ()
- 25e62697c3 column: fix wrong cursor with 'statuscolumn' and cpo+=n ()
- dbf6be296d column: full redraw with 'stc, 'rnu' and inserted lines ()
- 7d0a23973b column: handle unprintable chars in 'statuscolumn' ()
- 0db6946b39 column: handle w_redr_statuscol at end filler lines ()
- 97122eaa1c column: ignore empty signcols range ()
- 967c7abde3 column: keep track of number of lines with number of signs
- f871fee8b6 column: pass kFalse when initializing "b_signcols.count"
- 44d4f03573 column: rebuild status column when sign column is invalid
- c6864b0d14 column: redraw 'statuscolumn' on wrapped lines with 'relativenumber'
- 35cec0de4a column: redraw and update signcols for paired extmark
- d88814ef68 column: remove sign from line it was previously on with undo
- df399ea0d2 column: reset decor state before starting from top
- 5a4e0b837f column: use a single path for sign sorting ()
- a878e02d5d column: use maxwidth to allocate/fill 'statuscolumn' click defs 
- 783b0aba41 completion: check that healthcheck name is string ()
- fbeef0d4ef completion: don't add backslashes to runtime pattern ()
- cdc8bacc79 completion: filter results with complete+=f ()
- af8500af64 completion: improve popup window position ()
- d1b2a5cf5f completion: make sure the buffer name is valid ()
- e9b9a86cd5 context: don't crash on invalid arg to nvim_get_context ()
- fdaf6bc557 context: don't leak memory on multiple invalid objects ()
- 55be4a4e26 coverity: dead code 
- 6d698c86d0 coverity: unhandled retval for marktree_itr_get_overlap() 
- 6f49ed58c3 coverity/348240: memory leak in put_view()
- 9d48266bed coverity/471380: null dereference in get_local_additions()
- ae48d965d7 coverity/477623,477624: guard null pointer dereference in kv_concat_len ()
- 2b0acacb3c decor: allow adding providers during redraw
- 5ca330859c decor: check decor kind before accessing union field ()
- 60d320dea3 decoration_provider: don't leak memory on error ()
- 65738202f8 decorations: better approximation of botline 
- 2accf24805 decorations: crash with revised mark with changed decoration flags
- a0e9ef09d7 decorations: do not apply sign highlight id as range attr id
- fba17d5b88 decorations: fix imbalanced sign count
- 444f37fe51 decorations: incompletely displayed line should also get decorations
- dc48a98f9a decorations: validate botline for on_win
- 328a237351 defaults: auto-close terminal for &shell with args ()
- 5aa1ba3efe defaults: background detection in tmux ()
- 5e98439f6d defaults: diagnostic mappings descriptions 
- ccb5a76e5a defaults: don't use nvim_feedkeys in default mappings ()
- 85cb0b0ddc defaults: make terminal autoclose not block other events ()
- aa1d0ac095 defaults: only repeat macro for each selected line if linewise ()
- eef2aedff6 defaults: remove tmux background detection passthrough ()
- 5b45efbee6 defaults: set 'fsync' 
- 8df3742378 defaults: use augroup for default autocommands ()
- a8e4ee2f2b defaults: validate 'channel' before responding to OSC request ()
- 6318edadc3 defaults: visual hash (#) on text with "?"
- abd380e28d defaults: visual mode star (*,#) is fragile
- b9a0e762f1 defaults: visual star (*) on text with "?"
- 9b4b23493d defaults: wait until VimEnter to set background ()
- 72e3d8c3f9 deps: bump luv to 1.48.0-2
- 87db6d894a deps: make sure --force-config takes effect
- 7aad4643f9 deps: remove stray conflict marker
- 8a6716682e deps: restore functionality of USE_EXISTING_SRC_DIR
- d4dc884012 deps: restore functionality of USE_EXISTING_SRC_DIR
- d272143318 diagnostic: always return copies of diagnostic items ()
- 29d5ff6ac4 diagnostic: check for sign namespace instead of sign group
- 3d8f0cb695 diagnostic: check if delete failed in `qf_fill_buffer()` ()
- 89ffdebd20 diagnostic: fix typing on field |diagnostic-severity|
- 83635e4e3d diagnostic: get border from config ()
- 96f59e1b99 diagnostic: invalid col number  compare in next_diagnostic ()
- ad76b050eb diagnostic: open_float on multi-line diagnostics 
- 37011bc45e diagnostic: rename buffer → bufnr in type annotation ()
- 50284d07b6 diagnostic: typing
- a4fc3bb0e6 diagnostic: vim.diagnostic.get(…,{lnum=…}) on multi-line diagnostic 
- add1b10b79 diagnostic: virtual_text prefix function should have index and total ()
- 35f475d0a5 diagnostics: if buffer not loaded, skip handlers that set extmark ()
- 5a25dcc5a4 diff: filler lines for hunks bigger than linematch limit ()
- 2f9ee9b6cf doc: improve doc generation of types using lpeg
- c4417ae70c doc: prevent doxygen confusion
- 67f5332344 docs: clean up non-docstring comments for vimdoc gen
- ae7020c667 docs: fix TSNode incorrect signatures
- ab65a98adb docs: ignore_invalid 
- f40df63bdc docs: make lines not overflow in vim docs
- 0a90e4b05a docs: match DocSearch style with site theme
- 0d149bb186 docs: the runtimepath is not the runtime path
- 957d05d16b docs: too much whitespace around <pre> blocks 
- d931b829e9 docs: vimdoc syntax errors
- 036da0d079 docs: vimdoc syntax errors
- 17c59e417f docs: vimdoc syntax errors
- 34b57508a7 drawline: check filler_todo in place of removed draw_state ()
- 455bca1ba8 drawline: combine extmark highligh with area hl correctly
- 3299797150 drawline: consider position in linebuf for foldcolumn ()
- 889f81c65f drawline: don't invoke on_line for filler line ()
- 2b9d3869f8 drawline: don't use temporary "v" variable when not needed ()
- 06694203e5 drawline: fix missing Visual hl on double-width fold char ()
- d5488633f6 drawline: initialize linebuf_attr to 0 instead of -1 ()
- e9280a68f7 drawline: initialize variable
- 2819718873 drawline: initialize variable
- 36941942d6 drawline: inline virt_text hl_mode inside syntax/extmark hl ()
- 37b73cf14b drawline: make cursorlineopt=screenline work with resized grid
- be1d09c427 drawline: missing NUL termination when drawing TAB ()
- 5b31447811 drawline: update prev_ptr after getting syntax attrs ()
- 14839c5d18 edit: backspace adds extra spaces for inline virtual text ()
- 267e90f31d edit: don't go to Terminal mode when stopping Insert mode ()
- b2e8c0df20 edit: fix K_EVENT interfering with 'digraph' ()
- 143a178332 editorconfig: add missing root validation ()
- cbbda3bcd7 editorconfig: check that buffer is valid ()
- abb8c2c453 editorconfig: do not set 'endofline'
- df2f5e3912 editorconfig: highlight properties with dashes ()
- dc45fb4655 editorconfig: only warn once on errors
- cdbc3e3f3e editorconfig: syntax error regression
- bf0c69e504 eval: correct failure return value for readfile/blob ()
- 5b312cd5f6 eval: make has('pythonx') work properly ()
- 0e4086b741 eval: prevent double-free in garbage collection ()
- 12d123959f eval: properly support checking v:lua function in exists() ()
- b8c34efe33 eval: skip over v:lua properly ()
- ad2fad9a3b event-loop: flush UI when no input is available ()
- 6725565258 event-loop: process input before events ()
- 58a1ef8e6a events: avoid unnecessary CursorMoved ()
- bf9e92c81c events: check for WinResized/WinScrolled in terminal mode ()
- dd24ea8195 events: don't expand non-file as file name
- 774a32e5fe events: null dereference in autocmd functions
- a8cfdf43bc events: trigger VimResume on next UI request ()
- a114a21eff ex_getln: initialize pointer with NULL
- 9e7c4fe579 exception: remember whether message is multiline ()
- 4a098b97e5 excmd: append original command to error message
- 75d9c413d4 excmd: make :def unknown rather than unimplemented ()
- f1dd75c2af exitfree: don't use ex commands to close windows in free_all_mem()
- 79a558277b extmark: fix crash when stepping out from internal node
- a78fd18ed9 extmark: fix cursor position with both left and right gravity inline text
- 320e9c1c21 extmark: only invalidate unpaired marks on deleted rows
- 8e97edb93f extmark: restore extmarks when completing original text
- 2d33a766a1 extmarks: `U` changed_bytes after extmark_splice ()
- 23c21e7630 extmarks: account for rightleft when drawing virt text ()
- d54156ed08 extmarks: blending space shouldn't overwrite wide char ()
- 54225bdb02 extmarks: crash with sign after many marks
- 65b1fd00a7 extmarks: do not remove decor from invalid old marks
- 437d35dbf7 extmarks: do not remove invalid marks from decor upon deletion
- a05bbc60ea extmarks: don't position overlay virt_text halfway a char ()
- 4dd43e31db extmarks: don't show virt lines for end mark ()
- dfa8b582a6 extmarks: draw TAB in virt_text properly with 'rl' ()
- a6e4793baf extmarks: draw virt_text below diff filler lines properly ()
- 958cc22836 extmarks: empty inline virt_text interfering with DiffText ()
- 0534ad8ca5 extmarks: empty inline virt_text interfering with Visual highlight
- 31a51acdc3 extmarks: fix heap buffer overflow caused by inline virtual text ()
- 9c41a81dec extmarks: fix virt_text_hide off-by-one hiding ()
- a6dd67f5b6 extmarks: fix virt_text_hide with 'nowrap' and multibyte ()
- 818d7f6daf extmarks: fix win_col virt_text drawn on wrong screen line ()
- c4df2f08b6 extmarks: fix wrong highlight after "combine" virt_text ()
- b65cd7ff1a extmarks: fix wrong virt_text position after wrapped TAB ()
- 4c7cec4e29 extmarks: handle inline virt_text with empty chunk ()
- ee3d4f6b90 extmarks: handle overwriting right half of wide char ()
- f4f1ce1d16 extmarks: hide inline virt_text properly with 'smoothscroll' ()
- 34a786bc49 extmarks: inline virt_text support multiple hl groups ()
- 5a6c7c805b extmarks: make empty "conceal" respect &conceallevel = 1 ()
- 510e1f131b extmarks: make right_align and win_col work on wrapped line ()
- 215244f749 extmarks: missing "spell" and "conceal" in details ()
- 35e50d79c6 extmarks: overlay virt_text position after 'showbreak' ()
- a0790558c3 extmarks: priority order of inline and non-inline virt_text ()
- b52bd8a2de extmarks: properly handle virt_text on next screen line ()
- a376d979bd extmarks: redraw line on adding/removing conceal ()
- 2d9e063a63 extmarks: redraw pre-undo position ()
- 2137edbd4f extmarks: redraw properly with scoped inline virt_text ()
- 1cc358aed6 extmarks: restore old position before revalidating
- 0818d65528 extmarks: skip virt_text if it is out of window ()
- 19d63563e1 extmarks: splice earlier when opening new line ()
- 362df0f793 extmarks: wrong display when changing text with virt_lines ()
- d5a85d737a f_wait: flush UI before blocking ()
- 81f67b79e8 file_search: path with spaces in finddir() and findfile() ()
- a69c720639 fileio: fix off-by-one in rename_with_tmp ()
- c6c21db82b filetype: add typing and dry ()
- 020d1f626a filetype: call on_detect before setting buffer filetype
- fdf5013e21 filetype: correctly detect bash-fc-{id} files as "sh"
- d6f406db45 filetype: don't use fnamemodify() with :e for extension ()
- 670c7609c8 filetype: make sure buffer is valid before call nvim_buf_call ()
- af38b46a25 filetype: return on_detect function when matching by file contents
- 2955c921ce filetype: use unexpanded file name ()
- e32af31ee8 flake: clang-tools moved to nativeBuildInputs ()
- fd08fd3de3 float: add fixd option
- 884470124d float: allow floating window in cmdline area
- 9ecb43b637 float: apply 'winblend' to title/footer highlight ()
- 898371fc9f float: don't relative flaot win itself
- fcdfbb4303 float: fix some other crashes with :unhide or :all ()
- 3ea124a8d9 float: improve error message when reconfig failed ()
- c5abf487f1 float: make "fixed" work with relative=win ()
- 03e8b5fc91 float: make bufpos work properly with resized parent grid
- 437ed3cee2 float: trigger winnew event when float window create
- f5953edbac float: update position of anchored windows first ()
- 9de157bce4 float: win_get_bordertext_col returning negative column number ()
- 5f18dd3013 float: wrong position when bufpos is set
- 0e01e81552 folds: allow overlay virtual text on folded line ()
- ee986ee044 folds: combined Folded and Visual highlights ()
- ded01a819a folds: don't show search or match highlighting on fold ()
- 811140e276 folds: fix missing virt_lines above when fold is hidden ()
- 678548a2b4 folds: show Folded highlight in Visual selection ()
- 58f9486144 folds: update folds in Insert mode with fdm=indent ()
- 38e38d1b40 fs: allow backslash characters in unix paths
- 8a7e3353eb fs: make `normalize()` work with '/' path ()
- ae5095cac9 fs: use generics for better typing
- e4da418ba8 fs.lua: normalize slash truncation ()
- 06fcf71bd0 fswatch: --latency is locale dependent
- 502a7a0558 ftplugin: respect runtimepath ordering
- 03a2c5b772 ftplugin: source Lua files after Vimscript files per directory ()
- be5cf33836 gen_help_html: type warnings, spell_ignore_files 
- 6c35fb421e gen_lsp.lua: improve type name, and fix wrong type inheritance
- 214b125132 gen_lsp.lua: no notifications in lsp.Methods 
- 765729a145 gen_vimdoc: INCLUDE_DEPRECATED not generating docs for deprecateds
- ccf328172b gen_vimfn_types: don't include tag before signature's line ()
- 86c9d8b53c gen_vimvim: correctly add aliases to vimAutoEvent ()
- 240c41e1af genvimvim: add special abbreviations of :delete ()
- 51ea753747 genvimvim: generate prefixed boolean options properly ()
- 9f32deba56 grid: add start column when getting char on line ()
- 4ed1c2a8af grid: don't draw beyond max column ()
- 9c202b9392 grid: handle clearing half a double-width char ()
- 6a486c44e6 gx: move to to _init_default_mappings 
- 67b2ed1004 gx: visual selection, expand env vars
- e39b6d0c52 health: "attempt to concatenate nil"
- 7ffe450173 health: check for _host_prog variables properly ()
- 50cd5ed360 health: check more "old" files
- f6dcc464f2 health: check unmatching python_glob as empty table ()
- 6818ba271c health: clients may not support watchfiles 
- 03a021f378 health: combine python and virtualenv healthchecks ()
- c67efe3a9c health: correctly expand and resolve PYENV_ROOT ()
- 88eb0ad149 health: fix tmux RGB capability detection ()
- cde4892b49 health: fix typo in function name
- 63a17322dd health: improve python executable check error handling ()
- ba88fd886a health: malformed call to warn() 
- 8c6f97bef8 health: properly use the value of $PYENV_VERSION ()
- c8ebb04e92 health: replace healthFoo with DiagnosticFoo ()
- 843c1bed95 health: stop job properly on timeout ()
- 96d0c709b6 healthcheck: expand vimrc variable ()
- 4229bbe514 helptags: make multibyte help tags work properly ()
- 7b6d041bae heredoc: allow missing end marker for scripts
- a2f17e97ec highlight: add `FloatFooter` to 'highlight_defs.h' ()
- 837f268093 highlight: add `Nvim{Light,Dark}Gray{1,2,3,4}` colors
- 8afb3a49c0 highlight: add create param in nvim_get_hl
- f8ea49cfe1 highlight: add force in nvim_set_hl
- 4ce0ada0d4 highlight: add missing g: prefix for colors_name ()
- 03ca36d1f8 highlight: apply 'winblend' to NormalNC ()
- 6c3e170e56 highlight: apply 'winblend' to float border ()
- d4872377fe highlight: attr set all when normal attr changed
- dcaf207336 highlight: combine ColorColumn with low-priority CursorLine ()
- 66925f14de highlight: consistently spell "Goldenrod"
- 5183651773 highlight: correct hi command output
- ca7dd33fa7 highlight: don't show CursorColumn on current line ()
- 59289fb987 highlight: make CurSearch work properly with 'winhl' ()
- b11a8c1b5d highlight: remove unnecessary assignment to char_attr for 'spell' ()
- 9a2c98087b highlight: update `IncSearch` to link to `CurSearch`
- ab92575753 highlight: winhl receive wrong argument
- b60a2ab4cb inccommand: block errors when parsing command line again ()
- bc5b0da84e inccommand: don't crash with "split" and 'n' flag
- 382ea4d402 inccommand: don't preview in Ex mode ()
- c1c2a1b5dd inccommand: don't save information of a buffer twice ()
- ef44e59729 inccommand: don't set an invalid 'undolevels' value ()
- ba9f86a9ce inccommand: improve preview buffer number handling ()
- 643bea31b8 inccommand: restrict cmdpreview undo calls ()
- 1dba570e63 inccommand: save and restore '[ and '] marks ()
- 35ffe58ea4 inccommand: update topline after moving cursor ()
- a14c780918 input: set termkey buffer size to read stream capacity
- b61575ba70 intro: clear intro if new buffer is shown in focused float
- 9530a23016 intro: link showing intro to state at start
- 0570a19c8a intro: make intro explicitly stateful
- d1a30221fc intro: redrawing intro exposing pseudo-randomness
- 21360523cd intro: still show intro message with floating window
- 6b96122453 iter: add tag to packed table
- 2ee8ace217 iter: make pipeline termination conditions consistent ()
- 9489406879 iter: remove special case totable for map-like tables
- 57ccd82417 job-control: fix use after free ()
- 1c71c32b29 job-control: make jobwait() flush UI after hiding cursor ()
- e057b38e70 json: allow objects with empty keys 
- af6537bc66 jumplist: Ctrl+o, Ctrl+i weird behavior when deleting buffers 
- 017ff93b02 keycodes: recognize <t_xx> as a key ()
- 6709f7f8f1 keycodes: simplify S- properly when D- is present ()
- 4447cefa48 l10n: update Japanese translations ()
- 7d17ab5b6f l10n: update Ukrainian translations ()
- 908843df61 languagetree: apply `resolve_lang` to `metadata['injection.language']`
- e353c869ce languagetree: don't treat unparsed nodes as occupying full range
- 6b5f44817e languagetree: remove double recursion in LanguageTree:parse
- f5530bf566 linematch: initialize array
- 766f4978d6 lint: lint warnings 
- 5465adcbab lint: use tbl_contains
- 0804034c07 loader: cache path ambiguity 
- 89135cff03 loader: remove cyclic dependency on vim.fs (when --luamod-dev)
- 66c66d8db8 loader: reset hashes when running the loader
- ec80e4cb4d log: increase size of buffer for nvim instance name
- 4d0f4c3de9 lsp: E403 if doc contains multiple codeblocks 
- 20c331915f lsp: SignatureHelp docstring is not escaped 
- 01691c5447 lsp: abort callHierarchy on no result ()
- 9abced6ad9 lsp: account for border height in max floating popup height ()
- 3e016fa8d4 lsp: actually send diagnostic-tags back to the server
- 37d8e50459 lsp: add "silent" option to vim.lsp.start ()
- 2e1f5055ac lsp: add assertion for explicit bufnr in apply_text_edits ()
- 542c910a1d lsp: add missing LSP semantic token highlight links
- be5e361154 lsp: add param assert in client_is_stopped ()
- ac0e8323dc lsp: add parentheses to generated union array types ()
- 0fcbda5987 lsp: add snippet regression test ()
- e42fdaad21 lsp: add spacing for inlay hints separately 
- 48bcc7b971 lsp: advertise workspace.didChangeConfiguration capability ()
- c07dceba33 lsp: allow Lua pattern chars in code action filter ()
- 3bf887f6e0 lsp: always return boolean in lsp.buf_client_attach ()
- 966eb8e0b3 lsp: announce publishDiagnostics.dataSupport ()
- 39fc340276 lsp: avoid assertion when `client_hints` do not exist ()
- 47dbda97d2 lsp: buffer messages until connected to server ()
- adbe7f3683 lsp: call `on_list()` even for single location ()
- 15983cf2c6 lsp: cancel session when leaving snippet region ()
- 816b56f878 lsp: cancel watchers when closing a client
- 9b8a075539 lsp: change `silent` in lsp.start.Opts to optional ()
- d3e0352574 lsp: check if inlay hints are enabled for a buffer before disabling ()
- fa9a85ae46 lsp: clean up duplicate and unused meta type annotations
- 8bd6f7c20b lsp: clear codelens on LspDetach ()
- 97c0a52416 lsp: correct deprecation message 
- aa62898ae3 lsp: correct the error message's cmd on spawning ()
- 77a9f3395b lsp: create codelens request parameters for each buffer ()
- 9281edb334 lsp: create per client params in lsp.buf.code_action
- 39cc38a87b lsp: defer writing error msgs ()
- 1b679ac192 lsp: define LspInlayHint highlight group 
- dc8c086c7e lsp: directly rename the existing buffers when renaming ()
- c1a95d9653 lsp: disable didChangeWatchedFiles on Linux
- 2fde6295df lsp: display initialization errors ()
- 94127cb5df lsp: do not add extra indentation
- cc87dda31a lsp: do not assume client capability exists in watchfiles check ()
- 0fe0cf5ada lsp: do not cancel snippet when selecting placeholder ()
- 073035a030 lsp: don't register didChangeWatchedFiles when capability not set ()
- 5eee633c97 lsp: don't start additional client if attach failed ()
- 21fa19f3e8 lsp: don't use hl_mode = combine for inlay hints 
- 96b94f8d77 lsp: duplicate on_detach, on_reload callbacks 
- b95b6ed975 lsp: empty commands should not be considered executable ()
- c3c673cdec lsp: enable() does not activate inlay hints on open buffers 
- b2c26a875b lsp: ensure buffer is not attached more than once
- fa0a25dcb3 lsp: error in reset_timer on second detach 
- 72e64a1afe lsp: extra "." when completing with tsserver 
- 031088fc0a lsp: filetype matching to documentSelector in dynamic capabilities ()
- d191bdf9d5 lsp: fix attempt to call non existent function ()
- dd3fa64573 lsp: fix dynamic registration of code actions ()
- ce4ea638c7 lsp: fix incorrect typing and doc for `vim.lsp.rpc`
- f487e5af01 lsp: fix infinite loop on vim.lsp.tagfunc
- 74bd4aba57 lsp: fix multi client handling workspace_folder methods ()
- 5e5f5174e3 lsp: fix off-by-one error for omnifunc word boundary
- ba6761eafe lsp: fix omnicomplete in middle of the line ()
- 075a72d5ff lsp: fix relative patterns for `workspace/didChangeWatchedFiles` ()
- 840e1864c2 lsp: handle NUL bytes in popup text ()
- 345bd91db2 lsp: handle absence of a trailing newline 
- 0e9a33572d lsp: handle adjacent snippet tabstops
- 853f647da6 lsp: handle reverse lookup in capabilities
- 91f67fabe6 lsp: handle stale bufnr on LspRequest autocmd trigger ()
- 849d82b80b lsp: handle stale bufnr on LspRequest autocmd trigger ()
- 2eecb1b85d lsp: highlight active parameter in signature help 
- e55e80d51c lsp: inlay hints: "Failed to delete autocmd" when closing buffer 
- 7968322e7a lsp: inlay_hint nil reference error 
- ba8f19ebb6 lsp: lint warnings, default offset_encoding 
- 3304449946 lsp: log unknown diagnostic tags instead of showing a warning ()
- 251ca45ac9 lsp: markdown code fence should allow space before info string 
- add7e106d5 lsp: noisy warning about offset_encodings 
- c235959fd9 lsp: only disable inlay hints / diagnostics if no other clients are connected ()
- 1dacf2ecee lsp: prevent code-lens refresh from becoming a permanent  no-op ()
- 597ecf7516 lsp: re-add client.commands and mark private
- 94a904b453 lsp: reapplying already-applied hints 
- 4ecc71f6fc lsp: reduce diagnostics and add more types ()
- bc7f86209d lsp: redundant vim.snippet.jumpable 
- ee156ca60e lsp: refactor escaping snippet text ()
- 2ecba65b4b lsp: remove unknown LSP protocol property ()
- 7311958e12 lsp: remove unnecessary file load/write when renaming ()
- e14e750998 lsp: rename LspProgress data.result => data.params 
- f0e61e6d92 lsp: rename fails on missing parent directory 
- b413f5d048 lsp: rename undofile when renaming ()
- d09957e0a0 lsp: rename: load and list new buffer if attached to window ()
- 7668f89d5b lsp: replace @private with @nodoc for public client functions ()
- 52823616bc lsp: replace bug-prone ternary operation 
- 5282d3299c lsp: restore marks after apply_text_edits() 
- cf5f1492d7 lsp: revert change to buf.clear_references() 
- 917172dd96 lsp: semantic token defer loading
- 3be2536ca0 lsp: send back diagnostic tags to the server
- a37d568082 lsp: send empty "added" list when removing workspace folder 
- 3c6d971e54 lsp: set extra info only when it has a value ()
- 5785c32f11 lsp: set fallback client name properly
- 370232dbef lsp: track snippet deletion
- ca26ec3438 lsp: use only utf-16 in default client positionEncodings ()
- b302da9ad2 lsp: use percentage format on lsp.status ()
- 2c8f36a3b0 lsp: use plain loop for non-list-like table of protocol values
- 8addd27504 lsp: when renaming directory, check path prefix of buffer names ()
- 597355deae lsp: wrong iterator in registerCapability handler ()
- b2d471ab33 lua: allow nil values in serialized Lua arrays ()
- 68f12e7fcb lua: annotate that TSNode functions can return nil ()
- 4ffc20c951 lua: avoid internal error when :luado deletes lines ()
- 3198038224 lua: correct return value for on_key with no arguments ()
- 84bbe4b0ca lua: disallow vim.wait() in fast contexts
- 22eb2ba183 lua: do not schedule events if Nvim is exiting
- 7d279a09e0 lua: handle array with holes in luaeval() ()
- c43c745a14 lua: improve annotations for stricter luals diagnostics ()
- 2f779b94e7 lua: inspect_pos respect bufnr when get syntax info ()
- e2e63bd045 lua: make highlight.on_yank use win-local highlight ()
- b40170f7a3 lua: memory leak when using invalid syntax with exists() ()
- 4ab9c5fa46 lua: not using global value in vim.opt_global ()
- 20ec4c776a lua: only disable vim.schedule() when closing main loop ()
- f150b62423 lua: only free luarefs when returning from API ()
- 0190771713 lua: remove uri fragment from file paths ()
- 5aa14e1231 lua: return after assert returns assert message ()
- 5331d5772f lua: show error message when failing to set variable ()
- 1294e221a2 lua: vim.fn.has('nvim-0.10') in fast context, used by vim.deprecate
- 37c58226a8 lua: vim.fs typing ()
- 5db076c7cc lua: vim.region on linewise selection 
- 622b1ae38a lua: vim.split may trim inner empty items
- a7df0415ab lua2dox: filter out the entire `---@alias` block
- 32e69bd397 luarc.json: ignore test directory to save memory
- 6f936c9d85 man: make :Man with a range work ()
- 59aadf33ef man: pass modifiers also to :tag ()
- a9b4dc9614 man: set the nested flag for the BufReadCmd autocommand ()
- c8d1d8b254 man.lua: don't continue on command error ()
- a4c4b39d55 man.lua: hardwrapped manpage is not resized 
- 209ed16f57 man.lua: return support of all sections
- 3a7c30dc93 man.vim: q quits after jump to different tag in MANPAGER modified ()
- 3c667d3e0f mappings: fix mapset() not replacing map with backslash ()
- 0451391ec5 mark: properly init mark views ()
- d432bba4e4 marks: handle switching buffer properly ()
- 62306a29ad marktree: correct qsort usage
- 585549625d marktree: off-by-one error in `marktree_move`
- 34be915f6b marktree: preserve ordering in `marktree_move`
- b97d5038f1 marktree: some marks counted twice when checking for overlap
- ad5a155b1f mbyte: fix bugs in utf_cp_*_off() functions
- b028233991 memline: more curbuf stuff
- 91ef26dece messages: :map output with ext_messages ()
- eabf9de1dc messages: allow more prompt in headless mode with UI ()
- 60fb8a6a8b messages: avoid crash with :intro and ch=0 ()
- 61a0aa6c51 messages: avoid passing negative length to strnlen() ()
- ca258db156 messages: clear new lines when increasing 'cmdheight' ()
- c9f47fca8b messages: ensure msg_grid is at top at more prompt ()
- 2f17ef1fc4 messages: use "Vimscript" instead of "VimL" 
- 55dbf5c379 messages: validate msg_grid before using msg_grid_pos ()
- 4db77017fb meta: add nil return types to lpeg functions
- 5198a2555d meta: cleanup lpeg operators
- dae6770b76 meta: include vim.json
- d31f7648ec mkspell: prevent Unicode character overflow ()
- a8a93e517f mouse: avoid dragging after click label popupmenu callback ()
- 6a2a37b1e1 mouse: avoid dragging when clicking next to popupmenu ()
- 091eb4c8c7 mouse: click after eol with conceal and virtual text ()
- 2b475cb5cc mouse: click on 'statuscolumn' with 'rightleft' ()
- e25cf47ad3 mouse: click on empty line with 'foldcolumn'
- 84a4319545 mouse: cmdline click registered as statuscolumn ()
- bf52fb7193 mouse: copy the line before syntax matching ()
- 5fb4c397a1 mouse: drag vsep of window with 'statuscolumn' ()
- dc394b9641 mouse: fix popup menu position check with winbar ()
- 7c1921e9d6 mouse: fix popup_setpos position check with ext_multigrid ()
- a3fba5cafc mouse: handle folded lines with virt_lines attached to line above ()
- 64aa0f7d0b move: check for filler lines properly ()
- 366d0c7887 move: check the correct buffer ()
- 780509aedf move: fix using the wrong window ()
- 60d1e3e471 msgpack: store grid line event as a value
- c52dfb6e84 normal: don't check conceal when pressing 'r' ()
- 088cdf69e3 normal: make "g$" work properly with resized grid
- a1ded1b113 oldtest: always use a 64-bit int for swapfile block number
- 92c59c39c3 ops.c: remove duplicate u_save_cursor()
- 9d01385c6c options: `'modified'` showing incorrect value for scratch buffers
- c3e176f6e2 options: correct condition for calling did_set_option() ()
- 9af03bcd47 options: do not change inccommand during preview ()
- 796df966f3 options: don't update curswant for 'winhl' or 'winbl' ()
- d956bc6379 options: setting 'scroll' with resized grid ()
- c8a27bae3f options: use a union for def_val ()
- 804c828e68 optionstr.c: incorrect use of curbuf/curwin
- a9df0c5ce6 osc52: do not use 'vim.iter' ()
- 5d75d9aef2 osc52: enable OSC 52 by default in tmux sessions ()
- 86c2213b5e osc52: use `p` for primary selection instead of `s` ()
- 1045659097 osc52: use nvim_chan_send() to stderr for copying ()
- e3bd04f2af pager: handle consecutive newlines properly ()
- 1e7e9ee91f path: accept special characters on Windows ()
- f064e72b9b path: check return value of append_path() ()
- f5eabaa940 path: restore space separation in 'path' ()
- 908f247c22 plines: count 'showbreak' for virtual text at eol
- a0cbf1d8d5 plines: cursor position with 'showbreak' and resized grid ()
- 317038e7cb plines: don't return very large height on very long line ()
- 7955c90621 plines: folded lines with virt_lines attached to line above
- 35c3275b48 plines: handle inline virtual text after last char ()
- cbadb39d16 plines.c: initialize cts_max_head_vcol ()
- fc14928719 printf: make positional %zd and %zu work ()
- d0b3c87219 process: avoid potential data race on exit ()
- 3e569d440b process: close handles and timer in pty_process_close() ()
- 268066e014 process: start pty process eof timer on main thread ()
- 49983387ff prompt: emit change event for prompt newline ()
- 7bd6bd1ef7 provider: cannot detect python3.12 
- 61ecb3e16c provider/pythonx: import the correct module ()
- 540941ef83 pum: don't position too far with resized parent grid ()
- f186224dfc pum: fix missing rightmost column with 'rightleft' ()
- 8bc973c6f5 pum: fix missing scrollbar with 'rightleft' ()
- a7550a20e0 pum: handle right-click menu repositioning with multigrid ()
- fbaa278773 pum: make :popup position correctly with float border
- a3dfe1bc89 pum: position properly with ext_multigrid ()
- c1331a65dd pum: show right-click menu above cmdline area ()
- dd0e77d48a query_error: multiline bug
- 5ac2e47acc redo: make redo of Lua mappings in op-pending mode work ()
- 60f69014a8 redraw: multibyte characters are wrapped at the end of a line ()
- cb34d0ddd0 redraw: overwrite double-width char with virt_text properly ()
- d184933cdc redraw: update Visual selection properly with splits ()
- 54044e6dce release.sh: ze version is too big
- cce9460524 remote: make --remote-expr print to stdout ()
- bde59e8147 remote: restore previous --remote-expr output formatting ()
- 468292dcb7 rpc: "grid_line" event parsing crashes ()
- 4d4092ac9e rpc: assertion failure due to invalid msgpack input
- 8921d56053 rpc: do not crash when no input is consumed
- c422722b2e rpc: fix hang with channel closed while waiting for response
- adb2258345 rplugin: dont create data dir if it's a broken symlink 
- 65dd3c1180 ruler: show ruler of curwin with no statusline in cmdline
- f5231d61a5 runtime: add commentstring for C# ftplugin ()
- 3387dc4a46 runtime: add commentstring for D ftplugin ()
- 615b48aca6 runtime: add more Nvim-only highlight groups to Vim syntax
- aee6f08ce1 runtime: do not allow breakcheck inside runtime path calculation
- df297e3c2b runtime: don't set gx mapping if already mapped ()
- 9176b5e10a runtime: respect 'fileignorecase' when sourcing ()
- dbb840da01 runtime: respect 'rtp' order for all runtime files ()
- 70a0049296 runtime: source c ftplugins in correct order ()
- d431a4d410 runtime: source old color scheme in bundled color schemes ()
- 3ab6f60dc8 runtime: update 'vim' color scheme to use new tree-sitter groups
- 67fba9affa runtime/tutor: don't try to close fold when there is none ()
- ee56daebb6 shada: update deleted marks ()
- 517dfdf0fc shada: update marks when using delmarks! ()
- 4d52b0cf67 showcmd: clear the rest properly ()
- fcd9905291 sign: avoid deleting from sign map while looping over it ()
- a84b454ebe sign: do not error when defining sign without attributes ()
- a5ade3c63d snippet: correct indent with newline
- 4625394a76 snippet: do not add extra indent on newlines ()
- a1bdf2852d snippet: remove misleading comment about TM_FILENAME_BASE ()
- 8c044f0862 spell: always accept ':' as filename char in 'spellfile' ()
- a803bff89c spell: extmark with spell=false should disable spell ()
- eceb2dffce spell: splice extmarks on :spellrepall ()
- aa65bd478a startup: "nvim -l foo.lua" may not set arg0 
- 628f6cce80 startup: don't truncate when printing with -l ()
- c0fa721ade startup: make recovery mode work without --headless ()
- 8e739af064 startup: multiprocess startuptime 
- 8f10362cdc startup: only send one default_colors_set event during startup
- 559c4cfd52 startup: run embedded Nvim with real path ()
- b21d960119 startup: set full_screen when in ex_mode
- 9637b7dae4 startup: stop TUI properly when quitting at swap dialog ()
- d7359a8742 startup: trigger UIEnter for the correct channel ()
- 01e273c340 statuscolumn: don't update clicks if current width is 0 ()
- afd0c648a8 statuscolumn: force full redraw when signcolumn is invalid ()
- dc6c11394b statuscolumn: update number hl for each screen line ()
- a4b2400804 statusline: also allow right click when 'mousemodel' is "popup*" ()
- 4ecf6fdfd8 statusline: bail out properly on negative row ()
- 70da793c5e statusline: corrupted screen with minwid sign item in 'statuscolumn' ()
- d7bb19e013 statusline: fill for double-width char after moving items ()
- 54f5602038 statusline: fix uninitialized variable and possible overflow
- 9f15a18fa5 statusline: missing offset when showing 'keymap' ()
- 7b973c71ea statusline: redraw when VIsual_mode changes ()
- dbc0fa9bd6 stdpath: remove duplicate directories ()
- 1907abb4c2 stream: do not close handle if it is already closing ()
- 9dd48f7832 substitute: properly check if preview is needed ()
- 9753cda591 syntax: use correct diagnostic group for checkhealth ()
- 400b7842a9 termcap: escape escapes in passthrough sequence ()
- e527842211 termcap: only call callback for requested capabilities ()
- ffeb31c2f9 termcap: set 'nested' on TermResponse autocommand
- b7831c7f99 termcap: use tmux passthrough sequence when running in tmux ()
- e6d3f87dfd termdebug: handle partial lines passed to callback ()
- c413b42c45 termdebug: prompt mode breaks with &splitbelow set
- 8aad4b8425 termdebug: send SIGINT when interrupting prompt mode
- af78060b18 termdebug: trim suffixed "\r" in CommOutput
- 684e93054b terminal: assign channel to terminal earlier ()
- 82b1a389ba terminal: avoid Insert mode in Terminal buffer ()
- 99288ecc77 terminal: block input when there is pending TermRequest ()
- f2ce31d3dc terminal: call validate_cursor() before screen update ()
- e09adfdcff terminal: check if mouse on statusline/tabline/winbar/vsep ()
- e115732465 terminal: check terminal size at end of screen update ()
- 120c4ec855 terminal: disable reflow again
- c881092ffe terminal: don't lose focus on <MouseMove> ()
- 16a416cb3c terminal: don't pass incomplete UTF-8 sequence to libvterm ()
- d0d132fbd0 terminal: don't send unknown special keys to terminal ()
- 74776dfb2a terminal: fix duplicate recording with mouse click ()
- 21d466c1b9 terminal: forward horizontal mouse scrolling ()
- d401b33314 terminal: handle horizontal scrolling in another window ()
- 5e78fd7784 terminal: ignore $VIM and $VIMRUNTIME in pty jobs
- 0a7fda6fa0 terminal: include modifiers when forwarding mouse ()
- d4c2fc6ff6 terminal: keep focus when scrolling number column of another window ()
- 5ca6c9e046 terminal: make backslashes in 'shell' work on Windows
- aba954b662 terminal: never propagate $COLORTERM from outer env ()
- b74262a336 terminal: send Shift-Home Shift-End Ctrl-Home Ctrl-End ()
- 0fd8eb8aae terminal: set $COLORTERM unconditionally in :terminal ()
- fa17a5ab49 terminal: use terminal buffer for TermRequest autocommand ()
- 5999214c24 termkey: accept BEL (0x07) as OSC terminator
- ce2f770aaa termkey: do not sign extend mode value
- 50f5864dd2 termkey: include IO header on Windows
- 52e6059415 test: call separate_arguments() correctly to honor $BUSTED_ARGS ()
- c5528e7fd8 test: clean up inline virtual text tests a little
- 380b634ac9 test: fix "indeterminism" warnings in UI tests
- f4c97da262 test: fix strings_spec.lua for AArch64
- 477458f7bf test: more tests for marktree
- d8e330bcec test: remove test/compat.lua
- a7bbda121d test: typing
- 8861ad83fd test/tui_spec: pass the expected NULL-sentinel to execl()
- f859d16aea tests: set SHELL=sh 
- 3d44340cea tests: use more global highlight definitions
- e9bfbe99cd textformat: remove unnecessary changed_bytes() ()
- 255e547e18 timer: allow timer_info() to get info about current timer
- a8131aee9e tohtml: replace hex escape with digit escape ()
- 0246f1a897 tohtml: set filetype of generated HTML to `html`
- ccc0980f86 treesitter: Use the correct replacement args for #gsub! directive ()
- 71d9b7d15c treesitter: _trees may not be list-like
- a4743487b7 treesitter: `language.add` - only register parser if it exists
- 4a8bf24ac6 treesitter: adjust indentation in inspector highlights ()
- ef64e225f6 treesitter: allow foldexpr without highlights ()
- 6a264e0897 treesitter: allow optional directive captures ()
- cf612c64b0 treesitter: allow passing lang to vim.treesitter.get_node() now correctly takes opts.lang ()
- 32849d5667 treesitter: avoid # of nil in _query_linter
- 3fd7449d5a treesitter: check that buf is loaded in autocommands ()
- e7f50f43c8 treesitter: clip end row early
- 6b19170d44 treesitter: correctly calculate bytes for text sources ()
- bd5008de07 treesitter: correctly handle query quantifiers ()
- fba18a3b62 treesitter: do not calc folds on unloaded buffers
- c30ebb17f6 treesitter: document more standard highlight groups
- 040369e1e4 treesitter: don't forcefully open folds
- 72ed99319d treesitter: don't invalidate parser when discovering injections
- 4607807f9f treesitter: don't update fold if tree is unchanged
- 26b5405d18 treesitter: enforce lowercase language names ()
- 3a8265266e treesitter: escape "\" in :InspectTree 
- 369f58797d treesitter: escape quotes in :InspectTree view 
- 6e45567b49 treesitter: fix TSNode:tree() double free ()
- 50a03c0e99 treesitter: fix another TSNode:tree() double free
- 7c6f9690f7 treesitter: fix indexing in foldexpr
- 01b91deec7 treesitter: fix parens stacking in inspector display ()
- f40a109716 treesitter: fix trim predicate
- 1f551e068f treesitter: fixup for InspectTree
- 26cc946226 treesitter: foldexpr tweaks
- e85e7fc7bc treesitter: handle empty region when logging ()
- 12faaf40f4 treesitter: highlight injections properly
- 6f75facb9d treesitter: improve vim.treesitter.foldexpr
- 6c8387067d treesitter: inspect-tree remember opts on buf change
- 8179d68dc1 treesitter: logger memory leak
- b6e339eb90 treesitter: make InspectTree correctly handle nested injections ()
- 3af59a415c treesitter: make Visual hl work consistently with foldtext ()
- c7e7f1d4b4 treesitter: make foldexpr work without highlighting ()
- 0211f889b9 treesitter: make sure injections don't return empty ranges ()
- 0df681a91d treesitter: make tests for memoize more robust
- 7fa292c52d treesitter: outdated highlight due to tree with outdated region
- 617d1b28d6 treesitter: prefix treesitter types with vim
- 90a12d4a16 treesitter: prepare highlight states for [s, ]s
- 7e5ce42977 treesitter: properly combine injection.combined regions
- 19a793545f treesitter: redraw added/removed injections properly ()
- 7a76fb8547 treesitter: remove more double recursion
- e124672ce9 treesitter: reset cursor max_start_depth
- 7d97150084 treesitter: return correct match table in iter_captures()
- 3b29b39e6d treesitter: revert to using iter_captures in highlighter
- 315c711700 treesitter: set cursor position when opening inspector
- 48085e40bb treesitter: stop() should treat 0 as current buffer 
- 32dc484ec9 treesitter: support subfiletypes in get_lang ()
- b6fdde5224 treesitter: text alignment in checkhealth vim.treesitter
- 0f85aeb478 treesitter: treecursor regression
- 26143d7a5c treesitter: update @markup default links
- 9ff59517cb treesitter: update c queries
- c44d819ae1 treesitter: update folds in all relevant windows ()
- ffb340bf63 treesitter: update folds only once on InsertLeave
- edf9a897f0 treesitter: update highlights for query ()
- b697c0cd4f treesitter: update lua parser and queries ()
- ad95b36985 treesitter: update markdown parser and queries ()
- 39a0e6bf3c treesitter: update parsers and queries
- 3d4eb9d544 treesitter: update queries
- c97de026e3 treesitter: update vimdoc and vimscript queries
- dc7ccd6bca treesitter: use 0 as initial value for computing maximum ()
- 7bc5ee7f93 treesitter: use proper query syntax for inspector ()
- 00e6651880 treesitter: use tree range instead of tree root node range
- 8c9dab3e0d treesitter: use vim.highlight.priorities instead of hardcoded 100 ()
- 674f2513d4 treesitter: validate language alias for injections
- 2bf3e82676 treesitter: validate window before updating preview highlights
- ab2811746e treesitter playground: fix the wrong range of a node displayed i… ()
- f85aa2e67f treesitter.c: improve comments on fenv usage
- c5b9fb2f25 treesitter.foldexpr: check for all insert submodes
- b3bda2f043 tui: `space_buf` overflow when clearing screen ()
- cb2b5e2780 tui: disable DECRQM and DECRQSS queries for Terminal.app ()
- 405bad5e08 tui: do not toggle cursor visibility when flushing the buffer ()
- b76cc974b9 tui: don't forget to update cursor visibility ()
- 911f3d9623 tui: don't overwrite an assertion faliure message on exit
- 168e69ae01 tui: don't set cursor color when there is none ()
- 5a08b5be3c tui: don't set tty background if &bg was set before VimEnter ()
- 00b7428b3b tui: don't use DECRQSS in screen or tmux ()
- 846714ca3e tui: don't use tui->params[] for 'termsync' ()
- 197827321a tui: grid_clear properly clears the screen
- 884a83049b tui: grow termkey's internal buffer for large escape sequences ()
- ad867fee26 tui: handle cursor visibility properly ()
- fd50185492 tui: initialize clear attrs with current terminal background
- c26b39a9aa tui: make :cquit work properly with remote TUI ()
- 3ae62c4706 tui: make disabling title restore old title from stack ()
- 4c31a1b807 tui: make setcellwidths() work for non-ambiwidth chars ()
- 4f235e3caf tui: position cursor at bottom-left before stopping ()
- 0f1b511f23 tui: redraw on SIGWINCH even if size didn't change
- 8e69716953 tui: restore title before exiting alternate screen ()
- 999e167a52 tui: start flush earlier ()
- 367e52cc79 tui: use buflen to calculate remaining buffer size ()
- 3198598e69 tui: use uv_timer_t instead of TimeWatcher for input ()
- 0ce065a332 tui: v:argv does not report the original argv[0] 
- bc6fc0123d tutor: Tutor steps don't work on Windows 
- bf5703042b tutor: don't use concealed text in expected lines 
- e34c23b701 tutor: set a value for ":syntax iskeyword" ()
- 04232a19cc type: remove incorrect arguments from vim.rpc*
- 21152f7905 types: add more annotations to eval.lua
- b7d5b55f74 types: add some return/parameter type annotations ()
- e6947bb1e8 types: make filetype.add parameters optional
- 191cca2566 types: move type annotation for `IterMod`
- 813dd36b72 types: rename win_get_config return type to win_config
- b3342171d5 typing: vim.fn.execute
- 1355861b92 typval: don't treat v:null as truthy ()
- 0592fd5e17 ui: "resize -1" with cmdheight=0 
- ab1c2220f0 ui: activating all ext capabilities without remote UI 
- 5b111a8f00 ui: adjust 'smoothscroll' for inner dimensions
- 389f5ca39d ui: adjust the cursor when inserting virtual text
- 046c9a83f7 ui: always use stl/stlnc fillchars when drawing statusline ()
- 0c86828ac5 ui: avoid ambiguity about chunk that clears part of line ()
- e778e01161 ui: avoid recursiveness and invalid memory access 
- 0ce3910868 ui: cursor pos with left gravity inline virt_text at eol ()
- 91a4938edf ui: data corruption in remote_ui_raw_line
- 1de82e16c1 ui: delay win_viewport until screen update 
- a916523574 ui: doesn't trigger au event when enter is false
- b5a38530ba ui: don't force 'cmdheight' to zero with ext_messages
- fdc8e966a9 ui: don't send empty grid_line with redrawdebug=compositor ()
- 13f55750e9 ui: empty line before the next message after :silent command
- d41b8d4758 ui: ext_cmdline should not move cursor to curwin
- a38d7f9984 ui: fix cursor position with multiple inline virtual text
- e0707d3529 ui: fix edge case around flushing
- 75f350aac6 ui: fix incorrect highlighting when virtual text next to match
- 332b70d2ed ui: fix incorrect highlighting when virtual text wraps with number
- 0c7fa3bdcc ui: fix multi-byte characters highlight in virtual text
- a37c990483 ui: fix overflowing nowrap virtual text not displaying if tab follows
- 5d7afb2e9f ui: fix tabs not being spaced properly after virtual text with no wrap
- 34d862942c ui: fix virtual text not displaying when two overlapping inlines (nowrap)
- c5bf838f8a ui: fix visual and search highlighting interfering with virtual text
- 1936285d98 ui: fixes incorrect rendering when virtual text is not visable and nowrap
- 64e8a3c4d1 ui: handle virtual text with multiple hl in more cases ()
- 981acc2922 ui: propagate line wrapping state on grid_line events
- b8c1b36061 ui: set 'cmdheight' to zero for all open tabpages
- a8522f02e9 ui: startup intro message should be visible with ext_multigrid
- 1cd7824dd6 ui: trigger TabNewEntered after split new tab
- 7626f431d8 ui: update ext_ui widgets when attaching non-remote UI
- 128091a256 ui: wrong cursor position with left gravity inline virt text at eol
- a9418ef8cf ui: wrong display with 0-width inline virt_text at eol ()
- e8b3ed74bc ui-ext: "scroll_delta" handle topfill and skipcol ()
- 43d66c0ebb ui-ext: send title to newly-attached UI
- 519b9929e9 ui.open: some URLs fail on Windows
- 4d654472e6 ui_client: check return code of dup()
- 633bf61d3b ui_client: check return value of channel_job_start ()
- 71ad771ea4 ui_compositor: only reset skipstart at first column ()
- 840749d6c9 undo: fix crash caused by checking undolevels in wrong buffer
- c0a29931e2 unhide: close floating windows first ()
- 9afbfb4d64 unittests: ignore __s128 and __u128 types in ffi
- 9e79f7433e usercmd: Fix buffer overflow in uc_list() ()
- 9802de9334 userfunc: fix possible out of bound access
- 5a8fe0769c vim.deprecate: show deprecation warning in devel versions as well
- ca6dbf3558 vim.iter: use correct cmp function when truncating tail in `take` ()
- e15991c811 vim.json: properly treat luanil options as booleans ()
- fec5e3ab24 vim.region: handle multibyte inclusive selection properly ()
- 2afb04758c vim.system: close check handle ()
- 9b7cf4f0be vim.system: don't process non-fast events during wait() ()
- a44521f46e vim.system: let on_exit handle cleanup after kill
- 6d5f12efd2 vim.system: make timeout work properly
- 57adf8c6e0 vim.ui: open() may wait indefinitely 
- e644e7ce0b vim.ui.open: return (don't show) error message
- fd085d9082 vim.ui.open: try wslview before explorer.exe 
- 5e4a5f1aaa vim.ui.open: use explorer.exe instead of wslview 
- 6cc76011ca watchfiles: skip Created events when poll starts ()
- 9bd4a28079 window: :close crash if WinClosed from float closes window ()
- 731e7f51ee window: :close crash with autocmd, floats and tabpage ()
- 33dfb5a383 window: :close may cause Nvim to quit with autocmd and float
- 2cbfa4b9af window: don't go to unfocusable float when closing ()
- a47be0b2d9 window: prevent win_size_restore from changing cmdheight
- 4bfc7802f0 windows: set stdout to binary mode for --api-info

PERFORMANCE
--------------------------------------------------------------------------------
- a9c551e5e3 cache breakindent/showbreak width in win_lbr_chartabsize
- b5653984e5 don't decode utf8 character multiple times in getvcol()
- cca8a78ea2 improve utf_char2cells() performance ()
- 2f2f12122f remove loop for computing last position in getvcol()
- 32a4c9f4f9 remove redundant strlen in skipwhite ()
- cdf848a314 reuse fast character size calculation algorithm from getvcol()
- 2289ca273c column: avoid counting when max signs are removed from a range
- 4a34da82c1 column: keep track of number of lines that hold up the 'signcolumn'
- f4001d27ef column: only invalidate lines affected by added sign
- 7f084770c2 diagnostic: avoid table copies to filter by severity ()
- 1cb6040554 events: store autocommands in flat vectors ()
- 9af2be292d extmarks: add metadata for efficient filtering of special decorations
- 929e1b7f1c extmarks: avoid unnecessary invalidations for virt_text ()
- 19fb573ad9 extmarks: avoid unnecessary marktree traversal with folds ()
- d44ed3a885 extmarks: better track whether namespace has extmarks ()
- ef94fb69c6 extmarks: don't handle inline virt_text if there is none ()
- 8bb67d64e2 fs: normalize path only once in fs.dir
- 40db569014 iter: make ListIter.totable more efficient ()
- ef1801cc7c iter: reduce number of table allocations
- dcdefd0428 loader: use a quicker version of vim.fs.normalize
- 648f777931 lsp: load buffer contents once when processing semantic tokens responses ()
- 2f4792943a lsp: only joinpath for dirs in watchdirs
- edf05b005f lsp: process semantic tokens response in a coroutine that yields every 5ms ()
- 79a5b89d66 lsp: reduce polling handles for workspace/didChangeWatchedFiles ()
- 4d3a04279d lsp: remove grouping logic from lsp.status ()
- de28a0f84c lsp: replace file polling on linux with per dir watcher  ()
- 7e97c773e3 lsp: use async fs_stat for file watching on linux ()
- cdd87222c8 lua: avoid spairs in vim.validate happy path
- c5af5c0b9a lua: faster vim.deprecate() 
- c5990f2cdc os/env: os_getenv() allocation when there is no env var set
- 18e62c1bdb redraw: only redraw Visual area when cursor has moved ()
- 94085cfce8 redraw: reduce redraw with undo and extmarks or 'spell' ()
- 516b173780 rtp: reduce rtp scans ()
- 0e11bf0e1a substitute: don't reallocate new_start every time ()
- 4fd852b8cb treesitter: cache fold query ()
- 07080f67fe treesitter: do not scan past given line for predicate match
- c0cb1e8e94 treesitter: filter out trees outside the visible range early
- 2b6c9bbe7f treesitter: incremental foldupdate
- 3ba930844c treesitter: insert/remove items efficiently ()
- a76b689b47 ui-ext: approximate scroll_delta when scrolling too much ()
- 0d1bc795f8 ui_client: skip some initialization not necessary for ui client
- 14a5813c20 vim.fs.normalize: use iterator

BUILD
--------------------------------------------------------------------------------
- c1ff216668 actually export symbols on mac
- 664f2749e6 add "ci" configure preset to reduce verbosity
- 1094d0c0db add CMAKE_C_FLAGS to --version output
- 1290121722 add CMakePresets for deps build to reduce verbosity
- ce6075f82a add check to clint to prevent non-defs header includes
- 624de849de add function add_target
- 82bb7bbc48 add luajit runtime files when installing ()
- 831d662ac6 add sub-targets to the doc target
- 1bf29a0ae1 add system lua include dir for lpeg
- 4cc69f45b4 add ubsan default options
- 4880385809 adjust clang-tidy warning exclusion logic
- b80a8e2c16 adjust how find order is prioritized
- d561830a52 align .clang-format rules with uncrustify config
- c18d7941ef allow sccache as compiler cache
- cd097ab8cc allow using system rocks
- 54d357dce0 bump lpeg to 1.1.0 ()
- 7840760776 bump minimum cmake version to 3.13
- 7a5effb0f9 bump required minimum libvterm version to 0.3.3
- 2835b0daad bump uncrustify to version 0.77
- 77c0d5415b bump uncrustify to version 0.78.1
- 87a45ad9b9 bump uncrustify to version 0.79.0 ()
- 1798a4b5e9 bump uncrustify version
- 826b95203a bundle uncrustify
- 37bc73e9bc change dependency URLs to cache variables
- 1086016477 cmake cleanup
- 404fdb0f36 cmake fixes
- f8310beeed create BINARY_LIB_DIR directory before adding parser
- 9909668111 create a text file for specifying dependency information
- 5a7280ba68 create helper function for simplifying luarocks installation
- f936a962d0 create separate targets for nvim with and without runtime files
- bcaff309b6 disable UnusedIncludes from clangd
- 7a80e169c5 disable all compiler warnings from dependencies
- 8fdc84d0aa disable conversion warnings for GCC
- 310fb2efc3 disable conversion warnings for older GCC versions
- a1c2da56ec do not use GIT_REPOSITORY for local dependencies
- da2130934b don't allow Xcode as generator
- 543e0256c1 don't define FUNC_ATTR_* as empty in headers ()
- 24b60b0f71 don't format deleted files
- c2e47e7bec don't print installed files locally
- f30844008b download busted from own neovim/deps repository
- 5abba97d77 download dependencies with unreliable mirrors from deps repo
- 71384129f7 download libiconv and gettext from `deps` repository
- 801ac2accb drop diff.exe from windows builds
- f0eb3ca916 eliminate semicolons from --version string
- 397b92e02d enable ASAN for MSVC
- 40139738eb enable IWYU on mac
- 25cfe3fd43 enable formatting during rebase
- 517f0cc634 enable lintlua for scripts/ dir 
- 45fe4d11ad enable lintlua for src/ dir 
- 59d117ec99 enable lintlua for test/ dir
- c3836e40a2 enable lintlua for test/unit/ dir 
- 03c3f7887d enforce PREFER_LUA
- 7cb29a572b ensure `make clean` doesn't remove source files
- 0a3645a723 find system luv on ubuntu
- 5bb17958c5 fix "make iwyu" not working ()
- 12ccea5967 fix --luamod-dev not working properly ()
- 75b80516d5 fix link error for `_BitScanForward64` ()
- 3f188bc533 fix parser installation location
- 4fb1739e6f fix uncrustify
- 896b400bff fix universal mac builds
- 01e4a70d66 improve git-cliff CHANGELOG output
- ef92b5a994 include all dependency directories when generating headers
- 187ae67735 introduce variable DEPS_IGNORE_SHA for skipping dependency hash check
- 30a0299bc6 make dependency URL variables non-cached ()
- b4da4783f9 make genappimage.sh work with existing CMAKE_INSTALL_PREFIX
- 9f9cef1b56 make lpeg an imported library
- c1a05f6112 make the vimdoc generation depend on the nvim target ()
- 8b8e607284 move luarocks and rocks installation to main build
- d1bb9bffd5 remove BUSTED_PRG dead code ()
- 8206954a67 remove LOG_DEBUG option
- c48f94d1f3 remove LOG_LIST_ACTIONS option and related code
- 353a4be7e8 remove PVS
- 88366641ad remove USE_BUNDLED_BUSTED option
- ca243f06dd remove `lintdoc` from `lint` target
- 675522af18 remove clint checks and style text covered by uncrustify
- 8be24fed8f remove config-specific find_package search for libuv
- c40872acbd remove duplicate include directories in --version output
- ebb10d6248 remove functionaltest-lua target
- 8ae39eb584 remove git requirement
- 9f8f287c61 remove luarocks
- 339011f59c remove uninstall target
- c8fd82b26d reorder compiler option setting
- 78239f0bbc reorganize cmake files
- 55793bcfa1 revert accidental permission changes ()
- f31f260f0c rework --version generation
- a827003e30 rework IWYU mapping files
- e5d7003b02 rework formatting to use add_glob_target
- 1997ef134a set char to always be signed
- a75ef40f4c set deps default build type to Release ()
- a1550dbf0a silence new clang-tidy warnings
- 383018dbb8 simplify policy-setting for dependencies
- 4788abf2da stop installing parser.h from treesitter
- 26033eee1d suppress bugprone-reserved-identifier warnings
- 34509bbea3 sync IWYU and clint to ignore the same headers ()
- 0a8e66898d update builtin terminfo ()
- a388c852c4 update libtermkey commit
- 706f871014 update uncrustify to 0.76
- f4136c9d42 use -O3 optimization for release builds
- 2c1e8f7e96 use `GIT_REPOSITORY` for local URLs
- e0d97d264f use built nvim artifact to generate eval files ()
- 3d3717de4e use libvterm commit with generated *.inc files
- 4f526b9fd8 use neovim/libtermkey instead of neovim/deps for libtermkey
- 8405649f92 use neovim/libvterm instead of neovim/deps for libvterm
- 2a57613b9b use stylua with add_glob_target
- ae3eed53d6 various build improvements
- c8667c8756 various cmake fixes
- 5cefec7349 various cmake fixes
- bec2ebebda various cmake fixes
- c50951a4d0 various fixes
- 4c91194611 various fixes
- bf0be0f63e various improvements
- 404043e74c vendor libtermkey
- e38a053692 IWYU: export generated headers
- 71141e8cf5 IWYU: fix headers for arabic.h
- 8b428ca8b7 IWYU: fix includes for func_attr.h
- f4aedbae4c IWYU: fix includes for undo_defs.h
- 17d81ac2ab IWYU: map everything in the C99 specification
- c2a5105e88 IWYU: remove arabic_defs.h ()
- 38a20dd89f IWYU: replace most private mappings with pragmas ()
- 09541d514d IWYU: replace public-to-public mappings with pragmas ()
- 39771b2238 Makefile: add nvim to oldtest phony target
- 6823fdb20b PVS: exclude build directory
- 5d387c3388 ci: ensure correct headers are used on macOS
- dcb11c1091 clint: don't allow INIT() in non-header files ()
- c98ef2d7c6 clint: fix deprecation and linter warnings
- 7e2387f41b clint: more precise check for "defs" headers ()
- cf8b2c0e74 iwyu: add a few more _defs.h mappings ()
- 5f03a1eaab lint: remove unnecessary clint.py rules
- eecddd2416 lint: use stylua without add_glob_target
- 25e51d393a lua: vendor coxpcall
- 4dc86477b6 luarc.json: disable luadoc-miss-see-name 
- fd9ac5aa8e makefile: remove a phony target uninstall ()
- 978962f9a0 release.sh: regenerate docs after changing NVIM_API_PRERELEASE ()
- 9ca81b0259 release.sh: set VIMRUNTIME when regenerating docs ()
- 4399c4932d release.sh: use git cliff, drop old script
- d0ae529861 scripts: allow a git ref for lsp_types 
- bfb81e1a85 snap: remove obsolete snapcraft.yaml
- 981301d11f terminfo: include user capabilities in comments ()
- 6801befcc5 uninstall: don't build if installation manifest not found
- 345dcba629 windows: set longPathAware in manifest 
2024-05-16 14:34:32 +02:00

73 lines
2.8 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright 2018 Neovim contributors
See also:
https://appimage.github.io/neovim/
https://github.com/flathub/io.neovim.nvim
-->
<component type="desktop-application">
<id>io.neovim.nvim</id>
<translation type="gettext">nvim</translation>
<project_license>Apache-2.0</project_license>
<metadata_license>CC0-1.0</metadata_license>
<name>Neovim</name>
<summary>Vim-fork focused on extensibility and usability</summary>
<description>
<p>Neovim is a refactor of the Vim text editor designed to encourage new features, advanced UIs, and powerful extensions.</p>
</description>
<screenshots>
<screenshot type="default">
<caption>Live :substitute feature</caption>
<image>https://neovim.io/images/nvim-screenshot-1.png</image>
</screenshot>
</screenshots>
<releases>
<release date="2024-05-16" version="0.10.0"/>
<release date="2023-12-30" version="0.9.5"/>
<release date="2023-10-09" version="0.9.4"/>
<release date="2023-09-07" version="0.9.2"/>
<release date="2023-05-29" version="0.9.1"/>
<release date="2023-04-07" version="0.9.0"/>
<release date="2023-02-02" version="0.8.3"/>
<release date="2022-12-29" version="0.8.2"/>
<release date="2022-11-14" version="0.8.1"/>
<release date="2022-09-30" version="0.8.0"/>
<release date="2022-06-26" version="0.7.2"/>
<release date="2022-06-26" version="0.7.1"/>
<release date="2022-04-15" version="0.7.0"/>
<release date="2021-12-31" version="0.6.1"/>
<release date="2021-11-30" version="0.6.0"/>
<release date="2021-09-26" version="0.5.1"/>
<release date="2021-07-02" version="0.5.0"/>
<release date="2020-08-04" version="0.4.4"/>
<release date="2019-11-06" version="0.4.3"/>
<release date="2019-09-15" version="0.4.2"/>
<release date="2019-09-15" version="0.4.1"/>
<release date="2019-09-15" version="0.4.0"/>
<release date="2019-07-03" version="0.3.8"/>
<release date="2019-04-29" version="0.3.5"/>
<release date="2019-01-13" version="0.3.4"/>
<release date="2019-01-05" version="0.3.3"/>
<release date="2018-12-31" version="0.3.2"/>
<release date="2018-07-19" version="0.3.1"/>
<release date="2018-07-11" version="0.3.0"/>
</releases>
<content_rating type="oars-1.1"/>
<launchable type="desktop-id">nvim.desktop</launchable>
<url type="homepage">https://neovim.io/</url>
<url type="bugtracker">https://github.com/neovim/neovim/issues</url>
<url type="faq">https://neovim.io/doc/user/faq.html</url>
<url type="help">https://neovim.io/doc/</url>
<url type="donation">https://neovim.io/#sponsor</url>
<url type="translate">https://github.com/neovim/neovim/tree/master/src/nvim/po</url>
<provides>
<binary>nvim</binary>
<id>nvim</id>
</provides>
</component>