aboutsummaryrefslogtreecommitdiff
path: root/runtime/lua/vim
diff options
context:
space:
mode:
authorYi Ming <ofseed@foxmail.com>2025-02-13 12:01:16 +0800
committerYi Ming <ofseed@foxmail.com>2025-02-13 12:01:16 +0800
commit2df68d3696c0e48a9b6c23b654754942504dce34 (patch)
treeaef2411fcb7365c4fe048d4a6050653650891135 /runtime/lua/vim
parentd76f7fef13e534cce870cbce6b1bfaecd18bd034 (diff)
downloadrneovim-2df68d3696c0e48a9b6c23b654754942504dce34.tar.gz
rneovim-2df68d3696c0e48a9b6c23b654754942504dce34.tar.bz2
rneovim-2df68d3696c0e48a9b6c23b654754942504dce34.zip
refactor(lsp): handling errors and nil responses together
Diffstat (limited to 'runtime/lua/vim')
-rw-r--r--runtime/lua/vim/lsp/semantic_tokens.lua9
1 files changed, 2 insertions, 7 deletions
diff --git a/runtime/lua/vim/lsp/semantic_tokens.lua b/runtime/lua/vim/lsp/semantic_tokens.lua
index 9aa93862bc..5f60b732de 100644
--- a/runtime/lua/vim/lsp/semantic_tokens.lua
+++ b/runtime/lua/vim/lsp/semantic_tokens.lua
@@ -288,6 +288,7 @@ function STHighlighter:send_request()
method = method .. '/delta'
params.previousResultId = current_result.result_id
end
+ ---@param response? lsp.SemanticTokens|lsp.SemanticTokensDelta
local success, request_id = client:request(method, params, function(err, response, ctx)
-- look client up again using ctx.client_id instead of using a captured
-- client object
@@ -298,7 +299,7 @@ function STHighlighter:send_request()
return
end
- if err then
+ if err or not response then
highlighter.client_state[c.id].active_request = {}
return
end
@@ -338,12 +339,6 @@ function STHighlighter:process_response(response, client, version)
return
end
- -- skip nil responses
- if response == nil then
- state.active_request = {}
- return
- end
-
if not api.nvim_buf_is_valid(self.bufnr) then
return
end