neovim

Neovim text editor
git clone https://git.dasho.dev/neovim.git
Log | Files | Refs | README

commit 917172dd9680cc4234a47beee91e8adcaf0e833c
parent 4682f158a062dd8ede37c568c3e456aac83819fc
Author: Lewis Russell <lewis6991@gmail.com>
Date:   Sun, 11 Feb 2024 18:07:04 +0000

fix(lsp): semantic token defer loading

Fixes #27424

Diffstat:
Mruntime/lua/vim/lsp/handlers.lua | 5+++++
Mruntime/lua/vim/lsp/semantic_tokens.lua | 6++----
2 files changed, 7 insertions(+), 4 deletions(-)

diff --git a/runtime/lua/vim/lsp/handlers.lua b/runtime/lua/vim/lsp/handlers.lua @@ -644,6 +644,11 @@ M[ms.workspace_inlayHint_refresh] = function(err, result, ctx, config) return vim.lsp.inlay_hint.on_refresh(err, result, ctx, config) end +---@see https://microsoft.github.io/language-server-protocol/specifications/specification-current/#semanticTokens_refreshRequest +M[ms.workspace_semanticTokens_refresh] = function(err, result, ctx, _config) + return vim.lsp.semantic_tokens._refresh(err, result, ctx) +end + -- Add boilerplate error validation and logging for all of these. for k, fn in pairs(M) do M[k] = function(err, result, ctx, config) diff --git a/runtime/lua/vim/lsp/semantic_tokens.lua b/runtime/lua/vim/lsp/semantic_tokens.lua @@ -1,6 +1,5 @@ local api = vim.api local bit = require('bit') -local handlers = require('vim.lsp.handlers') local ms = require('vim.lsp.protocol').Methods local util = require('vim.lsp.util') local uv = vim.uv @@ -763,6 +762,7 @@ function M.highlight_token(token, bufnr, client_id, hl_group, opts) }) end +--- @package --- |lsp-handler| for the method `workspace/semanticTokens/refresh` --- --- Refresh requests are sent by the server to indicate a project-wide change @@ -770,9 +770,7 @@ end --- invalidate the current results of all buffers and automatically kick off a --- new request for buffers that are displayed in a window. For those that aren't, a --- the BufWinEnter event should take care of it next time it's displayed. ---- ----@see https://microsoft.github.io/language-server-protocol/specifications/specification-current/#semanticTokens_refreshRequest -handlers[ms.workspace_semanticTokens_refresh] = function(err, _, ctx) +function M._refresh(err, _, ctx) if err then return vim.NIL end