summaryrefslogtreecommitdiffstatshomepage
path: root/runtime/lua/vim/_meta/vimfn.lua
AgeCommit message (Collapse)AuthorFiles
2025-07-28docs: lsp, ui events, dev guidance, osc7Justin M. Keyes1
fix #34981
2025-07-28feat(lua): add vim.list.unique()Lewis Russell1
Problem: No way to deduplicate values in a list in-place Solution: Add `vim.list.unique()`
2025-07-27feat: serverlist({peer=true}) returns peer addresses #34806Siddhant Agarwal1
Problem: serverlist() only lists servers that were started by the current Nvim. Solution: Look for other Nvim servers in stdpath("run").
2025-07-23vim-patch:5711d76: runtime(doc): Tweak documentation stylezeertzjq1
closes: vim/vim#17824 https://github.com/vim/vim/commit/5711d768181c3b08869ac41ee947a56a26763450 Co-authored-by: Hirohito Higashi <h.east.727@gmail.com>
2025-07-23vim-patch:9.1.1576: cannot easily trigger wildcard expansion (#35022)zeertzjq1
Problem: cannot easily trigger wildcard expansion Solution: Introduce wildtrigger() function (Girish Palya) This PR introduces a new `wildtrigger()` function. See `:h wildtrigger()` `wildtrigger()` behaves like pressing the `wildchar,` but provides a more refined and controlled completion experience: - Suppresses beeps when no matches are found. - Avoids displaying irrelevant completions (like full command lists) when the prefix is insufficient or doesn't match. - Skips completion if the typeahead buffer has pending input or if a wildmenu is already active. - Does not print "..." before completion. This is an improvement on the `feedkeys()` based autocompletion script given in vim/vim#16759. closes: vim/vim#17806 https://github.com/vim/vim/commit/b486ed8266d3b8cd1ffab7d7f302fbd6d5a55c70 While at it, also make Ctrl-Z trigger search completion. Co-authored-by: Girish Palya <girishji@gmail.com>
2025-07-18vim-patch:9.1.1544: :retab cannot be limited to indentation only (#34939)zeertzjq1
Problem: :retab cannot be limited to indentation only Solution: add the optional -indentonly parameter (Hirohito Higashi) closes: vim/vim#17730 https://github.com/vim/vim/commit/836e54f5de8479a39f6d1dd4a13202af0e447311 Co-authored-by: Hirohito Higashi <h.east.727@gmail.com>
2025-07-11vim-patch:9.1.1538: tests: string options in gen_opt_test.vim not fully ↵zeertzjq1
sorted (#34891) Problem: tests: string options in gen_opt_test.vim aren't fully sorted. Solution: Sort the string options alphabetically. Also make description of 'maxsearchcount' start with lower-case for consistency with other options, update documentation for searchcount(). closes: vim/vim#17720 https://github.com/vim/vim/commit/7306e8fcdb6fd17276b6aafb23a522cefecb5857
2025-07-10docs: api, pack, events, developJustin M. Keyes1
2025-07-06vim-patch:9.1.1518: getcompletiontype() may crash (#34819)zeertzjq1
Problem: getcompletiontype() crashes when no completion is available (after v9.1.1509). Solution: Don't call set_expand_context() (zeertzjq) fixes: vim/vim#17681 closes: vim/vim#17684 https://github.com/vim/vim/commit/e2c0f81dd014b03a40af6b2c42463b7a0d92f5d6
2025-07-06vim-patch:9.1.1509: patch 9.1.1505 was not goodzeertzjq1
Problem: Patch 9.1.1505 was not good Solution: Revert "patch 9.1.1505: not possible to return completion type for :ex command" and instead add the getcompletiontype() function (Hirohito Higashi). related: vim/vim#17606 closes: vim/vim#17662 https://github.com/vim/vim/commit/96b3ef23896ce70b2fdf3425ba2c013ce2840db6 Cherry-pick Test_multibyte_expression() from Vim, as it passes. Co-authored-by: Hirohito Higashi <h.east.727@gmail.com> Co-authored-by: Shougo Matsushita <Shougo.Matsu@gmail.com>
2025-07-06vim-patch:9.1.1505: not possible to return completion type for :ex commandzeertzjq1
Problem: not possible to return command-line completion type for :ex command Solution: make getcmdcompltype() accept an optional and return the command-line completion for that arg (Shougo Matsushita). closes: vim/vim#17606 https://github.com/vim/vim/commit/5d2354fc07b642f8835bef27e6dd46ee705726b5 Co-authored-by: Shougo Matsushita <Shougo.Matsu@gmail.com>
2025-07-05vim-patch:9.1.1477: no easy way to deduplicate textzeertzjq1
Problem: no easy way to deduplicate text Solution: add the :uniq ex command (Hirohito Higashi) closes: vim/vim#17538 https://github.com/vim/vim/commit/74f0a77bb9a170a25b03cacf640aa4e1b1d222b2 Co-authored-by: Hirohito Higashi <h.east.727@gmail.com>
2025-06-29fix(exrc): exrc knows its own location (#34638)Yochem van Rosmalen1
fix(exrc): lua exrc files know their location Problem: 'exrc' files are inherently bound to their location / workspace and therefore require to "know" their location on the filesystem. However, currently using `debug.getinfo(1, 'S')` returns `"<nvim>"`. Solution: Include the filepath as chunkname in `loadstring()` and `nlua_exec()`.
2025-06-24feat(prompt): prompt_getinput() gets current input #34491Shadman1
Problem: Not easy to get user-input in prompt-buffer before the user submits the input. Under the current system user/plugin needs to read the buffer contents, figure out where the prompt is, then extract the text. Solution: - Add prompt_getinput(). - Extract prompt text extraction logic to a separate function
2025-06-18docs: deprecate <sfile>Justin M. Keyes1
2025-06-14docs: miscdundargoc1
Co-authored-by: Jan Weinkauff <jan@weinkauff.cloud> Co-authored-by: MeanderingProgrammer <meanderingprogrammer@gmail.com> Co-authored-by: Yochem van Rosmalen <git@yochem.nl> Co-authored-by: phanium <91544758+phanen@users.noreply.github.com>
2025-06-08vim-patch:partial:8f7256a (#34368)zeertzjq1
vim-patch:partial:8f7256a: runtime(doc): fix some style issues and remove obsolete docs https://github.com/vim/vim/commit/8f7256a5ee5b827722de4e7524da1c2adb68bbae Co-authored-by: Hirohito Higashi <h.east.727@gmail.com>
2025-06-06fix: type fixesLewis Russell1
Type fixes caught by emmylua
2025-06-04docs: getreg() type #34215phanium1
```lua ---@type string local _a = vim.fn.getreg('a', 1) ---@type string[] local _b = vim.fn.getreg('a', 1, 1) ```
2025-06-02vim-patch:bfeefc4: runtime(doc): clarify the effect of exclusive single char ↵zeertzjq1
selections (#34289) closes: vim/vim#17410 https://github.com/vim/vim/commit/bfeefc474a3ed25852491a93e1e5610774f4de8c Co-authored-by: Christian Brabandt <cb@256bit.org>
2025-06-01fix(eval): winnr('$') counts non-current hidden/unfocusable windows #34207luukvbaal1
Problem: Non-visible/focusable windows are assigned a window number, whereas commands that use this window number skip over them. Solution: Skip over non-visible/focusable windows when computing the window number, unless it is made the current window through the API in which case an identifiable window number is still useful. This also ensures it matches the window number of the window entered by `<winnr>wincmd w` since 403fcacf.
2025-05-29vim-patch:9.1.1417: missing info about register completion in ↵zeertzjq1
complete_info() (#34219) Problem: missing info about register completion in complete_info() (after v9.1.1408) Solution: update documentation and mention that register is used as source, add a test (glepnir) closes: vim/vim#17389 https://github.com/vim/vim/commit/49864aecd0d23676e202b30bc8705c78ae52d680 Co-authored-by: glepnir <glephunter@gmail.com>
2025-05-24feat(search): increase `MAX_COUNT` to 999Christian Clason1
Problem: "99 searchcount ought to be enough for anyone." Solution: Increase `SEARCH_STAT_DEF_MAX_COUNT` to 999, which I'm sure will suffice for the next twenty years. Co-authored-by: Sean Dewar <6256228+seandewar@users.noreply.github.com>
2025-05-10vim-patch:9973b39: runtime(doc): remove duplicate sentence in builtin.txtzeertzjq1
https://github.com/vim/vim/commit/9973b39a17095e6d77b25aafb73a317cebcf586e Co-authored-by: Christian Brabandt <cb@256bit.org>
2025-05-10vim-patch:17ad852: runtime(doc): update return types for builtin functionszeertzjq1
fixes: vim/vim#17273 credit: Github user @msoyka2024 https://github.com/vim/vim/commit/17ad852a62b6e2cf25207292ebca7a748e529d59 Co-authored-by: Christian Brabandt <cb@256bit.org>
2025-05-03docs(lua): typing for vim.fn.winlayout #33817PRIZ ;]1
Problem: `any[]` means nothing, and the return value is not the same as what's documented in the comment (eg, Lua returns `{ "row", { { "leaf", 1000 }, { "leaf", 1001 } } }`, not `{ "row", { "leaf", 1000, "leaf", 1001 } }`) Solution: Create two classes (vim.fn.winlayout.leaf and vim.fn.winlayout.branch) and one alias that links the two together. Also: Due to LuaLS limitations, there is an empty class, vim.fn.winlayout.empty Signed-Off-By: VoxelPrismatic <voxelprismatic@pm.me>
2025-04-29vim-patch:ffc89e4 runtime(doc): clarify complete_match() and 'isexpand' optionglepnir1
clarify complete_match() documentation to better explain its backward search behavior, argument handling, and return value format and add an example of isexpand closes: https://github.com/vim/vim/pull/17212 https://github.com/vim/vim/commit/ffc89e47d014178bcd0a681ff2c8e18470cc972b
2025-04-27vim-patch:9.1.1341: cannot define completion triggersglepnir1
Problem: Cannot define completion triggers and act upon it Solution: add the new option 'isexpand' and add the complete_match() function to return the completion matches according to the 'isexpand' setting (glepnir) Currently, completion trigger position is determined solely by the 'iskeyword' pattern (\k\+$), which causes issues when users need different completion behaviors - such as triggering after '/' for comments or '.' for methods. Modifying 'iskeyword' to include these characters has undesirable side effects on other Vim functionality that relies on keyword definitions. Introduce a new buffer-local option 'isexpand' that allows specifying different completion triggers and add the complete_match() function that finds the appropriate start column for completion based on these triggers, scanning backwards from cursor position. This separation of concerns allows customized completion behavior without affecting iskeyword-dependent features. The option's buffer-local nature enables per-filetype completion triggers. closes: vim/vim#16716 https://github.com/vim/vim/commit/bcd5995b40a1c26e735bc326feb2e3ac4b05426b Co-authored-by: glepnir <glephunter@gmail.com>
2025-04-24vim-patch:9.1.1340: cannot complete :filetype arguments (#33602)zeertzjq1
Problem: cannot complete :filetype arguments (Phạm Bình An) Solution: add :filetype ex command completion, add "filetypecmd" completion type for getcompletion() fixes: vim/vim#17165 closes: vim/vim#17167 https://github.com/vim/vim/commit/a3422aa3170d49a7c3d1e6cd4242b86e42ef3945 Co-authored-by: Christian Brabandt <cb@256bit.org>
2025-04-24vim-patch:9.1.1329: cannot get information about command line completionzeertzjq1
Problem: cannot get information about command line completion Solution: add CmdlineLeavePre autocommand and cmdcomplete_info() Vim script function (Girish Palya) This commit introduces two features to improve introspection and control over command-line completion in Vim: - Add CmdlineLeavePre autocmd event: A new event triggered just before leaving the command line and before CmdlineLeave. It allows capturing completion-related state that is otherwise cleared by the time CmdlineLeave fires. - Add cmdcomplete_info() Vim script function: Returns a Dictionary with details about the current command-line completion state. These are similar in spirit to InsertLeavePre and complete_info(), but focused on command-line mode. **Use case:** In [[PR vim/vim#16759](https://github.com/vim/vim/pull/16759)], two examples demonstrate command-line completion: one for live grep, and another for fuzzy file finding. However, both examples share two key limitations: 1. **Broken history recall (`<Up>`)** When selecting a completion item via `<Tab>` or `<C-n>`, the original pattern used for searching (e.g., a regex or fuzzy string) is overwritten in the command-line history. This makes it impossible to recall the original query later. This is especially problematic for interactive grep workflows, where it’s useful to recall a previous search and simply select a different match from the menu. 2. **Lack of default selection on `<CR>`** Often, it’s helpful to allow `<CR>` (Enter) to accept the first match in the completion list, even when no item is explicitly selected. This behavior is particularly useful in fuzzy file finding. ---- Below are the updated examples incorporating these improvements: **Live grep, fuzzy find file, fuzzy find buffer:** ```vim command! -nargs=+ -complete=customlist,GrepComplete Grep VisitFile() def GrepComplete(arglead: string, cmdline: string, cursorpos: number): list<any> return arglead->len() > 1 ? systemlist($'grep -REIHns "{arglead}"' .. ' --exclude-dir=.git --exclude=".*" --exclude="tags" --exclude="*.swp"') : [] enddef def VisitFile() if (selected_match != null_string) var qfitem = getqflist({lines: [selected_match]}).items[0] if qfitem->has_key('bufnr') && qfitem.lnum > 0 var pos = qfitem.vcol > 0 ? 'setcharpos' : 'setpos' exec $':b +call\ {pos}(".",\ [0,\ {qfitem.lnum},\ {qfitem.col},\ 0]) {qfitem.bufnr}' setbufvar(qfitem.bufnr, '&buflisted', 1) endif endif enddef nnoremap <leader>g :Grep<space> nnoremap <leader>G :Grep <c-r>=expand("<cword>")<cr> command! -nargs=* -complete=customlist,FuzzyFind Find execute(selected_match != '' ? $'edit {selected_match}' : '') var allfiles: list<string> autocmd CmdlineEnter : allfiles = null_list def FuzzyFind(arglead: string, _: string, _: number): list<string> if allfiles == null_list allfiles = systemlist($'find {get(g:, "fzfind_root", ".")} \! \( -path "*/.git" -prune -o -name "*.swp" \) -type f -follow') endif return arglead == '' ? allfiles : allfiles->matchfuzzy(arglead) enddef nnoremap <leader><space> :<c-r>=execute('let fzfind_root="."')\|''<cr>Find<space><c-@> nnoremap <leader>fv :<c-r>=execute('let fzfind_root="$HOME/.vim"')\|''<cr>Find<space><c-@> nnoremap <leader>fV :<c-r>=execute('let fzfind_root="$VIMRUNTIME"')\|''<cr>Find<space><c-@> command! -nargs=* -complete=customlist,FuzzyBuffer Buffer execute('b ' .. selected_match->matchstr('\d\+')) def FuzzyBuffer(arglead: string, _: string, _: number): list<string> var bufs = execute('buffers', 'silent!')->split("\n") var altbuf = bufs->indexof((_, v) => v =~ '^\s*\d\+\s\+#') if altbuf != -1 [bufs[0], bufs[altbuf]] = [bufs[altbuf], bufs[0]] endif return arglead == '' ? bufs : bufs->matchfuzzy(arglead) enddef nnoremap <leader><bs> :Buffer <c-@> var selected_match = null_string autocmd CmdlineLeavePre : SelectItem() def SelectItem() selected_match = '' if getcmdline() =~ '^\s*\%(Grep\|Find\|Buffer\)\s' var info = cmdcomplete_info() if info != {} && info.pum_visible && !info.matches->empty() selected_match = info.selected != -1 ? info.matches[info.selected] : info.matches[0] setcmdline(info.cmdline_orig). # Preserve search pattern in history endif endif enddef ``` **Auto-completion snippet:** ```vim set wim=noselect:lastused,full wop=pum wcm=<C-@> wmnu autocmd CmdlineChanged : CmdComplete() def CmdComplete() var [cmdline, curpos] = [getcmdline(), getcmdpos()] if getchar(1, {number: true}) == 0 # Typehead is empty (no more pasted input) && !pumvisible() && curpos == cmdline->len() + 1 && cmdline =~ '\%(\w\|[*/:.-]\)$' && cmdline !~ '^\d\+$' # Reduce noise feedkeys("\<C-@>", "ti") SkipCmdlineChanged() # Suppress redundant completion attempts # Remove <C-@> that get inserted when no items are available timer_start(0, (_) => getcmdline()->substitute('\%x00', '', 'g')->setcmdline()) endif enddef cnoremap <expr> <up> SkipCmdlineChanged("\<up>") cnoremap <expr> <down> SkipCmdlineChanged("\<down>") autocmd CmdlineEnter : set bo+=error autocmd CmdlineLeave : set bo-=error def SkipCmdlineChanged(key = ''): string set ei+=CmdlineChanged timer_start(0, (_) => execute('set ei-=CmdlineChanged')) return key != '' ? ((pumvisible() ? "\<c-e>" : '') .. key) : '' enddef ``` These customizable snippets can serve as *lightweight* and *native* alternatives to picker plugins like **FZF** or **Telescope** for common, everyday workflows. Also, live grep snippet can replace **cscope** without the overhead of building its database. closes: vim/vim#17115 https://github.com/vim/vim/commit/92f68e26ec36f2c263db5bea4f39d8503e0b741c Co-authored-by: Girish Palya <girishji@gmail.com>
2025-04-18vim-patch:9.1.1318: tests: test_format failszeertzjq1
Problem: tests: test_format fails (after 9.1.1314). Solution: Increase the string size. Add missing test_format.res in NEW_TESTS_RES (zeertzjq). closes: vim/vim#17144 https://github.com/vim/vim/commit/e9a27ef37395a0130f99e21b288b7765f0e38236
2025-04-05docs: clipboard, eval #33223Justin M. Keyes1
2025-04-01docs(eval): fix dict param type of mapsetSean Dewar1
Match maparg's return type.
2025-04-01docs(eval): fix lnum type for functions using tv_get_lnumSean Dewar1
These occurrences also accept string, which is used like in getline. Also make the lnum field of vim.fn.sign_placelist.list.item optional, as it can be omitted like vim.fn.sign_place.dict's.
2025-03-27vim-patch:9.1.1219: Strange error with wrong type for matchfuzzy() "camelcase"zeertzjq1
Problem: Strange error with type for matchfuzzy() "camelcase". Solution: Show the error "Invalid value for argument camelcase" instead of "Invalid argument: camelcase" (zeertzjq). Note that using tv_get_string() will lead to confusion, as when the value cannot be converted to a string tv_get_string() will also give an error about that, but "camelcase" takes a boolean, not a string. Also don't use tv_get_string() for the "limit" argument above. closes: vim/vim#16926 https://github.com/vim/vim/commit/c4815c157b27923001e44bfd241fb540bf1fb518
2025-03-27vim-patch:9.1.1214: matchfuzzy() can be improved for camel case matchesglepnir1
Problem: When searching for "Cur", CamelCase matches like "lCursor" score higher than exact prefix matches like Cursor, which is counter-intuitive (Maxim Kim). Solution: Add a 'camelcase' option to matchfuzzy() that lets users disable CamelCase bonuses when needed, making prefix matches rank higher. (glepnir) fixes: vim/vim#16504 closes: vim/vim#16797 https://github.com/vim/vim/commit/28e40a7b55ce471656cccc2260c11a29d5da447e Co-authored-by: glepnir <glephunter@gmail.com>
2025-03-15docs: miscdundargoc1
Co-authored-by: Au. <acehinnnqru@gmail.com> Co-authored-by: Daniel Rainer <daniel.rainer@localhost> Co-authored-by: Evgeni Chasnovski <evgeni.chasnovski@gmail.com> Co-authored-by: Lewis Russell <lewis6991@gmail.com> Co-authored-by: Luuk van Baal <luukvbaal@gmail.com> Co-authored-by: Pierre Barbin <pierre@heitzsystem.com> Co-authored-by: Riley Bruins <ribru17@hotmail.com> Co-authored-by: Yinzuo Jiang <jiangyinzuo@foxmail.com> Co-authored-by: phanium <91544758+phanen@users.noreply.github.com> Co-authored-by: zeertzjq <zeertzjq@outlook.com>
2025-03-13vim-patch:c1c3b5d: runtime(doc): remove unnecessary "an" (#32865)zeertzjq1
"umask" is pronounce like "youmask", so having an "an" before it is a bit strange. In other places in the help, "umask" is not preceded by either "a" or "an", and sometimes preceded by "the". Also, "Note" is usually followed either by ":" or "that" in builtin.txt, so add a ":" after "Note". closes: 16860 https://github.com/vim/vim/commit/c1c3b5d6a0a3032057bf6de8672cc79100bb73c9
2025-03-11vim-patch:0a336cc: runtime(doc): clarify that a umask is applied to mkdir() ↵zeertzjq1
(#32845) fixes: vim/vim#16849 https://github.com/vim/vim/commit/0a336ccb57003c44ba303ccc50cf50cb640c2309 Co-authored-by: Christian Brabandt <cb@256bit.org>
2025-03-02docs: misc #31996Justin M. Keyes1
2025-02-17vim-patch:5647c91: runtime(doc): add reference to extendnew() at extend() ↵zeertzjq1
(#32500) related: vim/vim#16607 https://github.com/vim/vim/commit/5647c91355f1ff3a1030c737bf5133bb7da5bb76 Co-authored-by: Christian Brabandt <cb@256bit.org>
2025-02-16docs: stdpath() type #32480phanium1
2025-02-07vim-patch:9.1.1081: has('bsd') is true for GNU/Hurdzeertzjq1
Problem: has('bsd') is true for GNU/Hurd Solution: exclude GNU/Hurd from BSD feature flag (Zhaoming Luo) GNU/Hurd, like Mac OS X, is a BSD-based system. It should exclude has('bsd') feature just like what Mac OS X does. The __GNU__ pre-defined macro indicates it's compiled for GNU/Hurd. closes: vim/vim#16580 https://github.com/vim/vim/commit/a41dfcd55b1744b44a47d2fc3feb5d5f6207a556 Co-authored-by: Zhaoming Luo <zhmingluo@163.com>
2025-02-03vim-patch:9.1.1070: Cannot control cursor positioning of getchar() (#32303)zeertzjq1
Problem: Cannot control cursor positioning of getchar(). Solution: Add "cursor" flag to {opts}, with possible values "hide", "keep" and "msg". related: vim/vim#10603 closes: vim/vim#16569 https://github.com/vim/vim/commit/edf0f7db28f87611368e158210e58ed30f673098
2025-02-02vim-patch:9.1.1068: getchar() can't distinguish between C-I and Tab (#32295)zeertzjq1
Problem: getchar() can't distinguish between C-I and Tab. Solution: Add {opts} to pass extra flags to getchar() and getcharstr(), with "number" and "simplify" keys. related: vim/vim#10603 closes: vim/vim#16554 https://github.com/vim/vim/commit/e0a2ab397fd13a71efec85b017d5d4d62baf7f63 Cherry-pick tv_dict_has_key() from patch 8.2.4683.
2025-01-17vim-patch:9.1.1020: no way to get current selected item in a async context ↵zeertzjq1
(#32056) Problem: no way to get current selected item in a async context Solution: add completed flag to show the entries of currently selected index item (glepnir) closes: vim/vim#16451 https://github.com/vim/vim/commit/037b028a2219d09bc97be04b300b2c0490c4268d Co-authored-by: glepnir <glephunter@gmail.com>
2025-01-11docs: miscdundargoc1
Co-authored-by: Axel <axelhjq@gmail.com> Co-authored-by: Colin Kennedy <colinvfx@gmail.com> Co-authored-by: Daiki Noda <sys9kdr@users.noreply.github.com> Co-authored-by: Evgeni Chasnovski <evgeni.chasnovski@gmail.com> Co-authored-by: Jean-Jacq du Plessis <1030058+jj-du-plessis@users.noreply.github.com> Co-authored-by: Juan Giordana <juangiordana@gmail.com> Co-authored-by: Lincoln Wallace <locnnil0@gmail.com> Co-authored-by: Matti Hellström <hellstrom@scm.com> Co-authored-by: Steven Locorotondo <steven.locorotondo@justeattakeaway.com> Co-authored-by: Yochem van Rosmalen <git@yochem.nl> Co-authored-by: glepnir <glephunter@gmail.com> Co-authored-by: ifish <fishioon@live.com>
2025-01-07vim-patch:9.1.0991: v:stacktrace has wrong type in Vim9 scriptzeertzjq1
Problem: v:stacktrace has wrong type in Vim9 script. Solution: Change the type to t_list_dict_any. Fix grammar in docs. (zeertzjq) closes: vim/vim#16390 https://github.com/vim/vim/commit/6655bef33047b826e0ccb8c686f3f57e47161b1c
2025-01-07vim-patch:9.1.0984: exception handling can be improvedzeertzjq1
Problem: exception handling can be improved Solution: add v:stacktrace and getstacktrace() closes: vim/vim#16360 https://github.com/vim/vim/commit/663d18d6102f40d14e36096ec590445e61026ed6 Co-authored-by: ichizok <gclient.gaap@gmail.com> Co-authored-by: Naruhiko Nishino <naru123456789@gmail.com>
2024-12-31vim-patch:9.1.0983: not able to get the displayed items in complete_i… ↵glepnir1
(#31796) vim-patch:9.1.0983: not able to get the displayed items in complete_info() Problem: not able to get the displayed items in complete_info() (Evgeni Chasnovski) Solution: return the visible items via the "matches" key for complete_info() (glepnir) fixes: vim/vim#10007 closes: vim/vim#16307 https://github.com/vim/vim/commit/d4088edae21659e14ab5f763c820f4eab9d36981