------------------------------------------------------------------- Sat Nov 08 16:59:19 UTC 2025 - Scott Bradnick - Update to version 0.12.0+git20251108.8d6963a6a0: * fix(ui): cmdline_show is not fired after clearing the screen (#36451) * fix(prompt): wrong cursor position with cursor keys (#36196) * vim-patch:84baba3: runtime(compiler): do not override &l:makeprg on :compiler! (#36470) * fix(treesitter): reset next_col when performing intermediate highlights * build(deps): bump luajit to 68354f444 * vim-patch:7dfdc7f: runtime(sml): add filetype plugin, move options from indent to ftplugin (#36460) * fix(lsp): don't immediately force shutdown when using a timeout (#36455) * vim-patch:461dd9a: runtime(vim): 'iskeyword' setting not correctly restored (#36453) * fix(lsp): fix window to set cursor for inline completion (#36444) * fix(tui): wrong default input key encoding (#36440) * fix(scripts): release.sh * vim-patch:9.1.1892: Not possible to know once Vim is done with sourcing vimrc (#36429) * feat(lsp): support auto-force escalation in client stop (#36378) * vim-patch:9.1.1893: ICCF charity will dissolve (#36427) * vim-patch:213109a: runtime(doc): clarify W11 warning and possible options (#36426) * vim-patch:fe71c56: runtime(netrw): NetrwChgPerm for files not in cwd * vim-patch:28f7582: runtime(log): syntax file update * vim-patch:9.1.1891: g does not move to last non-blank in visual mode (#36354) * fix(socket): avoid stack-use-after-return after timeout (#36405) * vim-patch:9.1.1889: filetype: not all AppleScript files are recognized (#36411) * fix(completion): complete drive-letter filepath on Windows #36353 * test(api/server_requests_spec): fix flaky test (#36410) * vim-patch:9.1.1890: %P in 'statusline' doesn't behave as documented * vim-patch:9.1.1479: regression when displaying localized percentage position * feat(build): HAVE_UNIBILIUM * Merge pull request #36393 from zeertzjq/rstream-close-cb * build(deps): bump zig to v0.15.2 * vim-patch:partial:9.1.1887: string handling in strings.c can be improved * vim-patch:9.1.1292: statusline not correctly evaluated * vim-patch:9.1.1291: too many strlen() calls in buffer.c * test(tui_spec): check logfile for --listen error (#36390) * test(tui_spec): separate remote client :restart tests (#36388) * fix(tui): heap-use-after-free when resuming (#36387) * fix(tui): don't call tinput_init() twice (#36386) * vim-patch:9.1.1888: Wrong display with cpo+=$, matchparen and wrapped line (#36385) * vim-patch:8f551a7: runtime: regenerate helptags, update last-change header in tombi compiler * vim-patch:14e7203: runtime(compiler): Fix escaping in Windows shell command for tombi * build(deps): bump luajit to 8518c0b40 * refactor(build): split out metadata step * refactor(termkey): make termkey use internal terminfo properly * docs: rename l10n help files #36377 * fix(terminal): keep last cursor if it's on the last row * vim-patch:9.1.1885: Wrong restored cursor pos when re-entering buffer after changes * docs: regenerate lua.txt (#36376) * fix(filetype): move fallback logic to vim.filetype.match() #30141 * vim-patch:469f870: runtime(compiler): Fix invalid expression in tombi compiler after d659fafcc * vim-patch:d659faf: runtime(compiler): add tombi compiler to lint TOML files * vim-patch:9.1.1886: filetype: Android aconfig files are not recognized (#36374) * vim-patch:9ad7067: runtime(doc): Highlight [expr] arg in :help :return description * vim-patch:6be154f: runtime(doc): revert wrong 'incsearch' description * vim-patch:9.1.1883: Wrong display with 'smoothscroll' with -diff (#36372) * fix(tui): reset cursor style on exit (#36261) * fix(health): attempt to concatenate table value #36369 * build(deps): bump luajit to 864e78d66 * vim-patch:58ab343: runtime(netrw): fix misaligned comment after vim/vim#18611 (#36362) * vim-patch:eba5133: runtime(rust): Do not use rustfmt as 'formatprg' by default (#36361) * docs: new layout * vim-patch:9.1.1880: Allocation error with complete_info() (#36360) * fix(docs): dev.txt is "new layout" * fix(build): gen_help_html fails #36359 * fix(build): invalid help tags cause reports to fail #36356 * docs: update version.c #36303 * fix(tutor): remove hyperlinks, simplify non-interactive examples #36307 * fix(ui2): emit FileType event after setting default pager options #36315 * ci: bump actions/upload-artifact from 4 to 5 (#36351) * ci: bump actions/download-artifact from 5 to 6 (#36352) * fix(lsp): stop repeatedly resuming dead coroutine #35743 * vim-patch:842c778: runtime(vim): Update base syntax, improve :@ highlighting * vim-patch:7dba04f: runtime(doc,vim): Update base syntax, match full :syntime command * vim-patch:da5b600: runtime(vim): Update base syntax, match :terminal command * vim-patch:9.1.1875: username parsing bug in netrw plugin (#36348) * vim-patch:d535e58: runtime(debversions): Add resolute (26.04) as Ubuntu release name (#36345) * test(ex_terminal_spec): fix flakiness (#36347) * vim-patch:9.1.1878: filetype: Soy files are not recognized (#36346) * vim-patch:9.1.1876: pre-inserted text not exposed in complete_info() (#36342) * vim-patch:9.1.1870: :Tutor may not work as expected (#36343) * vim-patch:6a8ab8f: runtime(doc): update the :split help tags. * vim-patch:3fc00c0: runtime(doc): mention that 'incsearch' ignores addresses and offset * vim-patch:8e600ad: runtime(doc): Normalise heredoc end marker label at :help const * fix(spell): wrong VimEnter autocommands (#36339) * vim-patch:9.1.1877: cindent: wrong indentation after an array declaration (#36340) * fix(api): inconsistent scrolling when deleting before topline (#36301) ------------------------------------------------------------------- Tue Oct 28 19:28:10 UTC 2025 - Scott Bradnick - Seems like lua51-bit32 and lua51-luarocks are no longer available and build works without them ------------------------------------------------------------------- Sun Oct 26 17:23:06 UTC 2025 - Scott Bradnick - Update to version 0.12.0+git20251026.2407833ba1: * vim-patch:9.1.1872: Cmdline history not updated when mapping and (#36334) * refactor(spell): cleanup * vim-patch:7193cab: runtime(make): Prevent makeTargetinDefine matching extra line * vim-patch:bbf4a10: runtime(unison): update syntax from upstream repository * refactor(spell): migrate to Lua, drop netrw dependency * vim-patch:8.1.1939: code for handling v: variables in generic eval file (#36312) * fix(tui): don't treat remote TUI as GUI (#36319) * fix(lsp): ensure bufnr is passed for buffer-local requests (#36325) * vim-patch:9.1.1871: Wrong 'showcmd' in the cmdwin (#36320) * docs: dev-quickstart, dev-test #36304 * vim-patch:9.1.1869: tests: test failures with Python 3.14 and test_python3 (#36310) * fix(terminal): adjust marks when deleting scrollback lines (#36294) * fix(ui): ignore textlock for vim.ui_attach() callbacks #36278 * docs: update version.c #36204 * fix(filetype): handle invalid `bufnr` in _getlines(), _getline() #36272 * docs: dev_tools, dev_arch * fix(outline): use 2-space indent instead of 1-space * docs(faq): h3 => h2 * docs: types, news, lua-plugin * feat(ui): overlay scrollbar on 'pumborder' #36273 * fix(terminal): wrong row in TermRequest with full scrollback (#36298) * docs(pack): add plugin hooks example * fix(pack)!: do not trigger `PackChanged[Pre] kind=update` during install * feat(pack): add `active` field to `PackChanged` event data * test(pack): refactor 'pack_spec.lua' with better code * fix(terminal): deleting from wrong buffer (#36289) * fix(statusline): redraw if Visual selection other end changes (#36281) * fix(lsp): set 'linebreak' in floating windows (#36275) * fix(ui2): start treesitter after deleting cmdline buffer (#36274) * docs(vimfn): getcwd() behavior #36222 * feat(vimscript): log function name in "fast" message #32616 * fix(lsp): noisy log message when enabling server without config #36264 * vim-patch:9.1.0359: MS-Windows: relative import in a script sourced from a buffer doesn't work * vim-patch:9.0.0106: illegal byte regexp test doesn't fail when fix is reversed * vim-patch:9.1.0918: tiny Vim crashes with fuzzy buffer completion * fix(lsp): deduplicate completion items #36166 * fix(pumborder): wrong layout with pumborder=none #36208 * docs(ui): 'pumborder' #36255 * vim-patch:8.2.3673: crash when allocating signal stack fails * vim-patch:9.0.0433: Coverity warns for not checking allocation failure * vim-patch:9.0.1033: tiny build fails because of conflicting typedef * fix(tui): use the correct offset for invisible cursor after sync * vim-patch:9.1.1868: v:register is wrong in v_: command (#36238) * fix(tui): CSI is not ESC (sync mode) * perf(tui): faster implementation of terminfo * vim-patch:ce4f9d2: runtime(nohlsearch): fix CursorHold loop (#36221) * build(deps): bump luajit to 25a61a182 (#36212) * vim-patch:9.1.1859: completion: whitespace not cleared with 'ai' (#36218) * Fix more issue links in github templates (#36202) * docs(lsp): specify exactly how `vim.lsp.config` merges configs (#36214) * vim-patch:9.1.1858: v:register not reset after Visual mode command (#36215) * fix(lsp): replace `string` types with LSP method alias type annotations where appropriate. (#36180) * fix(lsp): include missing LSP methods and update type annotations * fix(coverity/530033): free lp->sl_info to fix resource leak #36198 * docs: update version.c #36125 * vim-patch:8.1.1979: code for handling file names is spread out (#36176) * fix(undotree): check foldmethod before invoking fold (#36192) * fix(jobs): jobstart(term=true) accepts width/height #33904 * revert "fix(lsp): _get_workspace_folders does not handle root_dir() function" #36183 * fix(pumblend): do not apply special highlight attrs from bg layer #36186 * fix(lsp): "attempt to index nil config" #36189 * vim-patch:c95e143: runtime(doc): Miscellaneous documentation fixes (#36187) * fix(lsp): add deprecation comment to `gen_lsp` (#36185) * fix(clipboard): avoid using stale register width (#36178) * vim-patch:64c8105: runtime(rst): Preserve indentation of directives * vim-patch:5ffb23c: runtime(rst): Update b:undo_ftplugin variable * vim-patch:46d8697: runtime(rst): Style update * vim-patch:a70f346: runtime(rst): Enable spell checking for more syntax constructs * vim-patch:d7fb4cd: runtime(rst): Inline literal escape support * vim-patch:5485827: runtime(rst): Recognise numeric footnotes [1] correctly * vim-patch:4e9f16d: runtime(rst): Correctly end nested comments * vim-patch:47949b4: runtime(rst): Fix highlights nested in directive body * vim-patch:310082f: runtime(rst): Add support for rst_minlines * vim-patch:0940465: runtime(rst): Fix doctest block syntax * vim-patch:83eb1da: runtime(doc): Normalise formatting of builtin function descriptions (#36172) * vim-patch:5fe4faa: runtime(bitbake): fix multiline Python function parameter syntax (#36173) * vim-patch:6ab4547: runtime(doc): fix inconsistent alignment (#36171) * vim-patch:9.1.1854: unnecessary code in optionstr.c (#36170) * vim-patch:9.1.1853: Ctrl-F and Ctrl-B at more prompt not working with key protocol * vim-patch:9.1.1849: CTRL-F and CTRL-B don't work in more prompt * fix(difftool): silence :only command in setup_layout #36168 * fix(coverity/532324): free skip_until to prevent leak #36109 * fix(difftool): add check for window number when cleaning up layout #36161 * fix(help): only set url for help files in $VIMRUNTIME #36165 * vim-patch:partial:c58f91c: runtime(doc): Whitespace updates (#36160) * vim-patch:partial:9.1.1847: No cmdline completion for :echoconsole and :echowindow (#36157) * vim-patch:8.2.2423: missing error message * vim-patch:8.2.4773: build failure without the +eval feature * vim-patch:8.2.3968: build failure * vim-patch:8.2.3962: build fails for missing error message * vim-patch:2a33b49: runtime(make): syntax highlighting update for makeDefine (#36158) * vim-patch:9.1.1850: completion: not triggered after i_Ctrl-W/i_Ctrl-U (#36156) * fix(api): nvim_parse_cmd handle nextcmd for commands without EX_TRLBAR (#36055) * vim-patch:40dec46: runtime(doc): Replace rotted URL links (#36151) * vim-patch:37c8ce7: runtime(cangjie): Fixes and improvements for syntax script (#36150) * fix(help): wrong tag url in third-party help docs #36115 * fix(difftool): fully resolve symlinks when comparing paths #36147 * test(shada/buffers_spec): cleanup output file #36154 * fix(difftool): ensure split layout, use systemlist #36145 * docs: small fixes (#36146) * test(plugin/pack_spec): handle pcall path truncation #36143 * fix(ui): 'pumborder' parsing, shadow #36127 * fix(window): don't make hidden/unfocusable previous window current #36142 * feat(plugins): nvim.difftool can compare directories #35448 * vim-patch:6800da6: runtime(doc): Add missing optional tail command-name specs (#36140) * vim-patch:37aabac: runtime(doc): update credit section for Girish Palya (#36132) * fix(lsp): _get_workspace_folders does not handle root_dir() function #36071 * fix: stale lines("w$") after nvim_win_set_height when splitkeep=screen #36056 * fix(undotree): highlight extmarks like normal text #36087 * fix: vim.lsp.omnifunc should not throw away other items #35346 * fix(coverity/532421) removed logically dead code #36101 * fix(float): crash from nasty :fclose autocmds (#36134) * fix(conceal): assert tripped during startup #36136 * feat: ":wall ++p" creates parent dirs for each buf #36121 * vim-patch:9.0.1427: warning for uninitialized variable * vim-patch:8.2.4878: valgrind warning for using uninitialized variable * vim-patch:8.2.4851: compiler warning for uninitialized variable * test(plugin/shada_spec): always use UTC formatted date (#36128) * fix(undotree): clear autocmd correctly #36124 * vim-patch:8.2.4772: old Coverity warning for not checking ftell() return value * vim-patch:8.2.2456: Coverity warning for strcpy() into fixed size array * feat(ui): 'pumborder' (popup menu border) #25541 * fix(undotree): sync scroll pos with undo #36117 * fix(ui2): don't scroll beyond eob in dialog window #36116 * vim-patch:8.2.5017: gcc 12.1 warns for uninitialized variable * docs: update version.c #35753 * fix(rpc): handle more cases when identifying loopback #36100 * vim-patch:9.1.1843: tests: Test_search_stat_option() may fail on slow systems (#36110) * vim-patch:1388fa6: runtime(doc): Add reference to 'wildoptions' in fuzzy-matching docs * vim-patch:partial:7dba04f: runtime(doc,vim): Update base syntax, match full :syntime command * fix(vim.pack): skip checkout on bad `version` #36038 * fix(undotree): mark title field annotation as optional (#36102) * fix(conceal): check for concealed lines on invalid row (#36084) * fix(undotree): error on `undotree.open()` with title as string #36085 * feat(undotree): set 'filetype' #36091 * vim-patch:143686b: runtime(java): Fold adjacent "import" declarations (#36095) * vim-patch:ec19075: runtime(doc): Normalise ellipsis dots in syntax.txt (#36094) * vim-patch:9.1.1839: Window may have wrong height if resized from another tabpage (#36093) * vim-patch:ce5f9f4: runtime(vim): Update base syntax, allow legacy script comments after :eval * vim-patch:9.1.1834: MS-Windows: not possible to highlight the title bar * ci: bump github/codeql-action from 3 to 4 (#36082) * fix(api): nvim_open_win default to half-size for splits (#36088) * vim-patch:9.1.1817: popup: there are some position logic bugs (#36075) * fix(lsp): typos in method names #36077 * vim-patch:f8b9251: runtime(doc): Fix typos in syntax.txt (#36073) * test: add a test for #36059 * vim-patch:9.1.1836: 'culopt' "screenline" not redrawn with line("w0") and :retab * fix(cmdline): don't treat c_CTRL-D as wildmenu (#36067) * feat(runtime): undotree #35627 * fix(pack): handle lockfile in case of install errors #36064 * fix(lsp): use LSP method type in more places (#36069) * vim-patch:9.1.1833: completion: fuzzy candidates are not sorted (#36062) * vim-patch:8.1.1981: the evalfunc.c file is too big * vim-patch:8.1.1978: the eval.c file is too big * vim-patch:8824526: runtime(zip): add *.pkpass to list of zip extensions (#36061) * vim-patch:cd6e209: runtime(kerml): update KerML comments to handle more cases (#36060) * vim-patch:adc729c: runtime(doc): fix typo in :h credits section (#36048) * vim-patch:9.1.1831: stray vseps in right-most 'winfixwidth' window * vim-patch:9.1.1829: filetype: KerML and SysML files are not recognized (#36042) * feat(lsp): pass client ID in code action filter (#36046) * fix: remove quotes around `nil` deprecation alternatives (#36047) * vim-patch:8.2.0200: Vim9 script commands not sufficiently tested * feat(pack): add code actions in confirmation buffer * feat(pack): add `[[` and `]]` mappings in confirmation buffer * fix(lsp): format_item should return string (#36025) * vim-patch:8.1.1957: more code can be moved to evalvars.c * vim-patch:a76ea52: runtime(doc): Use the optional tail command-name spec at :help :sign (#36041) * vim-patch:9.1.1827: completion: v9.1.1797 broke Ctrl-Y behaviour (#36040) * fix(lsp): deprecate `vim.lsp.protocol.Methods` (#35998) * fix(excmd): :trust executed even when inside false condition (#36032) * feat(pack): prefer using revision from lockfile during install * feat(pack)!: make `update()` include not active plugins by default * feat(pack)!: update `get()` to return revision regardless of `opts.info` * fix(pack)!: use lockfile in `get()` for data about non-active plugins * feat(pack): add initial lockfile tracking * vim-patch:420923c: runtime(doc): update credits section (#36021) * vim-patch:9.1.1825: completion: flicker when LSP server is slow (#36020) * vim-patch:9.1.1823: diff: w_topline may be invalidated (#36018) * vim-patch:9.1.1824: tests: no test for displaying 'foldcolumn' with Unicode "foldinner" (#36019) * vim-patch:bfcf638: runtime(java): Make changes for JDK 25 (#36017) * fix(api): nvim_open_win respects requested split window size (#35601) * vim-patch:partial:8.1.1939: code for handling v: variables in generic eval file (#35968) * refactor(terminal): remove an unnecessary xmemdupz() for OSC 8 (#36012) * fix(terminal): handle OSC 8 split into multiple fragments * fix(tui): handle sequence larger than entire buffer * vim-patch:9.1.1819: Cannot configure the inner foldlevel indicator (#36010) * vim-patch:9.1.1821: filetype: Not all PKL files are recognized (#36008) * vim-patch:9.1.1820: completion: some issues with 'acl' (#36007) * test(tui_spec): deduplicate (#36003) * vim-patch:0a8b4ef: runtime(log): remove domain highlight (#36002) * vim-patch:09b1ce0: runtime(doc): fix typo after commit cfcf1a57cbef (#36001) * vim-patch:12da242: runtime(new-tutor): fix mismatched line numbers in vim-02-beginner * vim-patch:9d57fe2: runtime(new-tutor): Updated English new tutor * refactor: common logic in parse_cmdline, do_one_cmd #35019 * ci: stop using macos-13 runner (#35996) * fix(lsp): inlineCompletion: ignore out-of-range items #35990 * refactor(treesitter): use scratch buffer for string parser #35988 * feat(tui): native progress bars for Progress events #35973 ------------------------------------------------------------------- Thu Oct 02 15:41:19 UTC 2025 - Scott Bradnick - Update to version 0.12.0+git20251002.28ccebd138: * vim-patch:9.1.1818: possible crash when calculating topline in diff.c * vim-patch:partial:9.1.1110: Vim tests are slow and flaky * vim-patch:cfcf1a5: runtime(doc): Clarify use of "noselect" in 'completeopt' * vim-patch:6e28211: runtime(doc): Tweak documentation style * fix(diagnostics): showing stale diagnostics in handlers #35890 * test: normalize test filepath #35983 * vim-patch:8337d77: runtime(netrw): MS-Windows: fix netrw not being able to navigate to parent folder (#35982) * vim-patch:a644b79: runtime(optwin): Update formatting of option descriptions (#35980) * vim-patch:0977c8b: runtime(vim): Update base syntax, contain user command replacement text (#35979) * fix(treesitter): don't add final newline if not present #35970 * vim-patch:9.1.0698: tests: "Untitled" file not removed when running Test_crash1_3 alone * vim-patch:9.1.0695: tests: test_crash leaves Untitled file around * vim-patch:9.1.0689: [security]: buffer-overflow in do_search() with 'rightleft' * vim-patch:014c731: runtime(doc): make :h virtcol() more accurate (#35976) * fix(lsp): scope inline_completion autocmds to buffer (#35965) * build: redundant variable in cmake/Deps.cmake #35924 * test(terminal/mouse_spec): forwarding works with resized grid (#35969) * fix(shada): preserve marks after delete across sessions (#35795) * vim-patch:9.1.1799: completion: crash with autcompletion (#35963) * vim-patch:9.1.1810: completion: "longest" doesn't work for manual completion with 'ac' * vim-patch:9.1.1800: completion: strange behaviour with 'ac' completeopt=longest,preinsert * vim-patch:4edaf89: runtime(doc): improve preinserted() doc * vim-patch:9.1.1797: completion: autocompletion can be improved * vim-patch:05e44e9: runtime(tex): add amsmath support to tex syntax script (#35958) * vim-patch:992e307: runtime(doc): update list of modifiers at :h expand() (#35957) * vim-patch:9.1.1808: Option insecure flags not copied when splitting window * vim-patch:9.1.1807: :set doesn't clear local insecure flag like :setlocal does * vim-patch:8.2.0443: clipboard code is spread out #35949 * fix(docs): force blank line after numbered list items #35950 * docs: json, tests, lsp #35754 * vim-patch:ae20d73: runtime(vim): Update base syntax, improve line-continuation skip patterns * vim-patch:f4a6acd: runtime(vim): Update base syntax, allow Vim9 :echo tail comments * vim-patch:7bb733f: runtime(vim): Update base syntax, match null_tuple literal * vim-patch:57d243e: runtime(vim): Update base syntax, fix indented Vim9 :redir highlighting * vim-patch:6f97624: runtime(vim): Update base syntax, fix Vim9 :for loop variable highlighting * vim-patch:4de931d: runtime(vim): Update base syntax, match enum constructor type args * vim-patch:72473ce: runtime(vim): Update base syntax, match generic functions * vim-patch:91ac18c: runtime(java): Recognise _module_ import declarations (#35947) * fix(docs): include `?` in list items #35945 * vim-patch:9.1.1802: 'nowrap' in a modeline may hide malicious code (#35946) * fix(cmd): :update writes new file buffers only for real files #35939 * fix(lsp): remove `vim.lsp.diagnostic.reset()` (#35938) * feat(lsp): document method types (#35934) * fix(lsp): use correct `workspace.diagnostics` capability key (#35937) * build: remove reference to runtime/indent/Makefile (#35935) * fix(cmd): :update does not write new, unmodified buffer #35929 * vim-patch:9.1.1798: Wrong display with 'sms' and long wrapped virt text at EOL (#35930) * build(vim-patch.sh): fix new files matching pattern not removed * build(vim-patch.sh): ignore runtime/*/testdir/ * fix(highlight): ensure extmark range is within buffer bounds #35928 * vim-patch:8.1.2077: the ops.c file is too big * fix(plines): count 'showbreak' in EOL inline virt_text in line size (#35921) * fix(extui): setup buffers after activating `eventignorewin` (#35915) * test: make preload of functional/testnvim.lua explicit (#35919) * vim-patch:900c747: runtime(python): fix 'type' syntax highlighting (#35918) * vim-patch:9.1.1790: completion: Enter does not insert match with "noinsert" (#35917) * vim-patch:b6f9d38: runtime(doc): Improve documentation of the ..= assignment operator (#35916) * test(unit): disable JIT when using mocks (#35913) * vim-patch:4b97fc9: runtime(javascript): Add "using" keyword to JavaScript syntax highlighting (#35910) * vim-patch:1ae980a: runtime(doc): fix inconsistent indent in cmdline.txt * vim-patch:34747a1: runtime(doc): update live-grep and fuzzy-file-picker examples * fix(highlight): allow ephemeral extmarks past final newline #35888 * test: remove a few more redundant clear() calls (#35903) * test(lua/secure_spec): clean up properly (#35902) * test: don't call clear() in both before_each() and after_each() (#35901) * vim-patch:b1446df: runtime(vim): Update base syntax, match :wincmd (#35898) * test(tui_spec): avoid dangling Nvim processes on test failure (#35900) * vim-patch:20e78ee: runtime(swayconfig): support new config options in syntax script * vim-patch:9.1.1787: filetype: not all Sway config files are recognized * vim-patch:11bde1f: runtime(sh): refactored sh.vim syntax script (#35895) * vim-patch:5830407: runtime(netrw): 'equalalways' is not always respected (#35894) * fix(lua): coverity "unreachable" warning #35874 * test: don't block to wait for previous session's exit (#35885) * fix(message): no wait return for delayed exception error #35881 * build(deps): bump tree-sitter to v0.25.10 * vim-patch:8.1.2021: some global functions can be local to the file * vim-patch:70d745a: runtime(zip): support PowerShell Core (#35880) * vim-patch:224f8ca: runtime(doc): clarify 'fileignorecase' option setting (#35879) * fix: remove typo from buffer-local LSP docs (#35841) * vim-patch:9.1.1783: ins_compl_leader() too far away from ins_compl_leader_len() * vim-patch:9.1.1781: some functions could be defined static * fix(diagnostic): show diagnostics on buffer load #35866 * docs(diagnostics): allow list of strings for vim.diagnostic.Opts.border (#35863) * test: remove duplicate legacy/{increment,undolevels}_spec.lua * test: make error clearer for RPC request after crash * test: reduce some clear() calls * perf(events): skip Progress prep if there are no subscribers #35871 * vim-patch:9.1.1780: mbyte contains overlapping list of utf_classes table (#35869) * fix(health): errors in :checkhealth with pyenv-virtualenv #35865 * refactor: remove unused fn `au_event_is_empty` #35862 * fix(options): increase t_Co buffer size (#35859) * test: fix 'autocompletedelay' test flakiness (#35856) * vim-patch:9.1.1779: completion: 'autocomplete' cannot be enabled per buffer (#35853) * vim-patch:841becd: runtime(lf): update syntax to support lf version r38 (#35852) * vim-patch:9.1.1776: completion: "adding" expansion doesn't work with cfc=keyword (#35850) * vim-patch:9.1.1777: Mouse click to open fold doesn't work with utf-8 "foldclose" chars (#35851) * vim-patch:9.1.1778: sha256() treats empty blob and null blob differently * vim-patch:9.1.1774: cannot calculate sha256 of a Blob * build(contrib): add bash completion for nvim #35843 * test: fix prompt_buffer_spec flakiness (#35838) * vim-patch:6fd9dac: runtime(log): highlight Java Errors (#35836) * fix(health): hard fail on invalid "python-*" bin #35382 * vim-patch:9.1.1772: completion: inconsistent selection of first item with 'autocomplete' (#35835) * vim-patch:9.1.1769: completion: "preinsert" insert wrong word with 'smartcase' and 'autocomplete' (#35834) * vim-patch:9.1.1775: filetype: Mamba configuration files are not recognized #35829 * vim-patch:9.1.1771: complete: some redraw issues with 'autocomplete' * vim-patch:9.1.1621: flicker in popup menu during cmdline autocompletion * vim-patch:e8b0e92: runtime(config): fix inconsistent group name * vim-patch:1e7a288: runtime(config): mark unportable += as an error * vim-patch:9.1.1773: Crash in BufLeave after BufUnload closes other windows (#35830) * vim-patch:6701480: runtime(filetype): Use s:StarSetf for all patterns ending in * (#35825) * build: add script to collect typo PRs (#35824) * vim-patch:9.1.1761: 'ruler' is set in defaults.vim * vim-patch:9.1.1550: defaults: 'showcmd' is not enabled in non-compatible mode on Unix * vim-patch:5bf41e7: runtime(netrw): update regex to handle remote archives (#35822) * test(ui/messages2_spec): close unfinished timers at end of test (#35817) * docs: lsp, vim_diff #35820 * refactor(plugins)!: remove shellmenu #35815 * docs: standard-plugin-list #35796 * fix(lsp): treat 2-triggers-at-once as "last char wins" #35435 * fix(swapfile): don't use uninitialized memory (#35813) * vim-patch:684edc7: runtime(doc): mention generic log highlighter (#35812) * vim-patch:0b7d094: runtime(doc): Tweak doc style in syntax.txt (#35810) * vim-patch:115b533: runtime(kitty): Fix typo in syntax file for kitty * vim-patch:b2113e5: runtime(kitty): fix typo in syntax script * vim-patch:9.1.1763: filetype: kitty config files are not recognized * fix(lsp): restore Client:stop() force-stopping behavior (#35800) * test(lsp): make async format test work properly (#35794) * fix(swapfile): handle newlines in swapfile list message #35802 * build(deps): bump tree-sitter-markdown to v0.5.1 * vim-patch:10d1ec6: runtime(doc): fix doc style from commit 5c9b71d63c1 * vim-patch:9.1.1762: completion: selected item not cleared on with 'ac' * vim-patch:8801c9d: runtime(m4): Improve parameters highlighting in syntax script (#35798) * ci: bump actions/checkout from 4 to 5 * docs: small fixes (#35791) * vim-patch:9.1.1764: filetype: CODEOWNERS file not recognized (#35789) * vim-patch:9.1.{1755,1759} (#35787) * vim-patch:d4c2cb4: runtime(doc): Improve doc for cmdline-ranges in cmdline.txt (#35788) * fix(lsp): avoid re-enabling `document_color` on `registerCapability` (#35774) * vim-patch:8e0d374: runtime(doc): Improve the doc for :syn-containedin (#35785) * test(swapfile_preserve_recover_spec): fix flaky test (#35782) * feat(help): gx opens help tag in web browser #35778 * fix(paste): don't use :echo immediately before :redraw (#35773) * docs: optionlinks don't need the bars #35777 * build(ci): bump zig to 0.15.1 and add more platforms * fix(lsp): avoid automatic request after leaving insert mode (#35767) * build: allow comments in deps.txt #35765 * fix(lua): don't leak timer when vim._watch.watch() fails (#35768) * vim-patch:81ca991: runtime(html): guard against an existing b:undo_ftplugin var (#35763) * vim-patch:c37f25c: runtime(doc): update Markdown syntax documentation and mention Pandoc (#35762) * vim-patch:partial:235e77a: runtime(doc): Tweak documentation style more in options and ft_hare (#35761) * vim-patch:9.1.1758: Diff mode crashes when adding text property in autocommand (#35760) * vim-patch:97e0f95: runtime(doc): tweak documentation style a bit more in options.txt (#35755) * feat(json): vim.json.encode() sort_keys #35574 * docs: move editorconfig.txt into plugins.txt * docs: manpage, keycodes, json * fix(lsp): misleading logs in non-applicable filetypes #35749 * build(gen_helptags): update check for example (#35750) * vim-patch:partial:450d591: runtime(doc): tweak documentation style (#35748) * feat(ui): support grid=0 in nvim_input_mouse #32535 * fix(ui): forward 'rulerformat' to msg_ruler event #35707 * feat(pack): confirm "Always" to install all plugins #35733 * docs: update version.c #35670 * fix(tui): don't wait for DA1 response when stdin is closed (#35745) * vim-patch:8.1.1964: crash when using nested map() and filter() (#35715) * vim-patch:9e100b8: runtime(netrw): only keep cursor position in tree listing mode * vim-patch:5f83674: runtime(netrw): Ensure netrw#fs#Dirname() always returns a trailing slash * vim-patch:5346688: runtime(netrw): fix :Explore command in terminal * vim-patch:6a6a44f: runtime(netrw): netrw#BrowseX() needs to distinguish local and remote file * vim-patch:c849b17: runtime(netrw): Use correct "=~#" for the netrw_sizestyle='H' option * vim-patch:0bda783: runtime(netrw): upstream snapshot v184 * vim-patch:b3eaae2: runtime(netrw): restore blank line cleanup after file listing * vim-patch:ef92555: runtime(netrw): upstream snapshot of v182 * vim-patch:2249cc0: runtime(netrw): remove the fun from netrw :) * vim-patch:7e47c1e: runtime(netrw): remove g:netrw_quiet and reindent to 4 spaces * vim-patch:f5e3b5c: runtime(netrw): refactor netrw#ErrorMsg -> netrw#msg#Notify * vim-patch:600cd88: runtime(netrw): remove comment separators * vim-patch:1319009: runtime(netrw): get rid of s:Strlen() and use strdisplaywidth() * vim-patch:09a62e6: runtime(netrw): cleanup Decho related comments * vim-patch:d1a975a: runtime(netrw): upstream snapshot of v181 * vim-patch:839fd94: runtime(netrw): remove deprecated functions * vim-patch:d623773: runtime(netrw): upstream snapshot of v180 * vim-patch:29d596c: runtime(netrw): upstream snapshot of v179 * vim-patch:da53af5: runtime(netrw): correctly handle shellslash variable * vim-patch:5b97947: runtime(netrw): runtime(netrw): upstream snapshot of v178 * vim-patch:ee1a24b: runtime(netrw): fix s:NetrwHome() regression * vim-patch:73d8222: runtime(netrw): upstream snapshot of v177 * vim-patch:6d6ec2e: runtime(netrw): correct wrong version check * vim-patch:ec961b0: runtime(netrw): upstream snapshot of v176 * vim-patch:2328a39: runtime(netrw): do not double escape Vim special characters * vim-patch:e8bbdb9: runtime(doc): Add :defe[r] shortname spec and tag (#35741) * vim-patch:becf184: runtime(misc): removing saccarosium from maintainer list (#35740) * docs: add some missing items to vim_diff.txt (#35731) * vim-patch:9.1.1753: defaults: 'diffopt' option value can be improved (#35727) * test(old): reorder test_diffmode.vim to match upstream (#35726) * vim-patch:15070ee: runtime(python): Update syntax, fix pythonEllipsis pattern (#35724) * vim-patch:9.1.1754: :helptags doesn't skip examples with syntax * vim-patch:partial:9.0.0323: using common name in tests leads to flaky tests * vim-patch:a0f37db: runtime(doc): use a single pattern in :h 'incsearch' example (#35721) * build(deps): bump utf8proc to v2.11.0 * fix(startup): crash in read_stdin #35699 * docs: plugins.txt #35680 * fix(vim.json): fix truncation of decoded numbers outside lua_Integer's range #35702 * vim-patch:5a9ef93: runtime(doc): Update autocmd examples for command line autocompletion (#35713) * vim-patch:b2c8848: runtime(doc): improve docs related to 'autocomplete' * vim-patch:9.1.1752: tests: need another test for v9.1.1750 behaviour * vim-patch:9.1.1750: completion: preinserted text highlighed using ComplMatchIns * fix(runtime): add "Added", "Changed", "Removed" to "vim" colorscheme (#35704) * fix(gen): prevent "make doc" failure due to temporary files * vim-patch:9.1.1751: potential buffer-overflow in find_pattern_in_path() (#35705) * refactor(lua): fix coverity warning from #35536 (#35703) * vim-patch:8.1.1940: script tests fail * vim-patch:9.0.0729: the rightleft and arabic features are disabled * vim-patch:8.1.1920: cannot always close a popup when filter consumes all events * vim-patch:8.1.1751: when redrawing popups plines_win() may be called often * refactor: remove cmdline_pum_create() return value (#35701) * vim-patch:9.1.1747: completion: redo (.) broken with preinsert and autocompletion (#35698) * vim-patch:80981e1: runtime(doc): mention 'findfunc' at :h :find (#35697) * fix(treesitter): use subpriorities for tree ordering * perf(highlight): allow decoration providers to skip ranges without data * vim-patch:77cfc49: runtime(python): highlight ellipsis literals * vim-patch:6bb16d2: runtime(python): Update syntax file, fix f-string float highlighting * vim-patch:9.1.1742: complete: preinsert does not work well with 'autocomplete' (#35692) * fix(api): crash when moving curwin to other tabpage #35679 * fix(lsp): check if buffer is valid in scheduled client:on_attach() #35672 * vim-patch:d7d6a6f: runtime(doc): Improve doc for cmdline-autocompletion * vim-patch:9.1.1744: tests: Test_skip_wildtrigger_hist_navigation() may fail * vim-patch:9.1.1738: cmdline-autocompletion breaks history navigation * fix(cmdline): fix inconsistent behavior with ext_popupmenu (#35688) * fix(prompt_buffer): plugins can't set `':` mark #35624 * docs: drop "xx.vim" syntax help-tags #35623 * vim-patch:9.1.1679: unclear what key causes CmdlineLeave autocommand (#35677) * test(lsp): fix flakiness in inline completion test (#35676) * test: add tests for #20348 * vim-patch:9.1.1740: Memory leak with wildmode=longest,full and wildoptions=pum * vim-patch:9.1.1739: Matches may be listed twice with wildmode=longest,list * vim-patch:9.1.1737: Patch v9.1.1714 introduce a regression for wildmenu * vim-patch:9.1.1714: completion: wildmode=longest:full selects wrong item * vim-patch:9.1.1676: completion: long line shown twice * vim-patch:partial:9.1.1639: completion: popup may be misplaced * fix(cjson): fix `strbuf_set_length` incorrectness #35565 * docs: adjust *lua-plugin-init* wording #35600 * fix(pack): handle Git environment variables #35626 * feat(json): pretty-format (indent) with vim.json.encode() #35424 * refactor(api): redundant w_pos_changed assignment #35663 * feat(pack): vim.pack.get() gets VCS info #35631 * docs: update version.c #35576 * vim-patch:1ed2ff7: runtime(m4): Remove m4Type and leftover m4Function in syntax script * vim-patch:6505dc6: runtime(nu): Add new Nushell runtime files * vim-patch:efb913a: runtime(m4): Remove m4Function * build(deps): bump tree-sitter-query to v0.7.0 * ci: enable unittests on arm runner * fix(tests): ignore vector math types * docs(lsp): tweak `inline_completion.get` code snippet #35657 * build(deps): bump tree-sitter to v0.25.9 * ci: disable wasmtime build * fix(types): nvim_get_win_config return type #35639 * docs: `details` dict in nvim_buf_get_extmark() #35289 * fix(api): win_set_config error message for splitting from a float #35650 * perf(api): reduce redundant `win_find_tabpage` calls (#35643) * ci: bump actions/labeler from 5 to 6 (#35641) * ci: bump actions/github-script from 7 to 8 (#35642) * vim-patch:dfcd9ac: runtime(ada): mark as unmaintained, fix a few issues with the ftplugin * vim-patch:f737ff8: runtime(hamster): do not globally set ignorecase * vim-patch:510ca80: runtime(m4): Improve comments, distinguish them from #-lines * vim-patch:9.1.1734: Memory leak when allocating match fails (#35646) * vim-patch:f1212a7: runtime(python): Do not match contained identifiers as pythonType * vim-patch:d2b28dd: runtime(python): add syntax support inside f-strings * feat(pack): use `nvim_echo{kind=progress}` to report progress #35625 * vim-patch:9.1.1732: filetype: .inc file detection can be improved (#35635) * vim-patch:9.1.1731: Not using const qualifier for opchars (#35634) * refactor(tests): don't compare the full screen in mouse_spec * fix(progress): memory leak on progress-message with history=false * fix(progress): message-id not sent to ui with history set to false * docs: api events * docs: lsp, misc * fix(window): avoid referencing cmdline_win after it is closed #35617 * vim-patch:9.1.1730: filetype: vivado journal/log files are not recognized (#35613) * test: make it possible to test multiple screen string matches * fix(window): don't add a hsep when out of room if global stl is off * vim-patch:f165798: runtime(m4): update syntax script * vim-patch:e0704a3: runtime(keymap): Add transliteration (buckwalter) arabic keymap * perf: scheduler priority clamping on macOS #35488 * vim-patch:4c39d0c: runtime(doc): quote partial urls with a backtick (#35606) * fix: screenchar()/screenstring() with hidden floating windows #35560 * feat(editor)!: insert-mode ctrl-r should work like paste #35477 * vim-patch:71149df: runtime(java): Dismiss "g:markdown_fenced_languages" for Java buffers (#35596) * vim-patch:9.1.1724: Compiler warning about ununitialized variable in ex_docmd. (#35595) * docs: Lua plugin development guide * docs: Lua plugin development guide * feat(progress): better default format + history sync #35533 * docs(treesitter): fix language-injection url #35592 * feat(lua): vim.wait() returns callback results #35588 * feat(lsp): vim.lsp.inline_completion on_accept #35507 * vim-patch:9.1.1718: filetype: kubectl config file is not recognized #35583 * vim-patch:9.1.1717: filetype: AWS cli alias file is not recognized #35581 * ci(release): link to release notes #35585 * ci: Windows arm64 packages #35345 ------------------------------------------------------------------- Mon Sep 01 03:11:27 UTC 2025 - Scott Bradnick - Update to version 0.12.0+git20250831.c6bfc203f1: * docs: update version.c #35484 * feat(lsp): support `textDocument/onTypeFormatting` (#34637) * fix(health): update advice for Python #35564 * vim-patch:8.1.1752: resizing hashtable is inefficient (#35563) * fix(lua): report error in Lua Funcref callback properly (#35555) * docs(lsp): mention lsp/after/ in faq #35534 * vim-patch:9.1.1709: filetype: kyaml files are not recognized * vim-patch:8.1.1259: crash when exiting early (#35552) * vim-patch:8.1.1136: decoding of mouse click escape sequence is not tested (#35551) * vim-patch:partial:9.1.1708: tests: various tests can be improved (#35548) * vim-patch:7239d95: runtime(vim): Update base syntax, match :defer command argument (#35547) * Merge pull request #35546 from zeertzjq/vim-a07a2f4 * vim-patch:9.1.1713: filetype: fvwm2m4 files are no longer detected * vim-patch:9.1.1697: tests: no test for aclocal.m4 * vim-patch:9.1.1693: tests: test_filetype fails in shadow dir * vim-patch:9.1.1687: filetype: autoconf filetype not always correct * vim-patch:b760062: runtime(debversions): Move bullseye, focal, and oracular to "unsupported" (#35531) * fix(server): serverlist({peer=true}) does not find peer servers #35506 * fix(progress): simplify ui-event, introduce default presentation #35527 * perf: add on_range in treesitter highlighting * test: add treesitter long lines benchmark * refactor(lua): consistent use of local aliases * fix(health): accept TERM=tmux-direct #35511 * fix(lsp): don't treat MarkedString[] with language id as empty #35518 * vim-patch:9.1.1698: Some error numbers are not documented (#35522) * vim-patch:9.1.1700: Multiline ignorecase specific pattern does not match with 'ignorecase' (#35520) * vim-patch:9.1.1702: tests: test_edit still fails on CI * vim-patch:9.1.1701: tests: failure on CI with GUI and ASAN in test_edit.res * fix(extui): error on :call input('') (#35515) * fix(lsp): update completion items on `TextChangedP` * fix(lsp): update on `CursorHoldI` cause users unable to `select()` * fix(lsp): `opts.wrap` always `true` * fix(floatwin): handle viewport width properly at end of window (#35490) * vim-patch:9.1.1694: filetype: Buck eXtension Lang files are not recognized (#35504) * vim-patch:3571388: runtime(lf): update syntax to support lf version r37 (#35503) * vim-patch:9.1.1695: Need more Vim script specific tests (#35500) * vim-patch:9.1.1690: Missing recursion guard in dos/unix_expandpath() (#35499) * refactor: rename ga_concat_strings_sep() to ga_concat_strings() (#35498) * vim-patch:9.1.1688: potential buffer overrun in bufwrite.c (#35497) * vim-patch:9.1.1689: CmdlineChanged not triggered by (#35496) * fix(column): wrong alignment and highlight with empty 'display' (#35495) * feat(api): nvim_echo can emit Progress messages/events #34846 * fix(eval): winnrs of unfocusable/hidden windows #35474 * fix(terminal): don't trigger TextChangedT for unrelated redraws * fix(terminal): possibly wrong wrow/wcol in active terminal * fix(terminal): patch various autocommand-related holes * fix(terminal): update winopts and focus when switching terminals * fix(terminal): check size when creating new tabpage * fix(terminal): avoid events messing up topline of focused terminal * fix(terminal): add various missing redraws * fix(terminal): avoid tailed cursor in focused terminal in events * vim-patch:8.2.0845: text properties crossing lines not handled correctly (#35483) * vim-patch:9.1.1685: Missing changes from PR 18068 (#35482) * test: increase timeout in 'autocompletedelay' test (#35467) * vim-patch:8.1.2371: FEAT_TEXT_PROP is a confusing name (#35466) * fix(lsp): check whether buffer is valid when scheduled #35461 * feat(lsp): support `textDocument/inlineCompletion` * docs: misc #35459 * fix(lsp): treat nil inlay hint result as empty array (#35458) * vim-patch:8.1.0655: when appending a line text property flags are not added * vim-patch:8.1.0654: when deleting a line text property flags are not adjusted * vim-patch:8.1.0579: cannot attach properties to text * fix(lua): disable `strict_indexing` when converting LSP positions * vim-patch:99964e2: runtime(python): support 'type's soft keyword form * vim-patch:e06d81f: runtime(sh): add syntax highlighting support for ${ cmd;} and ${|cmd;} * vim-patch:f66674c: runtime(fstab): Added mtab support to fstab syntax. * feat(lua): conversion between extmark positions * feat(lua): conversion between cursor positions * docs(lua): mark `vim.Pos.Optional` as optional * vim-patch:9.1.1681: tests: no test for actually moving cursor with 'acl' (#35452) * fix(diff): set default diff flags properly (#35450) * vim-patch:9.1.1672: completion: cannot add timeouts for 'cpt' sources (#35447) * vim-patch:9.1.0546: vim-tiny fails on CTRL-X/CTRL-A * feat(gen_help_html): generate helptags.json, helptag.html #35442 * fix(treesitter): show capture-level priorities in :Inspect #35443 * docs: update version.c #35411 * vim-patch:9.1.1670: completion: autocomplete breaks second completion * vim-patch:5ca1ea8: runtime(doc): Tweak documentation style * vim-patch:9.1.1657: Autocompletion adds delay * vim-patch:9.1.1638: completion: not possible to delay the autcompletion * vim-patch:9.1.1667: Another outdated comment in eval.c (#35438) * vim-patch:9.1.1665: Outdated comment in eval.c (#35436) * fix: memory leak from double buffer initialization in read_stdin #35413 * feat(tui): add nvim_ui_send (#35406) * fix(build): workaround errors in zig build due to stale cache * docs(pack): document `$XDG_DATA_HOME/nvim/site` presence in 'packpath' * test(pack): simplify tests for `data` field * perf(pack): reduce number of 'opt/' directory computations * fix(folds): error when deleting lines at end of buffer #35396 * vim-patch:014d50d: runtime(systemverilog): Add syntax highlighting for 1800-2023 block strings (#35425) * fix(lsp): handle array with empty string when checking empty hover (#35423) * vim-patch:8.2.1672: v_lock is used when it is not initialized (#35416) * feat(pack): support user-defined `data` in plugin spec #35360 * feat(extui): support paging in the dialog window (#35310) * fix(startup): file buf is lost if stdin is empty and "-" is last #35402 * vim-patch:8.2.0853: ml_delete() often called with FALSE argument * vim-patch:8.2.3348: line2byte() returns wrong value after adding textprop * vim-patch:8.2.0844: text properties crossing lines not handled correctly * vim-patch:8.2.4379: an empty change is reported to a listener * vim-patch:8.2.3795: too many #ifdefs * vim-patch:8.1.2008: error for invalid range when using listener and undo * vim-patch:84a343a: runtime(doc): correct another problem in :h items() * vim-patch:44c8072: runtime(doc): fix style and clarify items() function for String type * vim-patch:partial:308a313: runtime(doc): Update help for the items() function * fix(lsp): update window title when cycling through signatures #35407 * docs: update version.c #35201 * fix(ui): proper event ordering for nested cmdline_block events (#35344) * vim-patch:2f7e4eb: runtime(python): optimize pythonSync pattern * vim-patch:9.1.1647: filetype: Cangjie files are not recognized * fix(treesitter): run FileType autocmds in the context of `` * feat(snippet): highlight active tabstop (#35378) * build: make build.zig generate helptags without running "nvim" binary * vim-patch:9.1.1649: attrs allocation and fuzzy growarray could leak (#35383) * docs(tutor): update Japanese tutor #35379 * docs(l10n): building translation file #35380 * refactor(lsp): use `vim.lsp._capability.enable` internally * refactor(lsp): correct enable marker name * refactor(lsp): no longer rely on `LspDetach` for detaching capabilities * refactor(lsp): move `util.enable` to `capability.enable` * test(tui_spec): avoid race between server exit and new client (#35376) * test(tui_spec): fix another case of flakiness (#35374) * docs: misc, dev-api-fast, $XDG_STATE_HOME #35138 * feat(ssh): SSH configuration parser #35027 * vim-patch:9.1.1645: fuzzy.c can be further improved (#35371) * fix(excmd): correct :connect abbreviation * fix(client): avoid :connect race with server detach * fix(api): on_detach consistently before buf_freeall autocmds * docs(windows): WSL build instructions #35365 * refactor(tests): remove redundant test #35364 * fix(api,lsp): call on_detach before wiping out the buffer #35355 * vim-patch:3cee950: runtime(diff): fix mixed translations in zh_CN (#35362) * refactor(lsp): change capability name to snake case * refactor(lsp): register all derived `Capability` prototypes * refactor(lsp): define `Capability.on_attach` * refactor(lsp): check supported methods instead of `tbl_get` * feat(lua): conversion between vim and lsp position/range * feat(lua): `vim.pos`/`vim.range` * vim-patch:b405c79: runtime(vim): set 'comments' based on script type (legacy/Vim9) (#35359) * vim-patch:9.1.1640: Unicode has deprecated some code-points (#35358) * feat(provider): detect venv python via "pynvim-python" tool #35273 * build(deps): CMake generation fails when path contains spaces #35332 * vim-patch:9.1.1623: Buffer menu does not handle unicode names correctly (#35353) * vim-patch:9.1.1633: Search pattern shown incorrectly with negative offset (#35337) * vim-patch:9.1.1632: memory leak in fuzzy.c * vim-patch:9.1.1630: tests: fuzzy bufname completion test doesn't match successfully * fix(tui): do not emit resize screen sequence after host terminal is resized (#35335) * feat(ui): :connect command #34586 * fix(checkhealth): wrong ABI version for treesitter parsers #35327 * fix(build): also check os_win sources with uncrustify in CI * refactor(build): remove INCLUDE_GENERATED_DECLARATIONS guards * vim-patch:1ee1d9b: runtime(python): highlight "self" and "cls" in syntax script (#35328) * vim-patch:9.1.1628: fuzzy.c has a few issues * vim-patch:c93a2b3: runtime(doc): Adapt fuzzy doc to reflect 'fzy' algorithm * vim-patch:9.1.1627: fuzzy matching can be improved * fix(snippet): adjacent tabstops without placeholders (#35167) * fix(api): fix not capturing output in cmdline mode (#35322) * vim-patch:9.1.1626: cindent: does not handle compound literals (#35319) * vim-patch:9.1.1625: Autocompletion slow with include- and tag-completion (#35318) * docs: "git" is a prerequisite #35315 * fix(api): fix crash in command preview with % #35228 * fix(treesitter): set local values of window options * refactor(shada): A shada entry is a shada entry * feat(build): build.zig windows support ------------------------------------------------------------------- Tue Aug 12 14:47:08 UTC 2025 - Scott Bradnick - Update to version 0.12.0+git20250812.e6e1e71abf: * vim-patch:dba9eb4: runtime(python): Also sync syntax at 'async def' (#35309) * fix(inccommand): skip input() during preview #35272 * fix: don't use logical diagnostic position in `get_prev` and `get_next` #35282 * fix(gen_help_html): ASCII art rendering in docs #35262 * feat(lsp): support signature help noActiveParameterSupport #34838 * fix(extui): ensure temporary cmdline config is not restored #35301 * fix(lsp): deprecate vim.lsp.set_log_level, vim.lsp.get_log_path #35274 * ci: bump actions/checkout from 4 to 5 #35305 * docs(lsp): specify formatting_options type (#35302) * fix(lsp): check for lens range in `vim.lsp.codelens.run()` (#35294) * vim-patch:8.2.0115: byte2line() does not work correctly with text properties * vim-patch:8.1.1711: listener callback called at the wrong moment * vim-patch:8.1.1700: listener callback called for the wrong buffer * vim-patch:8.1.1681: insert stray "{" when listener gets buffer line * vim-patch:8.1.0636: line2byte() gives wrong values with text properties * vim-patch:32d6bd6: runtime(doc): remove dead links (#35297) * vim-patch:a94a055: runtime(python): Highlight f-string replacement fields in Python * vim-patch:48b7eb1: runtime(python): Highlight classes as structures * vim-patch:7270a5a: runtime(racket): update Racket runtime files * vim-patch:9.1.1620: filetype: composer.lock and symfony.lock files not recognized (#35291) * vim-patch:9.1.1622: Patch v9.1.1432 causes performance regressions (#35288) * vim-patch:partial:fc3c204: runtime(doc): Fix style and typos in builtin.txt and usr_41.txt (#35286) * vim-patch:9.1.1619: Incorrect E535 error message (#35285) * vim-patch:9.1.1618: completion: incorrect selected index returned from complete_info() (#35284) * vim-patch:9.1.1613: tests: test_search leaves a few swapfiles behind * vim-patch:9.1.1612: Ctrl-G/Ctrl-T do not ignore the end search delimiter * vim-patch:9.1.1615: diff format erroneously detected (#35276) * vim-patch:9.1.1611: possible undefined behaviour in mb_decompose() (#35275) * feat(pack): allow skip install confirmation in `add()` * feat(pack): allow function `opts.load` in `add()` * fix(pack): update `add()` to have default `load=false` during startup * vim-patch:9.1.1606: filetype: a few more files are not recognized (#35268) * vim-patch:3be4ad7: runtime(optwin): Fix E94 when searching for the option-window * vim-patch:7132935: runtime(java): Manage byte limits for variable-width lookbehind assertions * fix(build): remove deprecated aliases in build.zig removed for zig 0.15 * vim-patch:9.1.1609: complete: Heap-buffer overflow with complete function * vim-patch:9.1.1603: completion: cannot use autoloaded funcs in 'complete' F{func} * fix(snippet): sync tabstop text also if pmenu is visible (#35250) * fix(cmdline): completion for command after :restart (#35256) * fix(cmdline): trigger CmdlineChanged after command preview (#35254) * vim-patch:9.1.1608: No command-line completion for :unsilent {command} * vim-patch:9.1.0748: :keep* commmands are sometimes misidentified as :k * docs(lsp): add reference to progress indicator protocol (#35215) * vim-patch:9.1.1610: completion: hang or E684 when 'tagfunc' calls complete() (#35243) * vim-patch:9.1.1607: :apple command detected as :append (#35237) * vim-patch:9.1.1605: cannot specify scope for chdir() (#35239) * vim-patch:9.1.1604: completion: incsearch highlight might be lost (#35236) * vim-patch:d82c918: runtime(doc): Improve doc for cmdline-autocomplete (#35235) * fix(tui): do not remove SIGWINCH handler when resize events are enabled (#35221) * vim-patch:adfea9b: runtime(help): Unset `'comments'` and `'cms'` options (#35232) * vim-patch:66d8d28: runtime(typescript): Add syntax support for defer and arbitrary module identifiers * vim-patch:9.1.1602: filetype: requirements-*.txt files are not recognized * fix(lsp): update capability maps (#35227) * vim-patch:9.1.1601: Patch v8.1.0425 was wrong * vim-patch:8.1.0425: ml_get error and crash with appendbufline() * vim-patch:9.1.1599: :bnext doesn't go to unlisted help buffers (#35216) * vim-patch:9.1.1600: using diff anchors with hidden buffers fails silently (#35218) * vim-patch:93f6454: runtime(openscad): add a filetype plugin * vim-patch:589aa28: runtime(javascript): add "as" as a reserved keyword to syntax script * vim-patch:9.1.1598: filetype: waybar config file is not recognized * vim-patch:9c4de84: runtime(doc): Update ft-vim-syntax documentation (#35212) * vim-patch:9.1.1596: tests: Test_search_wildmenu_iminsert() depends on help file (#35210) * vim-patch:54fb7ba: runtime(doc): remove mentioning of netrwSettings.vim (#35209) * fix(ui): check for cmdline mode properly (#35202) * docs: update version.c #35024 * feat(lsp): improve signature help display #35190 * build(emmyrc.json): use StyLua formatter in .emmyrc.json #35196 * ci: bump actions/download-artifact from 4 to 5 (#35188) * vim-patch:9.1.1594: completion: search completion throws errors (#35198) * vim-patch:f7deb81: runtime(doc): fix typo at :h cmdline-autocompletion * vim-patch:bb0860a: runtime(doc): tweak option name notation further * fix(lsp): show title when global winborder is set (#35181) * refactor(build): don't use the preprocessor when generating headers * docs(lsp): include snippet to display progress using native indicator (#35176) * vim-patch:067adc1: runtime(doc): add back bars for the '' mark * vim-patch:85cd509: runtime(doc): Use correct option-name tags * vim-patch:3769100: runtime(doc): fix mismatch between 'backspace' and |i_backspacing| (#35185) * vim-patch:a7a2a2b: runtime(doc): Tweak documentation style (#35184) * vim-patch:9.0.1689: python 3.12 produces warnings and fails test * vim-patch:8.2.3602: Python3 test fails with Python 3.10 on MS-Windows * fix(lsp): make thematic break parsing conform to GFM spec (#35162) * vim-patch:8.2.1912: with Python 3.9 some tests fail * vim-patch:8.2.1555: not all tests are executed on Github Actions * vim-patch:8.2.1123: Python 3 test is old style * vim-patch:8.2.0307: Python 3 vim.eval not well tested * vim-patch:partial:8.2.1328: no space allowed before comma in list * vim-patch:8.2.0512: Vim9: no optional arguments in func type * revert(lsp): compare to `vim.NIL` in `lsp/buf.lua` (#35156) * fix(lsp): compare to `vim.NIL` in `lsp/buf.lua` #35154 * docs(lsp): mention default enablement of document colors (#35153) * fix(lsp): check if buffer is valid when resolving code lenses (#35092) * fix(snippet): early return for final tabstop #35115 * feat(lua): vim.list.bisect() #35108 * fix(lsp): decode 'null' in server responses as vim.NIL #34849 * fix(options): make 'cdhome' take effect on any platform * feat: ":restart [cmd]" can run commands #35045 * docs: reorder sections #35140 * vim-patch:3add0d5: runtime(ccomplete): use complete_check() in ccomplete plugin (#35142) * vim-patch:9.1.1590: cannot perform autocompletion (#35141) * fix(lsp): handle nil response in references request #35139 * fix(api): nvim_create_user_command addr option should allow ranges #35077 * build: bump lua-bitop to 1.0.3 #35063 * test(pack): add `vim.pack` tests * ci: enable integration tests on Release builds * fix(pack): open confirmation buffer in tabpage after the current one * fix(pack): ensure consistent order of changelog during update * fix(pack): make newer version suggestions more robust * refactor(pack): use `vim.cmd` methods with structured input * fix(pack): ensure explicit default `version` in events (where possible) * fix(pack): use `vim.pack:` as message/progress prefix * fix(pack): validate installed plugins in `update()` and `del()` * feat(pack): use colored `nvim_echo` chunks to show progress report * fix(pack): ignore 'loadplugins' when sourcing 'after/plugin' scripts * fix(pack): improve `vim.pack.add()` input validation * fix(pack): use 'coxpcall.lua' on non-LuaJIT * vim-patch:b88f9e4: runtime(vim): Update base syntax, fix :map termination in :command RHS (#35131) * fix(statusline): don't require'vim.diagnostic' unless already used * fix(diagnostic): check if the buffer is loaded #35125 * fix(statusline): check buf valid before redraw #35123 * feat(statusline): vim.diagnostic.status() #33723 * fix(prompt): cursor on prompt line, disallow ":edit" #34736 * fix(extui): ensure windows are valid in scheduled on_key (#35106) * fix(api): single-line visual block insert triggers extra on_lines #35098 * fix(messages): 'exrc' / secure messages * docs: vim.pack * docs: lsp, ui events, dev guidance, osc7 * feat(exrc): user must view and explicitly run ":trust" #35069 * feat(lua): add vim.list.unique() * fix(diagnostics): avoid jumping to diagnostics in deleted ranges #35088 * feat: serverlist({peer=true}) returns peer addresses #34806 * feat(lsp): enable document_color by default #35086 * fix(snippet): jumping backwards to choice node (#35062) * fix(snippet): setting end_right_gravity (#35061) * fix(lsp): don't override `config.title` in `vim.lsp.buf.signature_help()` #35075 * fix(lsp): codelens extmark line out of range (#35070) * build(deps): bump luajit to 871db2c84 * fix(unittests): use -1ULL to mean UNSIGNED MATH.MAX * fix(cmdline): :checkhealth completion with multiple args (#35060) * fix(diagnostics): position diagnostics using extmarks #34014 * fix(diagnostics): extend conversion support from/to quickfix format (#34006) * vim-patch:714671d: runtime(misc): use :hor :term to ensure new term window is split horizontally (#35064) * fix(extui): attempt to perform arithmetic on field 'last_emsg' (#35047) * vim-patch:9.1.0063: GTK code can be improved * refactor(lua): use vim.system #34707 * feat: ":restart +cmd" #34788 * fix(shada): check return value is 0 * refactor(shada): switch plugin/shada.vim to Lua #34725 * fix(clipboard): correct blockwise register width computation (#35038) * fix(iter): ArrayIter:last returns nil when filtered to empty #34697 * vim-patch:774fe9d: runtime(doc): remove mention of ftp.vim.org * vim-patch:5711d76: runtime(doc): Tweak documentation style * vim-patch:61cec2e: runtime(doc): Fix typo in :help help-summary * docs: update usr_02.txt #35031 * vim-patch:9.1.1576: cannot easily trigger wildcard expansion (#35022) * fix(lsp): support `containerName` in symbol requests #35029 * feat(ui2): more predictable routing #35028 * fix(window): disallow closing autocmd window in other tabpage * fix(api): do not allow opening float to closing buffer * fix(window): restore b_nwindows if win_close_othertab keeps window * test(tabclose): remove deprecated calls, use testnvim helpers * fix(autocmd): fire TabClosed after freeing tab page * fix(window): handle closing the only non-float in other tabpage * vim-patch:9.0.2023: need more tests for :cq * vim-patch:8.2.2905: no error when defaults.vim cannot be loaded * feat(lsp): diagnostic related documents support * fix(lsp): store result id for unchanged diagnostic reports * vim-patch:1f6faff: runtime(doc): mention the "pipefail" shell option (#35016) * vim-patch:9.1.1573: Memory leak when pressing Ctrl-D in cmdline mode * vim-patch:9.1.1571: CmdlineChanged triggered to often * vim-patch:8.1.1891: functions used in one file are global * refactor: fixup! vim-patch:8.1.0877: new buffer * vim-patch:8.1.1736: viminfo support is spread out * refactor: fixup! vim-patch:8.2.4881: "P" in Visual * vim-patch:8.1.1584: the evalfunc.c file is getting too big * vim-patch:8.1.1526: no numerical value for the patchlevel * vim-patch:8.1.0977: blob not tested with Ruby * vim-patch:8.1.2127: the indent.c file is a bit big * vim-patch:8.1.0857: indent functionality is not separated * fix(lsp): show notification with empty hover response (#35014) * vim-patch:9.1.1572: expanding $var does not escape whitespace for 'path' (#35010) * vim-patch:31ec664: runtime(doc): Update help syntax, match :autocmd options (#35008) * refactor(lsp): inline `on_client_exit` * vim-patch:partial:d3170f5: runtime(doc): Tweak documentation about tab pages (#35007) * refactor(lsp): track clients in `all_clients` once initialized * vim-patch:9.1.1570: Copilot suggested some improvements in cmdexpand.c (#35006) * vim-patch:9.1.1567: crash when using inline diff mode (#35005) * vim-patch:1afe8c3: runtime(rust): improve loading time * vim-patch:a2578e0: runtime(uc): include uc filetype plugin * refactor(lsp): extract `Client._on_detach` to reduce duplicated code * fix(treesitter): ":EditQuery [lang]" with injected languages #34914 * feat(lsp): support linked editing ranges #34388 * fix(tutor): use legacy syntax for lesson 3.1 #34996 * vim-patch:ba3a5a7: runtime(sh): properly delete shell commands in syntax file * vim-patch:a2fff3f: runtime(lf): update syntax to support lf version r36 * fix(pack): close confirmation buffer's tabpage by ID #34971 * vim-patch:2f7c957: runtime(vim): Update base syntax and generator, improve command/function distinction * vim-patch:97501af: runtime(vim): Update base syntax, match "any" type distinctly * fix(tutor): use invalidate field in nvim_buf_set_extmark() #34989 * feat(env): remove VIM_VERSION_NODOT macro #34890 * docs: fix help tag link #34988 * docs: move *packages* and *package-create* into 'pack.txt' * docs(pack): move `vim.pack` documentation into a separate file * vim-patch:f2290a6: runtime(compiler): Add PHPStan compiler (#34985) * vim-patch:b7fc24d: runtime(python): Highlight f-strings in Python * test(tutor_spec): remove test description("Tutor: tutor") * refactor(tutor): reimplement interactive marks as extmark in Lua * vim-patch:3ab6941: runtime(doc): Tweak documentation (#34980) * vim-patch:9.1.1544: :retab cannot be limited to indentation only (#34939) * vim-patch:9.1.1552: [security]: path traversal issue in tar.vim * vim-patch:470317f: runtime(tar): remove dependency on netrw#WinPath, include mapping doc * vim-patch:a250738: runtime(tar): use readblob() instead of shelling out to file(1) * vim-patch:partial:9.0.0877: using freed memory with :comclear while listing commands * vim-patch:9.1.1557: not possible to anchor specific lines in diff mode (#34967) * vim-patch:9.1.1563: completion: ruler may disappear (#34977) * vim-patch:175662f: runtime(vim): Update base syntax, fix incorrect function error (#34975) * vim-patch:57300a2: runtime(doc): fix claim that 'CTRL-W CTRL-C' and 'CTRL-W c' are the same (#34976) * vim-patch:9.1.1559: tests: Test_popup_complete_info_01() fails when run alone * vim-patch:9.1.1554: crash when omni-completion opens command-line window * test(screen): remove screen:get_default_attr_ids() (#34973) * vim-patch:9.1.1556: string handling in cmdexpand.c can be improved (#34966) * docs(lua): add vim.pack to _meta.lua #34957 * test(tui_spec): flakiness, global highlight definitions #34958 * build(vim-patch.sh): remove vim.pot (#34964) * vim-patch:9.1.1555: completion: repeated insertion of leader (#34962) * vim-patch:9.1.1549: filetype: pkl files are not recognized * vim-patch:9.1.1548: filetype: OpenFGA files are not recognized * vim-patch:9a667b4: runtime(swig): add 'comments', 'commentstring' in filetype plugin * vim-patch:30df425: runtime(twig): include twig filetype plugin * vim-patch:edce689: runtime(python2): Highlight b-strings in Python 2.7 * fix(lsp): close floating preview window correctly #34946 * vim-patch:9.1.1551: [security]: path traversal issue in zip.vim (#34951) * revert: "fix(runtime): set 'foldmethod' for Lua ftplugin #34929" (#34947) * refactor(vterm): update vterm DA1 response * vim-patch:a24f5be: runtime(python): highlight bytes in python * vim-patch:baa781a: runtime(python2): highlight unicode strings in python2 * vim-patch:e85a66a: runtime(erlang): Add support for triple-quoted strings and docstrings * feat(term): increase max scrollback to 1000000 * fix(runtime): set 'foldmethod' for Lua ftplugin #34929 * test(fold): flaky "doesn't open folds that are not touched" #34911 * vim-patch:1341176: runtime(vim): Update help syntax file, improve highlighting of included Vim examples (#34924) * vim-patch:9.1.1539: completion: messages don't respect 'shm' setting (#34923) * build(deps): bump tree-sitter to v0.25.8 * feat(net): vim.net.request(), :edit [url] #34140 * vim-patch:6f85cec: runtime(python): update rendering of Unicode named literals in syntax script * vim-patch:ce1d196: runtime(vim): Update base syntax, improve :match highlighting (#34912) * feat(tui): use DA1 response to determine OSC 52 support ------------------------------------------------------------------- Sun Jul 13 05:20:16 UTC 2025 - Scott Bradnick - Update to version 0.12.0+git20250712.73fbc693b5: * refactor(lsp): drop vim.lsp.util._refresh() #33903 * fix(lua): vim.diff is nil in uv.new_work() thread #34909 * refactor(lsp): rename vim.lsp.semantic_tokens start/stop to enable() * test(lsp): remove the deprecated `feed_command` * refactor(lsp): utility functions for `enable()/is_enabled()` * fix(lsp): prevent flicker in codelens virtual text #34888 * test: zig build thread_spec.lua failure after `vim.text.diff` rename * refactor(lua): rename vim.diff => vim.text.diff #34864 * ci(test): use ARM ubuntu linux for more CI jobs #34908 * build(deps): bump tree-sitter to v0.25.7 * fix(health): bad format() call #34904 * build(deps): bump tree-sitter-vim to v0.7.0 * docs(autocmd): generate events enum type #34883 * refactor(build): use consistent cmake names #34893 * refactor(qf): move syntax code for qf-toc to qf.lua #34879 * fix(extui): disable cmdline highlighter when showing a message (#34887) * vim-patch:9.1.1538: tests: string options in gen_opt_test.vim not fully sorted (#34891) * fix(window): don't store invalid height in window config (#34885) * fix(extui): check if buffers/windows exist before deleting (#34886) * fix(vim.json): loss of precision on integers >14 digits #34876 * docs: deprecate :ownsyntax * docs: rename ui.txt => api-ui-events.txt * docs: api, pack, events, develop * vim-patch:9.1.1535: the maximum search count uses hard-coded value 99 (#34873) * test(ui/{cmdline,message}2_spec): reduce flakiness/runtime #34875 * vim-patch:6ac2e4a: runtime(vim): Update base syntax, improve function call highlighting (#34874) * feat(diagnostic): jump to related info location from `open_float` #34837 * refactor(lsp): simplify multiline semantic token logic #34698 * feat(lsp): support `textDocument/colorPresentation` (#34823) * fix(lsp): custom 'winborder' in make_floating_popup_options() #34868 * fix(highlight): preserve bg transparency with winblend=100 #34825 * docs: move vim.system to own section * vim-patch:32a1b26: runtime(filetype): improve asm heuristics and move into FTasmsyntax() (#34863) * vim-patch:bda55df: Revert "runtime(haskell): Add single quote to `iskeyword` in ftplugin (vim/vim#8191)" * fix(tui): check for title support correctly (#34866) * feat(option): custom chars in 'winborder' #33772 * feat(extui): use winborder for msg window #34859 * vim-patch:3987eac: runtime(doc): clarify how ex ranges are adjusted when acting on folds (#34862) * fix(runtime): no conceal in qf on :lopen #34854 * feat(shada): shada should not store nobuflisted buffers #21818 * test(messages/cmdline_spec): convert highlight IDs to name and format (#34845) * feat(extui): show dismissed message in cmdline (#34745) * feat(api): relax contract, allow return-type void => non-void #34811 * vim-patch:9.1.1528: completion: crash with getcompletion() * vim-patch:9.1.1526: completion: search completion match may differ in case * vim-patch:9.1.1532: termdebug: not enough ways to configure breakpoints (#34851) * docs: tag of `:EditQuery` #34844 * docs(tutor): Chinese (zh-CN) translation #34803 * fix(health): floating window closes when opening TOC (gO) #34794 * feat(messages): add "prev_cmd" argument to msg_history_show (#34779) * docs: type fixes #34831 * fix(prompt): lnum update via nvim_buf_set_lines if buf != curbuf #34833 * docs: misc #34834 * vim-patch:9.1.1520: completion: search completion doesn't handle 'smartcase' well (#34840) * vim-patch:9.1.1519: tests: Test_termdebug_decimal_breakpoints() may fail * vim-patch:9.1.0877: tests: missing test for termdebug + decimal signs * test(api): nvim_get_keymap returns correct lhsraw and lhsrawalt * fix(api): populate lhsrawalt in nvim_get_keymap response * vim-patch:9.1.1521: completion: pum does not reset scroll pos on reopen with 'noselect' (#34836) * feat(lsp): support diagnostic related information (#34474) * vim-patch:244198f: runtime(autopkgtest): add ftplugin file for autopkgtest * vim-patch:e9d331d: runtime(autopkgtest): add syntax file for autopkgtest * vim-patch:48c823c: runtime(debcontrol): move kernel/architecture definitions to shared/debarchitectures.vim * vim-patch:9.1.1517: filetype: autopkgtest files are not recognized * refactor(lsp): stateful data abstraction, vim.lsp.Capability #34639 * fix(lsp): convert the encoded position to line byte (#34824) * feat(options): per-buffer 'busy' status #34493 * vim-patch:9.1.1518: getcompletiontype() may crash (#34819) * refactor(lsp): narrower `hierarchy` argument type (#34799) * vim-patch:f79695c: runtime(doc): fix a few typos introduced in 0ae9e19540dda5d (#34818) * fix(treesitter): inconsistent highlight of multiline combined injection #32619 * fix(vim.pack): add() stops unexpectedly on package load error #34787 * feat(lsp): handle deprecated document symbols (#34751) * refactor(lsp): consistent usage of vim.notify #34802 * vim-patch:0ae9e19: runtime(doc): add a section for options influencing search (#34810) * fix(runtime): coverity STRING_NULL #569464 (#34795) * vim-patch:9.1.1516: tests: no test that 'incsearch' is updated after search completion (#34808) * vim-patch:7a734b7: tests: fix typo in comment (after v9.1.1511) * vim-patch:9.1.1511: tests: two edit tests change v:testing from 1 to 0 * vim-patch:9.1.1509: patch 9.1.1505 was not good * vim-patch:9.1.1505: not possible to return completion type for :ex command * vim-patch:5911ac5: runtime(vim): Update base-syntax, match :filetype in functions * vim-patch:a8b8660: runtime(vim): Update base-syntax, match escape sequences in :command blocks * vim-patch:c233c2e: runtime(vim): Update base-syntax and generator, match all default highlight groups * vim-patch:a9b5e4a: runtime(vim): Update base-syntax and generator, generate command modifiers * vim-patch:9.1.1512: completion: can only complete from keyword characters (#34798) * vim-patch:f9d87fa: runtime(go): fix `b:undo_ftplugin` * vim-patch:9.1.1510: Search completion may use invalid memory * vim-patch:9.1.1493: manually comparing positions on buffer * vim-patch:9.1.1490: 'wildchar' does not work in search contexts * vim-patch:26ebe21: runtime(doc): mismatch between the :uniq document's description and examples * vim-patch:1c471ac: runtime(doc): update description of :uniq command * vim-patch:9.1.1481: gcc complains about uninitialized variable * vim-patch:ca793e6: runtime(vim): Update base-syntax, match :uniq command * vim-patch:9.1.1478: Unused assignment in ex_uniq() * vim-patch:9.1.1477: no easy way to deduplicate text * ci: add Riley to Treesitter reviewers (#34791) * refactor(getchar): rename test variable (#34769) * ci: LSP reviewers #34790 * fix(lsp): consistent use of `vim.notify`/logging with unsupported methods * fix(lsp): remove extra notify on empty hover * fix(diagnostic): fix flaky error * feat(pack): add built-in plugin manager `vim.pack` * feat(async): add `vim._async` * vim-patch:8.2.1983: ml_get error when using to open a terminal (#34759) * vim-patch:0d50d60: runtime(postscr): Correct some standard font names in syntax * vim-patch:9.1.1507: symlinks are resolved on :cd commands (#34758) * vim-patch:9.1.1508: string manipulation can be improved in cmdexpand.c (#34755) * fix(incsearch): include compsing characters with Ctrl-L * test(old): emulate test_override('char_avail') using FFI * test(ui/messages_spec): fix flakiness (#34754) * test(editor/defaults_spec): fix flakiness (#34752) * vim-patch:ba47934: runtime(netrw): remove netrwSettings.vim (#34747) * vim-patch:9.1.1506: tests: missing cleanup in Test_search_cmdline_incsearch_highlight() (#34748) * feat(runtime): accept predicates in take and skip (#34657) * test(old): emulate test_override('starting') with FFI (#34742) * test: add more structure to vim.bo/wo tests * test: move lua option/variable tests to a separate file * refactor: option tests * vim-patch:9.1.1504: filetype: numbat files are not recognized * vim-patch:9.1.1503: filetype: haxe files are not recognized * vim-patch:9.1.1502: filetype: quickbms files are not recognized * vim-patch:9.1.1501: filetype: flix files are not recognized * vim-patch:5ecee30: runtime(go): add section movement mappings to ftplugin * fix(treesitter): ensure TSLuaTree is always immutable * test(treesitter): test tree:root() is idempotent * fix(vim.system): env=nil passes env=nil to uv.spawn * build: support static build #34728 * fix(lsp): use `vim.notify` with action-less `showMessage` requests (#34720) * fix: type of nvim_echo * test(exrc): lua exrc knows its location #34713 * vim-patch:9.1.1498: completion: 'complete' funcs behave different to 'omnifunc' (#34718) * vim-patch:a5b744e: runtime(vim): Update base-syntax, improve :syn-sync line defaults (#34719) * feat(vim.version): add `vim.version.intersect()` * fix(vim.version): improve construction of '<=a.b.c' and '>a.b.c' ranges * doc(vim.version): options formatting #34716 * fix(term): terminal attr index may exceed TERM_ATTRS_MAX #34318 * feat(vim.version): make `tostring()` return human-readable version range * docs(vim.version): document `vim.VersionRange` as a dedicated class * fix(prompt): prompt mark not placed after text edits correctly #34671 * fix(exrc): exrc knows its own location (#34638) * refactor(health): use vim.system():wait() #34702 * fix(help): :help can focus unfocusable/hide window #34442 * vim-patch:1fa3f0c: runtime(doc): fix :vmap example to avoid unwanted spaces with JJ (#34695) * fix(tui): don't crash when nvim__screenshot() is called with bad path (#34594) * fix(messages): only msg_clear for UPD_CLEAR #34688 * fix(tutor): cannot find tutors in pack/*/start/* #34689 * vim-patch:9.1.1421: tests: need a test for the new-style tutor.tutor (#34267) * vim-patch:0312527: runtime(pandoc): sync syntax script with upstream * fix(lsp): fix workspace diagnostic request to follow spec (#34674) * feat(extui): don't enter pager for routed message #34679 * perf(extui): delay creating windows, buffers and parser (#34665) * fix(highlight): spurious underline in 'winblend' floating window #34614 * vim-patch:9.1.1482: scrolling with 'splitkeep' and line() (#34670) * vim-patch:5d14da3: runtime(diff): fix regex for matching no-eol match * feat(ui): emit "msg_clear" event after clearing the screen (#34035) * fix(lsp): include context for each client in multi-handler results (#34669) * fix(lsp/health): always use vim.inspect to show root_markers (#34667) * feat(defaults): map "grt" to LSP type_definition #34642 * docs(api): document types using LuaCATS types * fix(lsp): add `RequestFailed` error code constant #34645 * fix(column): missing redraw with virt_lines_leftcol (#34650) * refactor(ui.c): deduplicate validation logic #34647 * vim-patch:037c32e: runtime(vim): Update base-syntax, match unamed register alias (#34648) * vim-patch:fa0b069: runtime(doc): improve documentation style in editing.txt (#34646) * fix(vim.system): clear_env=true gives an invalid env to uv.spawn #33955 * fix(ui)!: decouple ext_messages from message grid #27963 ------------------------------------------------------------------- Wed Jun 25 13:47:02 UTC 2025 - Scott Bradnick - Update to version 0.12.0+git20250625.0694ca8822: * fix: map wincmd instead of remap #34635 * ci: bump luals to 3.15.0 * feat(prompt): prompt_getinput() gets current input #34491 * fix(cmdline): validate 'incsearch' cursor for "cmdline_show" redraw (#34630) * fix(prompt): "%" prefix repeated on newlines with formatoptions+=r #34584 * fix(autocmd): 'cmdheight' OptionSet with valid window grids (#34619) * vim-patch:159d392: runtime(java): Complement the recognition of type parameter sections * vim-patch:9.1.1476: missing out-of-memory checks in cmdexpand.c (#34624) * fix(quickfix): use correct lnume when appending (#34611) * vim-patch:a931371: runtime(vim): Update base-syntax, match OR operator in :echo and :execute (#34623) * refactor(lsp): use `vim.lsp.buf_request_all` internally (#34604) * fix(health): highlight group conflicts with help #34616 * fix(tui): avoid memory leak and compiler warning on Windows (#34225) * feat(lsp): support annotated text edits (#34508) * fix(cmd): bar "|" not allowed after :fclose #34613 * vim-patch:a9b95c3: runtime(doc): remove wrong documentation of the :digraph command (#34608) * vim-patch:9.1.1475: completion: regression when "nearest" in 'completeopt' (#34607) * vim-patch:dcff497: runtime(vim): Update base-syntax, match bare mark ranges * vim-patch:99b9847: runtime(vim): Update base-syntax, fix Vim9 :import expression comment handling * docs(treesitter): fix parameter list for `Query:iter_matches` (#34553) * vim-patch:9.1.1473: inconsistent range arg for :diffget/diffput (#34588) * build(msvc): suppress msvc build warning for different enum types (#34591) * fix(extui): set 'modifiable', 'noswapfile' for buffers (#34582) * test(prompt): nvim_paste in prompt buffer #34583 * vim-patch:476b65e: runtime(doc): mention using