aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--runtime/doc/lua.txt14
-rw-r--r--runtime/lua/vim/health.lua17
-rw-r--r--runtime/lua/vim/lsp/client.lua2
-rw-r--r--runtime/lua/vim/lsp/handlers.lua2
-rw-r--r--runtime/lua/vim/shared.lua1
-rw-r--r--scripts/gen_lsp.lua11
-rw-r--r--test/functional/core/fileio_spec.lua4
7 files changed, 21 insertions, 30 deletions
diff --git a/runtime/doc/lua.txt b/runtime/doc/lua.txt
index de1e432790..eaf61ff3fe 100644
--- a/runtime/doc/lua.txt
+++ b/runtime/doc/lua.txt
@@ -2285,20 +2285,6 @@ vim.tbl_filter({func}, {t}) *vim.tbl_filter()*
Return: ~
(`any[]`) Table of filtered values
-vim.tbl_flatten({t}) *vim.tbl_flatten()*
- Creates a copy of a list-like table such that any nested tables are
- "unrolled" and appended to the result.
-
- Parameters: ~
- • {t} (`table`) List-like table
-
- Return: ~
- (`table`) Flattened copy of the given list-like table
-
- See also: ~
- • From
- https://github.com/premake/premake-core/blob/master/src/base/table.lua
-
vim.tbl_get({o}, {...}) *vim.tbl_get()*
Index into a table (first argument) via string keys passed as subsequent
arguments. Return `nil` if the key does not exist.
diff --git a/runtime/lua/vim/health.lua b/runtime/lua/vim/health.lua
index 18d20d4b40..8326214604 100644
--- a/runtime/lua/vim/health.lua
+++ b/runtime/lua/vim/health.lua
@@ -366,14 +366,15 @@ end
local PATTERNS = { '/autoload/health/*.vim', '/lua/**/**/health.lua', '/lua/**/**/health/init.lua' }
--- :checkhealth completion function used by cmdexpand.c get_healthcheck_names()
M._complete = function()
- local names = vim.tbl_flatten(vim.tbl_map(function(pattern)
- return vim.tbl_map(path2name, vim.api.nvim_get_runtime_file(pattern, true))
- end, PATTERNS))
- -- Remove duplicates
- local unique = {}
- vim.tbl_map(function(f)
- unique[f] = true
- end, names)
+ local unique = vim
+ .iter(vim.tbl_map(function(pattern)
+ return vim.tbl_map(path2name, vim.api.nvim_get_runtime_file(pattern, true))
+ end, PATTERNS))
+ :flatten()
+ :fold({}, function(t, name)
+ t[name] = true -- Remove duplicates
+ return t
+ end)
-- vim.health is this file, which is not a healthcheck
unique['vim'] = nil
return vim.tbl_keys(unique)
diff --git a/runtime/lua/vim/lsp/client.lua b/runtime/lua/vim/lsp/client.lua
index 09064b9510..98b3cfc762 100644
--- a/runtime/lua/vim/lsp/client.lua
+++ b/runtime/lua/vim/lsp/client.lua
@@ -722,7 +722,7 @@ local wait_result_reason = { [-1] = 'timeout', [-2] = 'interrupted', [-3] = 'err
---
--- @param ... string List to write to the buffer
local function err_message(...)
- local message = table.concat(vim.tbl_flatten({ ... }))
+ local message = table.concat(vim.iter({ ... }):flatten():totable())
if vim.in_fast_event() then
vim.schedule(function()
api.nvim_err_writeln(message)
diff --git a/runtime/lua/vim/lsp/handlers.lua b/runtime/lua/vim/lsp/handlers.lua
index d6579cf4b3..4672d94105 100644
--- a/runtime/lua/vim/lsp/handlers.lua
+++ b/runtime/lua/vim/lsp/handlers.lua
@@ -12,7 +12,7 @@ local M = {}
--- Writes to error buffer.
---@param ... string Will be concatenated before being written
local function err_message(...)
- vim.notify(table.concat(vim.tbl_flatten({ ... })), vim.log.levels.ERROR)
+ vim.notify(table.concat(vim.iter({ ... }):flatten():totable()), vim.log.levels.ERROR)
api.nvim_command('redraw')
end
diff --git a/runtime/lua/vim/shared.lua b/runtime/lua/vim/shared.lua
index 85720b6ea3..5bbf8801e8 100644
--- a/runtime/lua/vim/shared.lua
+++ b/runtime/lua/vim/shared.lua
@@ -544,6 +544,7 @@ function vim.list_extend(dst, src, start, finish)
return dst
end
+--- @deprecated
--- Creates a copy of a list-like table such that any nested tables are
--- "unrolled" and appended to the result.
---
diff --git a/scripts/gen_lsp.lua b/scripts/gen_lsp.lua
index 19fad7bab4..04d19f22e6 100644
--- a/scripts/gen_lsp.lua
+++ b/scripts/gen_lsp.lua
@@ -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
diff --git a/test/functional/core/fileio_spec.lua b/test/functional/core/fileio_spec.lua
index 04d745a6c3..349f79e316 100644
--- a/test/functional/core/fileio_spec.lua
+++ b/test/functional/core/fileio_spec.lua
@@ -54,7 +54,7 @@ describe('fileio', function()
--- Starts a new nvim session and returns an attached screen.
local function startup(extra_args)
extra_args = extra_args or {}
- local argv = vim.tbl_flatten({ args, '--embed', extra_args })
+ local argv = vim.iter({ args, '--embed', extra_args }):flatten():totable()
local screen_nvim = spawn(argv)
set_session(screen_nvim)
local screen = Screen.new(70, 10)
@@ -100,7 +100,7 @@ describe('fileio', function()
eq('foozubbaz', trim(read_file('Xtest_startup_file1')))
-- 4. Exit caused by deadly signal (+ 'swapfile').
- local j = fn.jobstart(vim.tbl_flatten({ args, '--embed' }), { rpc = true })
+ local j = fn.jobstart(vim.iter({ args, '--embed' }):flatten():totable(), { rpc = true })
fn.rpcrequest(
j,
'nvim_exec2',