From aea9aeee7804449136e8a4e8abe73d07e0202713 Mon Sep 17 00:00:00 2001 From: "Justin M. Keyes" Date: Thu, 7 May 2026 17:21:04 -0400 Subject: refactor: _meta/builtin_types.lua => vimfn_types.lua #39658 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Problem: `builtin_types.lua` seems to be about vimfn (aka "eval", aka "vimscript", …) specifically, whereas `builtin.lua` is about the Lua stdlib. Solution: Rename it to `vimfn_types.lua`, to align with `vimfn.gen.lua`. --- runtime/lua/vim/_meta/builtin_types.lua | 327 -------------------------------- runtime/lua/vim/_meta/vimfn_types.lua | 327 ++++++++++++++++++++++++++++++++ 2 files changed, 327 insertions(+), 327 deletions(-) delete mode 100644 runtime/lua/vim/_meta/builtin_types.lua create mode 100644 runtime/lua/vim/_meta/vimfn_types.lua (limited to 'runtime/lua/vim/_meta') diff --git a/runtime/lua/vim/_meta/builtin_types.lua b/runtime/lua/vim/_meta/builtin_types.lua deleted file mode 100644 index 1754853182..0000000000 --- a/runtime/lua/vim/_meta/builtin_types.lua +++ /dev/null @@ -1,327 +0,0 @@ ---- @meta --- This file is NOT generated, edit it directly. -error('Cannot require a meta file') - ---- @class vim.fn.sign ---- @field group string ---- @field id integer ---- @field lnum integer ---- @field name string ---- @field priority integer - ---- @class vim.fn.getbufinfo.dict ---- @field buflisted? 0|1 ---- @field bufloaded? 0|1 ---- @field bufmodified? 0|1 - ---- @class vim.fn.getbufinfo.ret.item ---- @field bufnr integer ---- @field changed 0|1 ---- @field changedtick integer ---- @field hidden 0|1 ---- @field lastused integer ---- @field linecount integer ---- @field listed 0|1 ---- @field lnum integer ---- @field loaded 0|1 ---- @field name string ---- @field signs vim.fn.sign[] ---- @field variables table ---- @field windows integer[] - ---- @alias vim.fn.getjumplist.ret [vim.fn.getjumplist.ret.item[], integer] - ---- @class vim.fn.getjumplist.ret.item ---- @field bufnr integer ---- @field col integer ---- @field coladd integer ---- @field filename? string ---- @field lnum integer - ---- @class vim.fn.getmarklist.ret.item ---- @field mark string ---- @field pos [integer, integer, integer, integer] ---- @field file string - ---- @class vim.fn.getmatches.ret.item ---- @field id integer ---- @field group string ---- @field pattern? string ---- @field priority integer ---- @field conceal? string ---- @field [string] [integer, integer, integer] all strings of format 'pos%d' - ---- @class vim.fn.getmousepos.ret ---- @field screenrow integer ---- @field screencol integer ---- @field winid integer ---- @field winrow integer ---- @field wincol integer ---- @field line integer ---- @field column integer - ---- @class vim.fn.getwininfo.ret.item ---- @field botline integer ---- @field bufnr integer ---- @field height integer ---- @field leftcol integer ---- @field loclist integer ---- @field quickfix integer ---- @field tabnr integer ---- @field terminal integer ---- @field textoff integer ---- @field topline integer ---- @field variables table ---- @field width integer ---- @field winbar integer ---- @field wincol integer ---- @field winid integer ---- @field winnr integer ---- @field winrow integer - ---- @class vim.quickfix.entry ---- buffer number; must be the number of a valid buffer ---- @field bufnr? integer ---- ---- name of a file; only used when "bufnr" is not ---- present or it is invalid. ---- @field filename? string ---- ---- name of a module; if given it will be used in ---- quickfix error window instead of the filename. ---- @field module? string ---- ---- line number in the file ---- @field lnum? integer ---- ---- end of lines, if the item spans multiple lines ---- @field end_lnum? integer ---- ---- search pattern used to locate the error ---- @field pattern? string ---- ---- column number ---- @field col? integer ---- ---- when non-zero: "col" is visual column ---- when zero: "col" is byte index ---- @field vcol? integer ---- ---- end column, if the item spans multiple columns ---- @field end_col? integer ---- ---- error number ---- @field nr? integer ---- ---- description of the error ---- @field text? string ---- ---- single-character error type, 'E', 'W', etc. ---- @field type? string ---- ---- recognized error message ---- @field valid? boolean ---- ---- custom data associated with the item, can be ---- any type. ---- @field user_data? any - ---- @class vim.fn.setqflist.what ---- ---- quickfix list context. See |quickfix-context| ---- @field context? table ---- ---- errorformat to use when parsing text from ---- "lines". If this is not present, then the ---- 'errorformat' option value is used. ---- See |quickfix-parse| ---- @field efm? string ---- ---- quickfix list identifier |quickfix-ID| ---- @field id? integer ---- index of the current entry in the quickfix ---- list specified by "id" or "nr". If set to '$', ---- then the last entry in the list is set as the ---- current entry. See |quickfix-index| ---- @field idx? integer ---- ---- list of quickfix entries. Same as the {list} ---- argument. ---- @field items? vim.quickfix.entry[] ---- ---- use 'errorformat' to parse a list of lines and ---- add the resulting entries to the quickfix list ---- {nr} or {id}. Only a |List| value is supported. ---- See |quickfix-parse| ---- @field lines? string[] ---- ---- list number in the quickfix stack; zero ---- means the current quickfix list and "$" means ---- the last quickfix list. ---- @field nr? integer|'$' ---- ---- function to get the text to display in the ---- quickfix window. The value can be the name of ---- a function or a funcref or a lambda. Refer ---- to |quickfix-window-function| for an explanation ---- of how to write the function and an example. ---- @field quickfixtextfunc? string|function ---- ---- quickfix list title text. See |quickfix-title| ---- @field title? string - ---- @class vim.fn.sign_define.dict ---- @field text string ---- @field icon? string ---- @field linehl? string ---- @field numhl? string ---- @field texthl? string ---- @field culhl? string - ---- @class vim.fn.sign_getdefined.ret.item ---- @field name string ---- @field text string ---- @field icon? string ---- @field texthl? string ---- @field culhl? string ---- @field numhl? string ---- @field linehl? string - ---- @class vim.fn.sign_getplaced.dict ---- @field group? string ---- @field id? integer ---- @field lnum? string|integer - ---- @class vim.fn.sign_getplaced.ret.item ---- @field bufnr integer ---- @field signs vim.fn.sign[] - ---- @class vim.fn.sign_place.dict ---- @field lnum? integer|string ---- @field priority? integer - ---- @class vim.fn.sign_placelist.list.item ---- @field buffer integer|string ---- @field group? string ---- @field id? integer ---- @field lnum? integer|string ---- @field name string ---- @field priority? integer - ---- @class vim.fn.sign_unplace.dict ---- @field buffer? integer|string ---- @field id? integer - ---- @class vim.fn.sign_unplacelist.list.item ---- @field buffer? integer|string ---- @field group? string ---- @field id? integer - ---- @class vim.fn.winrestview.dict ---- @field col? integer ---- @field coladd? integer ---- @field curswant? integer ---- @field leftcol? integer ---- @field lnum? integer ---- @field skipcol? integer ---- @field topfill? integer ---- @field topline? integer - ---- @class vim.fn.winsaveview.ret: vim.fn.winrestview.dict ---- @field col integer ---- @field coladd integer ---- @field curswant integer ---- @field leftcol integer ---- @field lnum integer ---- @field skipcol integer ---- @field topfill integer ---- @field topline integer - ---- @class vim.fn.getscriptinfo.ret ---- @field autoload false ---- @field functions? string[] ---- @field name string ---- @field sid string ---- @field variables? table ---- @field version 1 - ---- @class vim.fn.undotree.entry ---- ---- Undo sequence number. Same as what appears in ---- \|:undolist|. ---- @field seq integer ---- ---- Timestamp when the change happened. Use ---- \|strftime()| to convert to something readable. ---- @field time integer ---- ---- Only appears in the item that is the last one ---- that was added. This marks the last change ---- and where further changes will be added. ---- @field newhead? integer ---- ---- Only appears in the item that is the last one ---- that was undone. This marks the current ---- position in the undo tree, the block that will ---- be used by a redo command. When nothing was ---- undone after the last change this item will ---- not appear anywhere. ---- @field curhead? integer ---- ---- Only appears on the last block before a file ---- write. The number is the write count. The ---- first write has number 1, the last one the ---- "save_last" mentioned above. ---- @field save? integer ---- ---- Alternate entry. This is again a List of undo ---- blocks. Each item may again have an "alt" ---- item. ---- @field alt? vim.fn.undotree.entry[] - ---- @class vim.fn.undotree.ret ---- ---- The highest undo sequence number used. ---- @field seq_last integer ---- ---- The sequence number of the current position in ---- the undo tree. This differs from "seq_last" ---- when some changes were undone. ---- @field seq_cur integer ---- ---- Time last used for |:earlier| and related ---- commands. Use |strftime()| to convert to ---- something readable. ---- @field time_cur integer ---- ---- Number of the last file write. Zero when no ---- write yet. ---- @field save_last integer ---- ---- Number of the current position in the undo ---- tree. ---- @field save_cur integer ---- ---- Non-zero when the last undo block was synced. ---- This happens when waiting from input from the ---- user. See |undo-blocks|. ---- @field synced integer ---- ---- A list of dictionaries with information about ---- undo blocks. ---- @field entries vim.fn.undotree.entry[] - ---- @class vim.fn.winlayout.leaf ---- @field [1] "leaf" Node type ---- @field [2] integer winid - ---- @class vim.fn.winlayout.branch ---- @field [1] "row" | "col" Node type ---- @field [2] (vim.fn.winlayout.leaf|vim.fn.winlayout.branch)[] children - ---- @class vim.fn.winlayout.empty - ---- @alias vim.fn.winlayout.ret ---- | vim.fn.winlayout.leaf ---- | vim.fn.winlayout.branch ---- | vim.fn.winlayout.empty diff --git a/runtime/lua/vim/_meta/vimfn_types.lua b/runtime/lua/vim/_meta/vimfn_types.lua new file mode 100644 index 0000000000..1754853182 --- /dev/null +++ b/runtime/lua/vim/_meta/vimfn_types.lua @@ -0,0 +1,327 @@ +--- @meta +-- This file is NOT generated, edit it directly. +error('Cannot require a meta file') + +--- @class vim.fn.sign +--- @field group string +--- @field id integer +--- @field lnum integer +--- @field name string +--- @field priority integer + +--- @class vim.fn.getbufinfo.dict +--- @field buflisted? 0|1 +--- @field bufloaded? 0|1 +--- @field bufmodified? 0|1 + +--- @class vim.fn.getbufinfo.ret.item +--- @field bufnr integer +--- @field changed 0|1 +--- @field changedtick integer +--- @field hidden 0|1 +--- @field lastused integer +--- @field linecount integer +--- @field listed 0|1 +--- @field lnum integer +--- @field loaded 0|1 +--- @field name string +--- @field signs vim.fn.sign[] +--- @field variables table +--- @field windows integer[] + +--- @alias vim.fn.getjumplist.ret [vim.fn.getjumplist.ret.item[], integer] + +--- @class vim.fn.getjumplist.ret.item +--- @field bufnr integer +--- @field col integer +--- @field coladd integer +--- @field filename? string +--- @field lnum integer + +--- @class vim.fn.getmarklist.ret.item +--- @field mark string +--- @field pos [integer, integer, integer, integer] +--- @field file string + +--- @class vim.fn.getmatches.ret.item +--- @field id integer +--- @field group string +--- @field pattern? string +--- @field priority integer +--- @field conceal? string +--- @field [string] [integer, integer, integer] all strings of format 'pos%d' + +--- @class vim.fn.getmousepos.ret +--- @field screenrow integer +--- @field screencol integer +--- @field winid integer +--- @field winrow integer +--- @field wincol integer +--- @field line integer +--- @field column integer + +--- @class vim.fn.getwininfo.ret.item +--- @field botline integer +--- @field bufnr integer +--- @field height integer +--- @field leftcol integer +--- @field loclist integer +--- @field quickfix integer +--- @field tabnr integer +--- @field terminal integer +--- @field textoff integer +--- @field topline integer +--- @field variables table +--- @field width integer +--- @field winbar integer +--- @field wincol integer +--- @field winid integer +--- @field winnr integer +--- @field winrow integer + +--- @class vim.quickfix.entry +--- buffer number; must be the number of a valid buffer +--- @field bufnr? integer +--- +--- name of a file; only used when "bufnr" is not +--- present or it is invalid. +--- @field filename? string +--- +--- name of a module; if given it will be used in +--- quickfix error window instead of the filename. +--- @field module? string +--- +--- line number in the file +--- @field lnum? integer +--- +--- end of lines, if the item spans multiple lines +--- @field end_lnum? integer +--- +--- search pattern used to locate the error +--- @field pattern? string +--- +--- column number +--- @field col? integer +--- +--- when non-zero: "col" is visual column +--- when zero: "col" is byte index +--- @field vcol? integer +--- +--- end column, if the item spans multiple columns +--- @field end_col? integer +--- +--- error number +--- @field nr? integer +--- +--- description of the error +--- @field text? string +--- +--- single-character error type, 'E', 'W', etc. +--- @field type? string +--- +--- recognized error message +--- @field valid? boolean +--- +--- custom data associated with the item, can be +--- any type. +--- @field user_data? any + +--- @class vim.fn.setqflist.what +--- +--- quickfix list context. See |quickfix-context| +--- @field context? table +--- +--- errorformat to use when parsing text from +--- "lines". If this is not present, then the +--- 'errorformat' option value is used. +--- See |quickfix-parse| +--- @field efm? string +--- +--- quickfix list identifier |quickfix-ID| +--- @field id? integer +--- index of the current entry in the quickfix +--- list specified by "id" or "nr". If set to '$', +--- then the last entry in the list is set as the +--- current entry. See |quickfix-index| +--- @field idx? integer +--- +--- list of quickfix entries. Same as the {list} +--- argument. +--- @field items? vim.quickfix.entry[] +--- +--- use 'errorformat' to parse a list of lines and +--- add the resulting entries to the quickfix list +--- {nr} or {id}. Only a |List| value is supported. +--- See |quickfix-parse| +--- @field lines? string[] +--- +--- list number in the quickfix stack; zero +--- means the current quickfix list and "$" means +--- the last quickfix list. +--- @field nr? integer|'$' +--- +--- function to get the text to display in the +--- quickfix window. The value can be the name of +--- a function or a funcref or a lambda. Refer +--- to |quickfix-window-function| for an explanation +--- of how to write the function and an example. +--- @field quickfixtextfunc? string|function +--- +--- quickfix list title text. See |quickfix-title| +--- @field title? string + +--- @class vim.fn.sign_define.dict +--- @field text string +--- @field icon? string +--- @field linehl? string +--- @field numhl? string +--- @field texthl? string +--- @field culhl? string + +--- @class vim.fn.sign_getdefined.ret.item +--- @field name string +--- @field text string +--- @field icon? string +--- @field texthl? string +--- @field culhl? string +--- @field numhl? string +--- @field linehl? string + +--- @class vim.fn.sign_getplaced.dict +--- @field group? string +--- @field id? integer +--- @field lnum? string|integer + +--- @class vim.fn.sign_getplaced.ret.item +--- @field bufnr integer +--- @field signs vim.fn.sign[] + +--- @class vim.fn.sign_place.dict +--- @field lnum? integer|string +--- @field priority? integer + +--- @class vim.fn.sign_placelist.list.item +--- @field buffer integer|string +--- @field group? string +--- @field id? integer +--- @field lnum? integer|string +--- @field name string +--- @field priority? integer + +--- @class vim.fn.sign_unplace.dict +--- @field buffer? integer|string +--- @field id? integer + +--- @class vim.fn.sign_unplacelist.list.item +--- @field buffer? integer|string +--- @field group? string +--- @field id? integer + +--- @class vim.fn.winrestview.dict +--- @field col? integer +--- @field coladd? integer +--- @field curswant? integer +--- @field leftcol? integer +--- @field lnum? integer +--- @field skipcol? integer +--- @field topfill? integer +--- @field topline? integer + +--- @class vim.fn.winsaveview.ret: vim.fn.winrestview.dict +--- @field col integer +--- @field coladd integer +--- @field curswant integer +--- @field leftcol integer +--- @field lnum integer +--- @field skipcol integer +--- @field topfill integer +--- @field topline integer + +--- @class vim.fn.getscriptinfo.ret +--- @field autoload false +--- @field functions? string[] +--- @field name string +--- @field sid string +--- @field variables? table +--- @field version 1 + +--- @class vim.fn.undotree.entry +--- +--- Undo sequence number. Same as what appears in +--- \|:undolist|. +--- @field seq integer +--- +--- Timestamp when the change happened. Use +--- \|strftime()| to convert to something readable. +--- @field time integer +--- +--- Only appears in the item that is the last one +--- that was added. This marks the last change +--- and where further changes will be added. +--- @field newhead? integer +--- +--- Only appears in the item that is the last one +--- that was undone. This marks the current +--- position in the undo tree, the block that will +--- be used by a redo command. When nothing was +--- undone after the last change this item will +--- not appear anywhere. +--- @field curhead? integer +--- +--- Only appears on the last block before a file +--- write. The number is the write count. The +--- first write has number 1, the last one the +--- "save_last" mentioned above. +--- @field save? integer +--- +--- Alternate entry. This is again a List of undo +--- blocks. Each item may again have an "alt" +--- item. +--- @field alt? vim.fn.undotree.entry[] + +--- @class vim.fn.undotree.ret +--- +--- The highest undo sequence number used. +--- @field seq_last integer +--- +--- The sequence number of the current position in +--- the undo tree. This differs from "seq_last" +--- when some changes were undone. +--- @field seq_cur integer +--- +--- Time last used for |:earlier| and related +--- commands. Use |strftime()| to convert to +--- something readable. +--- @field time_cur integer +--- +--- Number of the last file write. Zero when no +--- write yet. +--- @field save_last integer +--- +--- Number of the current position in the undo +--- tree. +--- @field save_cur integer +--- +--- Non-zero when the last undo block was synced. +--- This happens when waiting from input from the +--- user. See |undo-blocks|. +--- @field synced integer +--- +--- A list of dictionaries with information about +--- undo blocks. +--- @field entries vim.fn.undotree.entry[] + +--- @class vim.fn.winlayout.leaf +--- @field [1] "leaf" Node type +--- @field [2] integer winid + +--- @class vim.fn.winlayout.branch +--- @field [1] "row" | "col" Node type +--- @field [2] (vim.fn.winlayout.leaf|vim.fn.winlayout.branch)[] children + +--- @class vim.fn.winlayout.empty + +--- @alias vim.fn.winlayout.ret +--- | vim.fn.winlayout.leaf +--- | vim.fn.winlayout.branch +--- | vim.fn.winlayout.empty -- cgit