mirror of
https://github.com/neovim/neovim
synced 2025-07-16 09:11:51 +00:00
refactor(lua): deprecate tbl_flatten
Problem: Besides being redundant with vim.iter():flatten(), `tbl_flatten` has these problems: - Has `tbl_` prefix but only accepts lists. - Discards some results! Compare the following: - iter.flatten(): ``` vim.iter({1, { { a = 2 } }, { 3 } }):flatten():totable() ``` - tbl_flatten: ``` vim.tbl_flatten({1, { { a = 2 } }, { 3 } }) ``` Solution: Deprecate tbl_flatten. Note: iter:flatten() currently fails ("flatten() requires a list-like table") on this code from gen_lsp.lua: local anonym = vim.iter({ -- remove nil anonymous_num > 1 and '' or nil, '---@class ' .. anonymous_classname, }):flatten():totable() Should we enhance :flatten() to work for arrays?
This commit is contained in:
@ -259,10 +259,13 @@ function M.gen(opt)
|
||||
if prefix then
|
||||
anonymous_classname = anonymous_classname .. '.' .. prefix
|
||||
end
|
||||
local anonym = vim.tbl_flatten { -- remove nil
|
||||
anonymous_num > 1 and '' or nil,
|
||||
'---@class ' .. anonymous_classname,
|
||||
}
|
||||
local anonym = vim
|
||||
.iter({
|
||||
(anonymous_num > 1 and { '' } or {}),
|
||||
{ '---@class ' .. anonymous_classname },
|
||||
})
|
||||
:flatten()
|
||||
:totable()
|
||||
|
||||
--- @class vim._gen_lsp.StructureLiteral translated to anonymous @class.
|
||||
--- @field deprecated? string
|
||||
|
Reference in New Issue
Block a user