Skip to content

Commit 8ffbae3

Browse files
committed
Move extensions to new messaging system and fix issues in clangd implementation
1 parent fd4aab9 commit 8ffbae3

File tree

2 files changed

+27
-28
lines changed

2 files changed

+27
-28
lines changed

lua/lsp-status/extensions/clangd.lua

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,19 @@
1+
local util = require('lsp-status/util')
2+
13
local messages = {}
24

35
local function init(_messages, _)
46
messages = _messages
57
end
68

9+
local function ensure_init(id)
10+
util.ensure_init(messages, id, 'clangd')
11+
end
12+
713
local callbacks = {
8-
['textDocument/clangd.fileStatus'] = function(_, _, statusMessage, _, buffnr)
9-
table.insert(messages[buffnr].clangd, {
10-
uri = statusMessage.uri,
11-
content = statusMessage.state,
12-
show_once = true
13-
})
14+
['textDocument/clangd.fileStatus'] = function(_, _, statusMessage, client_id)
15+
ensure_init(client_id)
16+
messages[client_id].status = { uri = statusMessage.uri, content = statusMessage.state }
1417
vim.api.nvim_command('doautocmd User LspMessageUpdate')
1518
end,
1619
}

lua/lsp-status/extensions/pyls_ms.lua

Lines changed: 18 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,37 +1,33 @@
1+
local util = require('lsp-status/util')
2+
13
local messages = {}
24
local function init(_messages, _)
35
messages = _messages
46
end
57

8+
local function ensure_init(id)
9+
util.ensure_init(messages, id, 'pyls_ms')
10+
end
11+
612
local callbacks = {
7-
['python/setStatusBarMessage'] = function(_, _, message, buffnr)
8-
table.insert(messages[buffnr].pyls_ms, { content = message[1] })
13+
['python/setStatusBarMessage'] = function(_, _, message, client_id)
14+
ensure_init(client_id)
15+
messages[client_id].static_message = { content = message[1] }
916
vim.api.nvim_command('doautocmd User LspMessageUpdate')
1017
end,
11-
['python/beginProgress'] = function(_, _, _, buffnr)
12-
if not messages[buffnr] then
13-
messages[buffnr] = {}
14-
end
15-
16-
if not messages[buffnr].pyls_ms then
17-
messages[buffnr].pyls_ms = {}
18-
end
19-
20-
if not messages[buffnr].pyls_ms.progress then
21-
messages[buffnr].pyls_ms.progress = {}
22-
end
23-
24-
if not messages[buffnr].pyls_ms.progress[1] then
25-
messages[buffnr].pyls_ms.progress[1] = { spinner = 1, title = 'MPLS' }
18+
['python/beginProgress'] = function(_, _, _, client_id)
19+
ensure_init(client_id)
20+
if not messages[client_id].progress[1] then
21+
messages[client_id].progress[1] = { spinner = 1, title = 'MPLS' }
2622
end
2723
end,
28-
['python/reportProgress'] = function(_, _, message, buffnr)
29-
messages[buffnr].pyls_ms.progress[1].spinner = messages[buffnr].pyls_ms.progress[1].spinner + 1
30-
messages[buffnr].pyls_ms.progress[1].title = message[1]
24+
['python/reportProgress'] = function(_, _, message, client_id)
25+
messages[client_id].progress[1].spinner = messages[client_id].progress[1].spinner + 1
26+
messages[client_id].progress[1].title = message[1]
3127
vim.api.nvim_command('doautocmd User LspMessageUpdate')
3228
end,
33-
['python/endProgress'] = function(_, _, _, buffnr)
34-
messages[buffnr].pyls_ms.progress[1] = nil
29+
['python/endProgress'] = function(_, _, _, client_id)
30+
messages[client_id].progress[1] = nil
3531
vim.api.nvim_command('doautocmd User LspMessageUpdate')
3632
end,
3733
}

0 commit comments

Comments
 (0)