From 15b32cbca9e93ca2ae08a4b54ee7eba5dd5dc1ec Mon Sep 17 00:00:00 2001 From: Matthieu Coudron Date: Thu, 25 Feb 2021 20:18:58 +0100 Subject: feat: add server specific LspInfo --- lua/lspconfig/hls.lua | 7 +++++++ lua/lspconfig/lspinfo.lua | 6 ++++++ 2 files changed, 13 insertions(+) (limited to 'lua') diff --git a/lua/lspconfig/hls.lua b/lua/lspconfig/hls.lua index 0daeeb03..27bdac26 100644 --- a/lua/lspconfig/hls.lua +++ b/lua/lspconfig/hls.lua @@ -11,6 +11,13 @@ configs.hls = { formattingProvider = "ormolu"; }; }; + lspinfo = function (cfg) + -- return "specific" + if cfg.settings.languageServerHaskell.logFile or false then + return "logfile: "..cfg.settings.languageServerHaskell.logFile + end + return "" + end; }; docs = { diff --git a/lua/lspconfig/lspinfo.lua b/lua/lspconfig/lspinfo.lua index f526cd13..75d4071e 100644 --- a/lua/lspconfig/lspinfo.lua +++ b/lua/lspconfig/lspinfo.lua @@ -46,12 +46,18 @@ return function () local indent = " " local function make_client_info(client) + local server_specific_info = "" + if client.config.lspinfo then + server_specific_info = client.config.lspinfo(client.config) + end return { "", indent.."Client: "..client.name.." (id "..tostring(client.id)..")", indent.."\troot: "..client.workspaceFolders[1].name, indent.."\tfiletypes: "..table.concat(client.config.filetypes or {}, ', '), indent.."\tcmd: "..remove_newlines(client.config.cmd), + indent.."\t"..server_specific_info, + "" } end -- cgit v1.2.3-70-g09d2