diff --git a/lua/lsp-toggle/window.lua b/lua/lsp-toggle/window.lua index 422fe0a..4f07042 100644 --- a/lua/lsp-toggle/window.lua +++ b/lua/lsp-toggle/window.lua @@ -1,11 +1,15 @@ local utils = require('lsp-toggle.utils') local M = {} + +---@type string[] M.out_buf_table = {} ---@param clients table function M.print_display(clients) M.out_buf_table = {} + + -- NOTE: Using `#clients` is not reliable because `clients` is not list-like for _, tb_server in pairs(clients) do table.insert( M.out_buf_table, @@ -15,9 +19,9 @@ function M.print_display(clients) local safe_fn = vim.schedule_wrap(function() vim.api.nvim_buf_set_lines(M.window_buf, 0, -1, false, M.out_buf_table) - vim.api.nvim_set_option_value('modifiable', false, { buf = M.window_buf }) + vim.bo[M.window_buf].modifiable = false end) - vim.api.nvim_set_option_value('modifiable', true, { buf = M.window_buf }) + vim.bo[M.window_buf].modifiable = true safe_fn() end @@ -28,16 +32,14 @@ function M.open_window() return end - local opts = require('lsp-toggle.config').options - utils.merge_table_pf() - local dynamic_height = 0 for _, _ in pairs(utils.clients) do - dynamic_height = dynamic_height + 1 + dynamic_height = dynamic_height + 1 ---@type integer end - if dynamic_height <= 0 or dynamic_height >= opts.max_height then + local opts = require('lsp-toggle.config').options + if dynamic_height < 1 or dynamic_height > opts.max_height then dynamic_height = 1 end