diff options
author | Yi Ming <ofseed@foxmail.com> | 2025-02-13 12:01:16 +0800 |
---|---|---|
committer | Yi Ming <ofseed@foxmail.com> | 2025-02-13 12:01:16 +0800 |
commit | 2df68d3696c0e48a9b6c23b654754942504dce34 (patch) | |
tree | aef2411fcb7365c4fe048d4a6050653650891135 /runtime/lua/vim/lsp/semantic_tokens.lua | |
parent | d76f7fef13e534cce870cbce6b1bfaecd18bd034 (diff) | |
download | rneovim-2df68d3696c0e48a9b6c23b654754942504dce34.tar.gz rneovim-2df68d3696c0e48a9b6c23b654754942504dce34.tar.bz2 rneovim-2df68d3696c0e48a9b6c23b654754942504dce34.zip |
refactor(lsp): handling errors and nil responses together
Diffstat (limited to 'runtime/lua/vim/lsp/semantic_tokens.lua')
-rw-r--r-- | runtime/lua/vim/lsp/semantic_tokens.lua | 9 |
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 |