clang-tools 22.0.0git
clang::clangd::ClientCapabilities Struct Reference

#include <Protocol.h>

Public Attributes

std::optional< SymbolKindBitsetWorkspaceSymbolKinds
 The supported set of SymbolKinds for workspace/symbol.
bool DiagnosticFixes = false
 Whether the client accepts diagnostics with codeActions attached inline.
bool DiagnosticRelatedInformation = false
 Whether the client accepts diagnostics with related locations.
bool DiagnosticCategory = false
 Whether the client accepts diagnostics with category attached to it using the "category" extension.
bool CompletionSnippets = false
 Client supports snippets as insert text.
bool CompletionFixes = false
 Client supports completions with additionalTextEdit near the cursor.
bool ReferenceContainer = false
 Client supports displaying a container string for results of textDocument/reference (clangd extension) textDocument.references.container.
bool HierarchicalDocumentSymbol = false
 Client supports hierarchical document symbols.
bool HasSignatureHelp = false
 Client supports signature help.
bool LineFoldingOnly = false
 Client signals that it only supports folding complete lines.
bool OffsetsInSignatureHelp = false
 Client supports processing label offsets instead of a simple label string.
MarkupKind SignatureHelpDocumentationFormat = MarkupKind::PlainText
 The documentation format that should be used for textDocument/signatureHelp.
std::optional< CompletionItemKindBitsetCompletionItemKinds
 The supported set of CompletionItemKinds for textDocument/completion.
MarkupKind CompletionDocumentationFormat = MarkupKind::PlainText
 The documentation format that should be used for textDocument/completion.
bool CompletionLabelDetail = false
 The client has support for completion item label details.
bool CodeActionStructure = false
 Client supports CodeAction return value for textDocument/codeAction.
bool SemanticTokens = false
 Client advertises support for the semanticTokens feature.
bool TheiaSemanticHighlighting = false
 Client supports Theia semantic highlighting extension.
std::optional< std::vector< OffsetEncoding > > PositionEncodings
 Supported encodings for LSP character offsets.
MarkupKind HoverContentFormat = MarkupKind::PlainText
 The content format that should be used for Hover requests.
bool RenamePrepareSupport = false
 The client supports testing for validity of rename operations before execution.
bool WorkDoneProgress = false
 The client supports progress notifications.
bool ImplicitProgressCreation = false
 The client supports implicit $/progress work-done progress streams, without a preceding window/workDoneProgress/create.
bool CancelsStaleRequests = false
 Whether the client claims to cancel stale requests.
bool SemanticTokenRefreshSupport = false
 Whether the client implementation supports a refresh request sent from the server to the client.
bool DocumentChanges = false
 The client supports versioned document changes for WorkspaceEdit.
bool ChangeAnnotation = false
 The client supports change annotations on text edits,.
bool InactiveRegions = false
 Whether the client supports the textDocument/inactiveRegions notification.

Detailed Description

Definition at line 449 of file Protocol.h.

Member Data Documentation

◆ CancelsStaleRequests

bool clang::clangd::ClientCapabilities::CancelsStaleRequests = false

Whether the client claims to cancel stale requests.

general.staleRequestSupport.cancel

Definition at line 555 of file Protocol.h.

Referenced by clang::clangd::fromJSON().

◆ ChangeAnnotation

bool clang::clangd::ClientCapabilities::ChangeAnnotation = false

The client supports change annotations on text edits,.

Definition at line 565 of file Protocol.h.

Referenced by clang::clangd::fromJSON().

◆ CodeActionStructure

bool clang::clangd::ClientCapabilities::CodeActionStructure = false

Client supports CodeAction return value for textDocument/codeAction.

textDocument.codeAction.codeActionLiteralSupport.

Definition at line 519 of file Protocol.h.

Referenced by clang::clangd::fromJSON().

◆ CompletionDocumentationFormat

MarkupKind clang::clangd::ClientCapabilities::CompletionDocumentationFormat = MarkupKind::PlainText

The documentation format that should be used for textDocument/completion.

textDocument.completion.completionItem.documentationFormat

Definition at line 511 of file Protocol.h.

Referenced by clang::clangd::fromJSON().

◆ CompletionFixes

bool clang::clangd::ClientCapabilities::CompletionFixes = false

Client supports completions with additionalTextEdit near the cursor.

This is a clangd extension. (LSP says this is for unrelated text only). textDocument.completion.editsNearCursor

Definition at line 475 of file Protocol.h.

Referenced by clang::clangd::fromJSON().

◆ CompletionItemKinds

std::optional<CompletionItemKindBitset> clang::clangd::ClientCapabilities::CompletionItemKinds

The supported set of CompletionItemKinds for textDocument/completion.

textDocument.completion.completionItemKind.valueSet

Definition at line 507 of file Protocol.h.

Referenced by clang::clangd::fromJSON().

◆ CompletionLabelDetail

bool clang::clangd::ClientCapabilities::CompletionLabelDetail = false

The client has support for completion item label details.

textDocument.completion.completionItem.labelDetailsSupport.

Definition at line 515 of file Protocol.h.

Referenced by clang::clangd::fromJSON().

◆ CompletionSnippets

bool clang::clangd::ClientCapabilities::CompletionSnippets = false

Client supports snippets as insert text.

textDocument.completion.completionItem.snippetSupport

Definition at line 470 of file Protocol.h.

Referenced by clang::clangd::fromJSON().

◆ DiagnosticCategory

bool clang::clangd::ClientCapabilities::DiagnosticCategory = false

Whether the client accepts diagnostics with category attached to it using the "category" extension.

textDocument.publishDiagnostics.categorySupport

Definition at line 466 of file Protocol.h.

Referenced by clang::clangd::fromJSON().

◆ DiagnosticFixes

bool clang::clangd::ClientCapabilities::DiagnosticFixes = false

Whether the client accepts diagnostics with codeActions attached inline.

This is a clangd extension. textDocument.publishDiagnostics.codeActionsInline.

Definition at line 457 of file Protocol.h.

Referenced by clang::clangd::fromJSON().

◆ DiagnosticRelatedInformation

bool clang::clangd::ClientCapabilities::DiagnosticRelatedInformation = false

Whether the client accepts diagnostics with related locations.

textDocument.publishDiagnostics.relatedInformation.

Definition at line 461 of file Protocol.h.

Referenced by clang::clangd::fromJSON().

◆ DocumentChanges

bool clang::clangd::ClientCapabilities::DocumentChanges = false

The client supports versioned document changes for WorkspaceEdit.

Definition at line 562 of file Protocol.h.

Referenced by clang::clangd::fromJSON().

◆ HasSignatureHelp

bool clang::clangd::ClientCapabilities::HasSignatureHelp = false

Client supports signature help.

textDocument.signatureHelp

Definition at line 488 of file Protocol.h.

Referenced by clang::clangd::fromJSON().

◆ HierarchicalDocumentSymbol

bool clang::clangd::ClientCapabilities::HierarchicalDocumentSymbol = false

Client supports hierarchical document symbols.

textDocument.documentSymbol.hierarchicalDocumentSymbolSupport

Definition at line 484 of file Protocol.h.

Referenced by clang::clangd::fromJSON().

◆ HoverContentFormat

MarkupKind clang::clangd::ClientCapabilities::HoverContentFormat = MarkupKind::PlainText

The content format that should be used for Hover requests.

textDocument.hover.contentEncoding

Definition at line 537 of file Protocol.h.

Referenced by clang::clangd::fromJSON().

◆ ImplicitProgressCreation

bool clang::clangd::ClientCapabilities::ImplicitProgressCreation = false

The client supports implicit $/progress work-done progress streams, without a preceding window/workDoneProgress/create.

This is a clangd extension. window.implicitWorkDoneProgressCreate

Definition at line 551 of file Protocol.h.

Referenced by clang::clangd::fromJSON().

◆ InactiveRegions

bool clang::clangd::ClientCapabilities::InactiveRegions = false

Whether the client supports the textDocument/inactiveRegions notification.

This is a clangd extension. textDocument.inactiveRegionsCapabilities.inactiveRegions

Definition at line 570 of file Protocol.h.

Referenced by clang::clangd::fromJSON().

◆ LineFoldingOnly

bool clang::clangd::ClientCapabilities::LineFoldingOnly = false

Client signals that it only supports folding complete lines.

Client will ignore specified startCharacter and endCharacter properties in a FoldingRange. textDocument.foldingRange.lineFoldingOnly

Definition at line 494 of file Protocol.h.

Referenced by clang::clangd::fromJSON().

◆ OffsetsInSignatureHelp

bool clang::clangd::ClientCapabilities::OffsetsInSignatureHelp = false

Client supports processing label offsets instead of a simple label string.

textDocument.signatureHelp.signatureInformation.parameterInformation.labelOffsetSupport

Definition at line 498 of file Protocol.h.

Referenced by clang::clangd::fromJSON().

◆ PositionEncodings

std::optional<std::vector<OffsetEncoding> > clang::clangd::ClientCapabilities::PositionEncodings

Supported encodings for LSP character offsets.

general.positionEncodings

Definition at line 533 of file Protocol.h.

Referenced by clang::clangd::fromJSON().

◆ ReferenceContainer

bool clang::clangd::ClientCapabilities::ReferenceContainer = false

Client supports displaying a container string for results of textDocument/reference (clangd extension) textDocument.references.container.

Definition at line 480 of file Protocol.h.

Referenced by clang::clangd::fromJSON().

◆ RenamePrepareSupport

bool clang::clangd::ClientCapabilities::RenamePrepareSupport = false

The client supports testing for validity of rename operations before execution.

Definition at line 541 of file Protocol.h.

Referenced by clang::clangd::fromJSON().

◆ SemanticTokenRefreshSupport

bool clang::clangd::ClientCapabilities::SemanticTokenRefreshSupport = false

Whether the client implementation supports a refresh request sent from the server to the client.

Definition at line 559 of file Protocol.h.

Referenced by clang::clangd::fromJSON().

◆ SemanticTokens

bool clang::clangd::ClientCapabilities::SemanticTokens = false

Client advertises support for the semanticTokens feature.

We support the textDocument/semanticTokens request in any case. textDocument.semanticTokens

Definition at line 524 of file Protocol.h.

Referenced by clang::clangd::fromJSON().

◆ SignatureHelpDocumentationFormat

MarkupKind clang::clangd::ClientCapabilities::SignatureHelpDocumentationFormat = MarkupKind::PlainText

The documentation format that should be used for textDocument/signatureHelp.

textDocument.signatureHelp.signatureInformation.documentationFormat

Definition at line 503 of file Protocol.h.

Referenced by clang::clangd::fromJSON().

◆ TheiaSemanticHighlighting

bool clang::clangd::ClientCapabilities::TheiaSemanticHighlighting = false

Client supports Theia semantic highlighting extension.

https://github.com/microsoft/vscode-languageserver-node/pull/367 clangd no longer supports this, we detect it just to log a warning. textDocument.semanticHighlightingCapabilities.semanticHighlighting

Definition at line 529 of file Protocol.h.

Referenced by clang::clangd::fromJSON().

◆ WorkDoneProgress

bool clang::clangd::ClientCapabilities::WorkDoneProgress = false

The client supports progress notifications.

window.workDoneProgress

Definition at line 545 of file Protocol.h.

Referenced by clang::clangd::fromJSON().

◆ WorkspaceSymbolKinds

std::optional<SymbolKindBitset> clang::clangd::ClientCapabilities::WorkspaceSymbolKinds

The supported set of SymbolKinds for workspace/symbol.

workspace.symbol.symbolKind.valueSet

Definition at line 452 of file Protocol.h.

Referenced by clang::clangd::fromJSON().


The documentation for this struct was generated from the following file: