Show all LSP Clients attached to the Buffer in GalaxyLine Bar (#611)

* [UPDATE] change efm filetypes to only python

* [UPDATE] shows all LSP Clients in galaxyline
This commit is contained in:
Rohit Patil 2021-07-03 20:57:00 +05:30 committed by GitHub
parent ca057a2823
commit f7132edd54
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 31 additions and 2 deletions

View file

@ -26,7 +26,7 @@ require"lspconfig".efm.setup {
-- init_options = {initializationOptions},
cmd = {DATA_PATH .. "/lspinstall/efm/efm-langserver"},
init_options = {documentFormatting = true, codeAction = false},
filetypes = {"lua", "python", "javascriptreact", "javascript", "typescript","typescriptreact","sh", "html", "css", "yaml", "markdown", "vue"},
filetypes = {"python"},
settings = {
rootMarkers = {".git/", "requirements.txt"},
languages = {

View file

@ -178,9 +178,38 @@ table.insert(gls.right, {
}
})
local get_lsp_client = function (msg)
msg = msg or "No Active LSP Client"
local buf_ft = vim.api.nvim_buf_get_option(0, 'filetype')
local clients = vim.lsp.get_active_clients()
if next(clients) == nil then
return msg
end
local lsps = ""
for _,client in ipairs(clients) do
local filetypes = client.config.filetypes
if filetypes and vim.fn.index(filetypes, buf_ft) ~=1 then
print(client.name)
if lsps == "" then
print("first", lsps)
lsps = client.name
else
lsps = lsps .. ", " .. client.name
print("more", lsps)
end
end
end
if lsps == "" then
return msg
else
return lsps
end
end
table.insert(gls.right, {
ShowLspClient = {
provider = 'GetLspClient',
provider = get_lsp_client,
condition = function()
local tbl = {['dashboard'] = true, [' '] = true}
if tbl[vim.bo.filetype] then return false end