mirror of
https://github.com/NotAShelf/nvf.git
synced 2025-04-01 10:41:52 +00:00
statusline/lualine: rewrite LSP client component
This commit is contained in:
parent
e133d68ecc
commit
33b4d9da44
1 changed files with 13 additions and 22 deletions
|
@ -239,35 +239,26 @@ in {
|
|||
{
|
||||
-- Lsp server name
|
||||
function()
|
||||
local buf_ft = vim.api.nvim_get_option_value('filetype', {})
|
||||
local buf_ft = vim.bo.filetype
|
||||
local excluded_buf_ft = { toggleterm = true, NvimTree = true, ["neo-tree"] = true, TelescopePrompt = true }
|
||||
|
||||
-- List of buffer types to exclude
|
||||
local excluded_buf_ft = {"toggleterm", "NvimTree", "neo-tree", "TelescopePrompt"}
|
||||
|
||||
-- Check if the current buffer type is in the excluded list
|
||||
for _, excluded_type in ipairs(excluded_buf_ft) do
|
||||
if buf_ft == excluded_type then
|
||||
return ""
|
||||
if excluded_buf_ft[buf_ft] then
|
||||
return ""
|
||||
end
|
||||
|
||||
local bufnr = vim.api.nvim_get_current_buf()
|
||||
local clients = vim.lsp.get_clients({ bufnr = bufnr })
|
||||
|
||||
if vim.tbl_isempty(clients) then
|
||||
return "No Active LSP"
|
||||
end
|
||||
|
||||
-- Get the name of the LSP server active in the current buffer
|
||||
local clients = vim.lsp.get_active_clients()
|
||||
local msg = 'No Active Lsp'
|
||||
|
||||
-- if no lsp client is attached then return the msg
|
||||
if next(clients) == nil then
|
||||
return msg
|
||||
end
|
||||
|
||||
local active_clients = {}
|
||||
for _, client in ipairs(clients) do
|
||||
local filetypes = client.config.filetypes
|
||||
if filetypes and vim.fn.index(filetypes, buf_ft) ~= -1 then
|
||||
return client.name
|
||||
end
|
||||
table.insert(active_clients, client.name)
|
||||
end
|
||||
|
||||
return msg
|
||||
return table.concat(active_clients, ", ")
|
||||
end,
|
||||
icon = ' ',
|
||||
separator = {left = ''},
|
||||
|
|
Loading…
Add table
Reference in a new issue