clang-tools 19.0.0git
Public Attributes | List of all members
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)
 
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 > > offsetEncoding
 Supported encodings for LSP character offsets. (clangd extension).
 
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 552 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 562 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 517 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 509 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 474 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 505 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 513 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 469 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 465 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.

textDocument.publishDiagnostics.codeActionsInline.

Definition at line 456 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 460 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 559 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 486 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 482 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 534 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 548 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.

Definition at line 566 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 492 of file Protocol.h.

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

◆ offsetEncoding

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

Supported encodings for LSP character offsets. (clangd extension).

Definition at line 530 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 496 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)

Definition at line 478 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 538 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 556 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 522 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 501 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 527 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 542 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: