summaryrefslogtreecommitdiff
path: root/lua/lsp
diff options
context:
space:
mode:
authorkylo252 <[email protected]>2021-08-09 19:02:37 +0200
committerGitHub <[email protected]>2021-08-09 19:02:37 +0200
commit405423108fc31981c40116a827e845a1179c9053 (patch)
tree41a7cb23536c982ccdc3402ab9d4602f2538eb40 /lua/lsp
parent625df947dcacf3804f4ec7335478535ecd8219af (diff)
feat: Add an async logger using plenary (#1207)
Co-authored-by: rebuilt <[email protected]>
Diffstat (limited to 'lua/lsp')
-rw-r--r--lua/lsp/init.lua11
-rw-r--r--lua/lsp/null-ls.lua20
2 files changed, 18 insertions, 13 deletions
diff --git a/lua/lsp/init.lua b/lua/lsp/init.lua
index 020c4313..0d08ecee 100644
--- a/lua/lsp/init.lua
+++ b/lua/lsp/init.lua
@@ -1,6 +1,5 @@
local M = {}
-local u = require "utils"
-
+local Log = require "core.log"
function M.config()
vim.lsp.protocol.CompletionItemKind = lvim.lsp.completion.item_kind
@@ -93,9 +92,7 @@ function M.get_ls_capabilities(client_id)
for k, v in pairs(client.resolved_capabilities) do
if v == true then
- -- print("got cap: ", vim.inspect(caps))
table.insert(enabled_caps, k)
- -- vim.list_extend(enabled_caps, cap)
end
end
@@ -105,19 +102,23 @@ end
function M.common_on_init(client, bufnr)
if lvim.lsp.on_init_callback then
lvim.lsp.on_init_callback(client, bufnr)
+ Log:get_default().info "Called lsp.on_init_callback"
return
end
local formatters = lvim.lang[vim.bo.filetype].formatters
if not vim.tbl_isempty(formatters) and formatters[1]["exe"] ~= nil and formatters[1].exe ~= "" then
client.resolved_capabilities.document_formatting = false
- u.lvim_log(string.format("Overriding [%s] formatter with [%s]", client.name, formatters[1].exe))
+ Log:get_default().info(
+ string.format("Overriding language server [%s] with format provider [%s]", client.name, formatters[1].exe)
+ )
end
end
function M.common_on_attach(client, bufnr)
if lvim.lsp.on_attach_callback then
lvim.lsp.on_attach_callback(client, bufnr)
+ Log:get_default().info "Called lsp.on_init_callback"
end
lsp_highlight_document(client)
add_lsp_buffer_keybindings(bufnr)
diff --git a/lua/lsp/null-ls.lua b/lua/lsp/null-ls.lua
index 19727e15..c5388109 100644
--- a/lua/lsp/null-ls.lua
+++ b/lua/lsp/null-ls.lua
@@ -1,5 +1,6 @@
local M = {}
-local u = require "utils"
+local Log = require "core.log"
+
local null_ls = require "null-ls"
local nodejs_local_providers = { "prettier", "prettierd", "prettier_d_slim", "eslint_d", "eslint" }
@@ -54,20 +55,21 @@ local function validate_nodejs_provider(provider)
--- use LSP to set root_dir
local ts_client = require("utils").get_active_client_by_ft "typescript"
if ts_client == nil then
- u.lvim_log "Unable to determine root directory since tsserver didn't start correctly"
+ Log:get_default().error "Unable to determine root directory since tsserver didn't start correctly"
return
end
root_dir = ts_client.config.root_dir
end
local local_nodejs_command = root_dir .. "/node_modules/.bin/" .. provider._opts.command
- u.lvim_log(string.format("checking [%s] for local node module: [%s]", local_nodejs_command, vim.inspect(provider)))
+ Log:get_default().debug("checking for local node module: ", vim.inspect(provider))
+
if vim.fn.executable(local_nodejs_command) == 1 then
command_path = local_nodejs_command
elseif vim.fn.executable(provider._opts.command) == 1 then
- u.lvim_log(string.format("checking in global path instead for node module: [%s]", provider._opts.command))
+ Log:get_default().debug("checking in global path instead for node module", provider._opts.command)
command_path = provider._opts.command
else
- u.lvim_log(string.format("Unable to find node module: [%s]", provider._opts.command))
+ Log:get_default().debug("Unable to find node module", provider._opts.command)
end
return command_path
end
@@ -81,7 +83,7 @@ local function validate_provider_request(provider)
return validate_nodejs_provider(provider)
end
if vim.fn.executable(provider._opts.command) ~= 1 then
- u.lvim_log(string.format("Unable to find the path for: [%s]", vim.inspect(provider)))
+ Log:get_default().warn("Unable to find the path for", vim.inspect(provider))
return
end
return provider._opts.command
@@ -90,6 +92,7 @@ end
-- TODO: for linters and formatters with spaces and '-' replace with '_'
function M.setup(filetype)
for _, formatter in pairs(lvim.lang[filetype].formatters) do
+ Log:get_default().debug("validating format provider: ", formatter.exe)
local builtin_formatter = null_ls.builtins.formatting[formatter.exe]
if not vim.tbl_contains(M.requested_providers, builtin_formatter) then
-- FIXME: why doesn't this work?
@@ -99,7 +102,7 @@ function M.setup(filetype)
if resolved_path then
builtin_formatter._opts.command = resolved_path
table.insert(M.requested_providers, builtin_formatter)
- u.lvim_log(string.format("Using format provider: [%s]", builtin_formatter.name))
+ Log:get_default().info("Using format provider", builtin_formatter.name)
else
-- mark it here to avoid re-doing the lookup again
register_failed_request(filetype, formatter.exe, "formatters")
@@ -109,6 +112,7 @@ function M.setup(filetype)
for _, linter in pairs(lvim.lang[filetype].linters) do
local builtin_diagnoser = null_ls.builtins.diagnostics[linter.exe]
+ Log:get_default().debug("validating lint provider: ", linter.exe)
-- special case: fallback to "eslint"
-- https://github.com/jose-elias-alvarez/null-ls.nvim/blob/9b8458bd1648e84169a7e8638091ba15c2f20fc0/doc/BUILTINS.md#eslint
-- if provider.exe
@@ -123,7 +127,7 @@ function M.setup(filetype)
if resolved_path then
builtin_diagnoser._opts.command = resolved_path
table.insert(M.requested_providers, builtin_diagnoser)
- u.lvim_log(string.format("Using linter provider: [%s]", builtin_diagnoser.name))
+ Log:get_default().info("Using linter provider", builtin_diagnoser.name)
else
-- mark it here to avoid re-doing the lookup again
register_failed_request(filetype, linter.exe, "linters")