From d7c7dc70ff4b29bf8727d7f2d3f623f4b85ef001 Mon Sep 17 00:00:00 2001 From: Pablo Fonseca Date: Tue, 21 May 2024 17:18:28 +0100 Subject: [PATCH] fix: replace tbl_flatten to flatten():totable() (#912) * fix: replace tbl_flatten to flatten():totable() - support nvim < 0.10 * fix: extract nvim version check to a variable * fix: check if is nvim 0.11 for flatten() --- lua/bufferline/ui.lua | 2 +- lua/bufferline/utils/init.lua | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/lua/bufferline/ui.lua b/lua/bufferline/ui.lua index 79c43c1a..37361e6c 100644 --- a/lua/bufferline/ui.lua +++ b/lua/bufferline/ui.lua @@ -568,7 +568,7 @@ local function to_tabline_str(component) table.insert(str, 1, attr[1]) table.insert(str, #str + 1, attr[1]) end - return table.concat(vim.tbl_flatten(str)) + return table.concat(utils.tbl_flatten(str)) end --- PREREQUISITE: active buffer always remains in view diff --git a/lua/bufferline/utils/init.lua b/lua/bufferline/utils/init.lua index a87b7207..d3c3d120 100644 --- a/lua/bufferline/utils/init.lua +++ b/lua/bufferline/utils/init.lua @@ -10,6 +10,8 @@ local M = {} local fn, api = vim.fn, vim.api local strwidth = api.nvim_strwidth +local isNvimEleven = vim.fn.has("nvim-0.11") == 1 + function M.is_test() ---@diagnostic disable-next-line: undefined-global return __TEST @@ -275,4 +277,8 @@ else M.is_list = vim.tbl_isarray or vim.tbl_islist end +function M.tbl_flatten(t) + return isNvimEleven and vim.iter(t):flatten(math.huge):totable() or vim.tbl_flatten(t) +end + return M