mirror of
https://github.com/neovim/neovim
synced 2025-07-16 01:01:49 +00:00
fix(lsp): use vim.notify for all message types #34489
Problem: Currently, vim.notify is only used to display messages when the message type is Error. Solution: Use vim.notify to display messages for all message types.
This commit is contained in:
@ -588,12 +588,8 @@ NSC['window/showMessage'] = function(_, params, ctx)
|
||||
if not client then
|
||||
err_message('LSP[', client_name, '] client has shut down after sending ', message)
|
||||
end
|
||||
if message_type == protocol.MessageType.Error then
|
||||
err_message('LSP[', client_name, '] ', message)
|
||||
else
|
||||
message = ('LSP[%s][%s] %s\n'):format(client_name, protocol.MessageType[message_type], message)
|
||||
api.nvim_echo({ { message } }, true, {})
|
||||
end
|
||||
message = ('LSP[%s] %s'):format(client_name, message)
|
||||
vim.notify(message, log._from_lsp_level(message_type))
|
||||
return params
|
||||
end
|
||||
|
||||
|
@ -25,6 +25,8 @@ local log = {}
|
||||
|
||||
local log_levels = vim.log.levels
|
||||
|
||||
local protocol = require('vim.lsp.protocol')
|
||||
|
||||
--- Log level dictionary with reverse lookup as well.
|
||||
---
|
||||
--- Can be used to lookup the number from the name or the name from the number.
|
||||
@ -218,4 +220,19 @@ function log.should_log(level)
|
||||
return level >= current_log_level
|
||||
end
|
||||
|
||||
--- Convert LSP MessageType to vim.log.levels
|
||||
---
|
||||
---@param message_type lsp.MessageType
|
||||
function log._from_lsp_level(message_type)
|
||||
if message_type == protocol.MessageType.Error then
|
||||
return vim.log.levels.ERROR
|
||||
elseif message_type == protocol.MessageType.Warning then
|
||||
return vim.log.levels.WARN
|
||||
elseif message_type == protocol.MessageType.Info or message_type == protocol.MessageType.Log then
|
||||
return vim.log.levels.INFO
|
||||
else
|
||||
return vim.log.levels.DEBUG
|
||||
end
|
||||
end
|
||||
|
||||
return log
|
||||
|
Reference in New Issue
Block a user