diff options
Diffstat (limited to 'runtime/lua/vim/lsp/protocol.lua')
| -rw-r--r-- | runtime/lua/vim/lsp/protocol.lua | 26 | 
1 files changed, 26 insertions, 0 deletions
diff --git a/runtime/lua/vim/lsp/protocol.lua b/runtime/lua/vim/lsp/protocol.lua index b2d3d0641c..3e111c154a 100644 --- a/runtime/lua/vim/lsp/protocol.lua +++ b/runtime/lua/vim/lsp/protocol.lua @@ -34,6 +34,13 @@ local constants = {      Hint = 4;    }; +  DiagnosticTag = { +    -- Unused or unnecessary code +    Unnecessary = 1; +    -- Deprecated or obsolete code +    Deprecated = 2; +  }; +    MessageType = {      -- An error message.      Error = 1; @@ -521,6 +528,13 @@ export interface TextDocumentClientCapabilities {    publishDiagnostics?: {      --Whether the clients accepts diagnostics with related information.      relatedInformation?: boolean; +    --Client supports the tag property to provide meta data about a diagnostic. +	  --Clients supporting tags have to handle unknown tags gracefully. +    --Since 3.15.0 +    tagSupport?: { +      --The tags supported by this client +      valueSet: DiagnosticTag[]; +    };    };    --Capabilities specific to `textDocument/foldingRange` requests.    -- @@ -706,6 +720,18 @@ function protocol.make_client_capabilities()          dynamicRegistration = false;          prepareSupport = true;        }; +      publishDiagnostics = { +        relatedInformation = true; +        tagSupport = { +          valueSet = (function() +            local res = {} +            for k in ipairs(protocol.DiagnosticTag) do +              if type(k) == 'number' then table.insert(res, k) end +            end +            return res +          end)(); +        }; +      };      };      workspace = {        symbol = {  | 
