diff --git a/runtime/doc/builtin.txt b/runtime/doc/builtin.txt index d0e4dd5022..17f3bbb5dc 100644 --- a/runtime/doc/builtin.txt +++ b/runtime/doc/builtin.txt @@ -12106,7 +12106,7 @@ winlayout([{tabnr}]) *winlayout()* • {tabnr} (`integer?`) Return: ~ - (`any[]`) + (`vim.fn.winlayout.ret`) winline() *winline()* The result is a Number, which is the screen line of the cursor diff --git a/runtime/lua/vim/_meta/builtin_types.lua b/runtime/lua/vim/_meta/builtin_types.lua index 763153f38d..6886cd6bb7 100644 --- a/runtime/lua/vim/_meta/builtin_types.lua +++ b/runtime/lua/vim/_meta/builtin_types.lua @@ -297,3 +297,18 @@ --- 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.lua b/runtime/lua/vim/_meta/vimfn.lua index 30bd45c889..6a84f3a270 100644 --- a/runtime/lua/vim/_meta/vimfn.lua +++ b/runtime/lua/vim/_meta/vimfn.lua @@ -11002,7 +11002,7 @@ function vim.fn.winheight(nr) end --- < --- --- @param tabnr? integer ---- @return any[] +--- @return vim.fn.winlayout.ret function vim.fn.winlayout(tabnr) end --- The result is a Number, which is the screen line of the cursor diff --git a/src/nvim/eval.lua b/src/nvim/eval.lua index 40a1853b44..ce55d511c5 100644 --- a/src/nvim/eval.lua +++ b/src/nvim/eval.lua @@ -13321,7 +13321,7 @@ M.funcs = { ]=], name = 'winlayout', params = { { 'tabnr', 'integer' } }, - returns = 'any[]', + returns = 'vim.fn.winlayout.ret', signature = 'winlayout([{tabnr}])', }, winline = {