clang-tools 20.0.0git
Classes | Namespaces | Typedefs | Enumerations | Functions | Variables
Protocol.h File Reference
#include "URI.h"
#include "index/SymbolID.h"
#include "support/MemoryTree.h"
#include "clang/Index/IndexSymbol.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/Support/JSON.h"
#include "llvm/Support/raw_ostream.h"
#include <bitset>
#include <memory>
#include <optional>
#include <string>
#include <vector>

Go to the source code of this file.

Classes

class  clang::clangd::LSPError
 
struct  clang::clangd::URIForFile
 
struct  clang::clangd::TextDocumentIdentifier
 
struct  clang::clangd::VersionedTextDocumentIdentifier
 
struct  clang::clangd::Position
 
struct  clang::clangd::Range
 
struct  clang::clangd::Location
 
struct  clang::clangd::ReferenceLocation
 Extends Locations returned by textDocument/references with extra info. More...
 
struct  clang::clangd::TextEdit
 
struct  clang::clangd::ChangeAnnotation
 
struct  clang::clangd::TextDocumentEdit
 
struct  clang::clangd::TextDocumentItem
 
struct  clang::clangd::NoParams
 
struct  clang::clangd::ClientCapabilities
 
struct  clang::clangd::ClangdCompileCommand
 Clangd extension that's used in the 'compilationDatabaseChanges' in workspace/didChangeConfiguration to record updates to the in-memory compilation database. More...
 
struct  clang::clangd::ConfigurationSettings
 Clangd extension: parameters configurable at any time, via the workspace/didChangeConfiguration notification. More...
 
struct  clang::clangd::InitializationOptions
 Clangd extension: parameters configurable at initialize time. More...
 
struct  clang::clangd::InitializeParams
 
struct  clang::clangd::WorkDoneProgressCreateParams
 
struct  clang::clangd::ProgressParams< T >
 
struct  clang::clangd::WorkDoneProgressBegin
 To start progress reporting a $/progress notification with the following payload must be sent. More...
 
struct  clang::clangd::WorkDoneProgressReport
 Reporting progress is done using the following payload. More...
 
struct  clang::clangd::WorkDoneProgressEnd
 Signals the end of progress reporting. More...
 
struct  clang::clangd::ShowMessageParams
 The show message notification is sent from a server to a client to ask the client to display a particular message in the user interface. More...
 
struct  clang::clangd::DidOpenTextDocumentParams
 
struct  clang::clangd::DidCloseTextDocumentParams
 
struct  clang::clangd::DidSaveTextDocumentParams
 
struct  clang::clangd::TextDocumentContentChangeEvent
 
struct  clang::clangd::DidChangeTextDocumentParams
 
struct  clang::clangd::FileEvent
 
struct  clang::clangd::DidChangeWatchedFilesParams
 
struct  clang::clangd::DidChangeConfigurationParams
 
struct  clang::clangd::DocumentRangeFormattingParams
 
struct  clang::clangd::DocumentOnTypeFormattingParams
 
struct  clang::clangd::DocumentFormattingParams
 
struct  clang::clangd::DocumentSymbolParams
 
struct  clang::clangd::DiagnosticRelatedInformation
 Represents a related message and source code location for a diagnostic. More...
 
struct  clang::clangd::CodeDescription
 Structure to capture a description for an error code. More...
 
struct  clang::clangd::Diagnostic
 
struct  clang::clangd::PublishDiagnosticsParams
 
struct  clang::clangd::CodeActionContext
 
struct  clang::clangd::CodeActionParams
 
struct  clang::clangd::WorkspaceEdit
 The edit should either provide changes or documentChanges. More...
 
struct  clang::clangd::TweakArgs
 Arguments for the 'applyTweak' command. More...
 
struct  clang::clangd::ExecuteCommandParams
 
struct  clang::clangd::Command
 
struct  clang::clangd::CodeAction
 A code action represents a change that can be performed in code, e.g. More...
 
struct  clang::clangd::DocumentSymbol
 Represents programming constructs like variables, classes, interfaces etc. More...
 
struct  clang::clangd::SymbolInformation
 Represents information about programming constructs like variables, classes, interfaces etc. More...
 
struct  clang::clangd::SymbolDetails
 Represents information about identifier. More...
 
struct  clang::clangd::WorkspaceSymbolParams
 The parameters of a Workspace Symbol Request. More...
 
struct  clang::clangd::ApplyWorkspaceEditParams
 
struct  clang::clangd::ApplyWorkspaceEditResponse
 
struct  clang::clangd::TextDocumentPositionParams
 
struct  clang::clangd::CompletionContext
 
struct  clang::clangd::CompletionParams
 
struct  clang::clangd::MarkupContent
 
struct  clang::clangd::Hover
 
struct  clang::clangd::CompletionItemLabelDetails
 Additional details for a completion item label. More...
 
struct  clang::clangd::CompletionItem
 
struct  clang::clangd::CompletionList
 Represents a collection of completion items to be presented in the editor. More...
 
struct  clang::clangd::ParameterInformation
 A single parameter of a particular signature. More...
 
struct  clang::clangd::SignatureInformation
 Represents the signature of something callable. More...
 
struct  clang::clangd::SignatureHelp
 Represents the signature of a callable. More...
 
struct  clang::clangd::RenameParams
 
struct  clang::clangd::PrepareRenameResult
 
struct  clang::clangd::DocumentHighlight
 A document highlight is a range inside a text document which deserves special attention. More...
 
struct  clang::clangd::TypeHierarchyPrepareParams
 The type hierarchy params is an extension of the TextDocumentPositionsParams with optional properties which can be used to eagerly resolve the item when requesting from the server. More...
 
struct  clang::clangd::TypeHierarchyItem
 
struct  clang::clangd::TypeHierarchyItem::ResolveParams
 Used to resolve a client provided item back. More...
 
struct  clang::clangd::ResolveTypeHierarchyItemParams
 Parameters for the typeHierarchy/resolve request. More...
 
struct  clang::clangd::CallHierarchyPrepareParams
 The parameter of a textDocument/prepareCallHierarchy request. More...
 
struct  clang::clangd::CallHierarchyItem
 Represents programming constructs like functions or constructors in the context of call hierarchy. More...
 
struct  clang::clangd::CallHierarchyIncomingCallsParams
 The parameter of a callHierarchy/incomingCalls request. More...
 
struct  clang::clangd::CallHierarchyIncomingCall
 Represents an incoming call, e.g. a caller of a method or constructor. More...
 
struct  clang::clangd::CallHierarchyOutgoingCallsParams
 The parameter of a callHierarchy/outgoingCalls request. More...
 
struct  clang::clangd::CallHierarchyOutgoingCall
 Represents an outgoing call, e.g. More...
 
struct  clang::clangd::InlayHintsParams
 A parameter literal used in inlay hint requests. More...
 
struct  clang::clangd::InlayHintLabelPart
 An inlay hint label part allows for interactive and composite labels of inlay hints. More...
 
struct  clang::clangd::InlayHint
 Inlay hint information. More...
 
struct  clang::clangd::ReferenceContext
 
struct  clang::clangd::ReferenceParams
 
struct  clang::clangd::FileStatus
 Clangd extension: indicates the current state of the file in clangd, sent from server via the textDocument/clangd.fileStatus notification. More...
 
struct  clang::clangd::SemanticToken
 Specifies a single semantic token in the document. More...
 
struct  clang::clangd::SemanticTokens
 A versioned set of tokens. More...
 
struct  clang::clangd::SemanticTokensParams
 Body of textDocument/semanticTokens/full request. More...
 
struct  clang::clangd::SemanticTokensDeltaParams
 Body of textDocument/semanticTokens/full/delta request. More...
 
struct  clang::clangd::SemanticTokensEdit
 Describes a replacement of a contiguous range of semanticTokens. More...
 
struct  clang::clangd::SemanticTokensOrDelta
 This models LSP SemanticTokensDelta | SemanticTokens, which is the result of textDocument/semanticTokens/full/delta. More...
 
struct  clang::clangd::InactiveRegionsParams
 Parameters for the inactive regions (server-side) push notification. More...
 
struct  clang::clangd::SelectionRangeParams
 
struct  clang::clangd::SelectionRange
 
struct  clang::clangd::DocumentLinkParams
 Parameters for the document link request. More...
 
struct  clang::clangd::DocumentLink
 A range in a text document that links to an internal or external resource, like another text document or a web site. More...
 
struct  clang::clangd::FoldingRangeParams
 
struct  clang::clangd::FoldingRange
 Stores information about a region of code that can be folded. More...
 
struct  clang::clangd::ASTParams
 Payload for textDocument/ast request. More...
 
struct  clang::clangd::ASTNode
 Simplified description of a clang AST node. More...
 
struct  llvm::DenseMapInfo< clang::clangd::Range >
 
struct  llvm::format_provider< clang::clangd::Position >
 

Namespaces

namespace  clang
 ===– Representation.cpp - ClangDoc Representation --------—*- C++ -*-===//
 
namespace  clang::clangd
 FIXME: Skip testing on windows temporarily due to the different escaping code mode.
 
namespace  llvm
 Some operations such as code completion produce a set of candidates.
 

Typedefs

using clang::clangd::ChangeAnnotationIdentifier = std::string
 
using clang::clangd::InitializedParams = NoParams
 
using clang::clangd::CompletionItemKindBitset = std::bitset< CompletionItemKindMax+1 >
 
using clang::clangd::SymbolKindBitset = std::bitset< SymbolKindMax+1 >
 

Enumerations

enum class  clang::clangd::ErrorCode {
  clang::clangd::ParseError = -32700 , clang::clangd::InvalidRequest = -32600 , clang::clangd::MethodNotFound = -32601 , clang::clangd::InvalidParams = -32602 ,
  clang::clangd::InternalError = -32603 , clang::clangd::ServerNotInitialized = -32002 , clang::clangd::UnknownErrorCode = -32001 , clang::clangd::RequestCancelled = -32800 ,
  clang::clangd::ContentModified = -32801
}
 
enum class  clang::clangd::TraceLevel { clang::clangd::Off = 0 , clang::clangd::Messages = 1 , clang::clangd::Verbose = 2 }
 
enum class  clang::clangd::TextDocumentSyncKind { clang::clangd::None = 0 , clang::clangd::Full = 1 , clang::clangd::Incremental = 2 }
 Defines how the host (editor) should sync document changes to the language server. More...
 
enum class  clang::clangd::CompletionItemKind {
  clang::clangd::Missing = 0 , clang::clangd::Text = 1 , clang::clangd::Method = 2 , clang::clangd::Function = 3 ,
  clang::clangd::Constructor = 4 , clang::clangd::Field = 5 , clang::clangd::Variable = 6 , clang::clangd::Class = 7 ,
  clang::clangd::Interface = 8 , clang::clangd::Module = 9 , clang::clangd::Property = 10 , clang::clangd::Unit = 11 ,
  clang::clangd::Value = 12 , clang::clangd::Enum = 13 , clang::clangd::Keyword = 14 , clang::clangd::Snippet = 15 ,
  clang::clangd::Color = 16 , clang::clangd::File = 17 , clang::clangd::Reference = 18 , clang::clangd::Folder = 19 ,
  clang::clangd::EnumMember = 20 , clang::clangd::Constant = 21 , clang::clangd::Struct = 22 , clang::clangd::Event = 23 ,
  clang::clangd::Operator = 24 , clang::clangd::TypeParameter = 25
}
 The kind of a completion entry. More...
 
enum class  clang::clangd::SymbolKind {
  clang::clangd::File = 1 , clang::clangd::Module = 2 , clang::clangd::Namespace = 3 , clang::clangd::Package = 4 ,
  clang::clangd::Class = 5 , clang::clangd::Method = 6 , clang::clangd::Property = 7 , clang::clangd::Field = 8 ,
  clang::clangd::Constructor = 9 , clang::clangd::Enum = 10 , clang::clangd::Interface = 11 , clang::clangd::Function = 12 ,
  clang::clangd::Variable = 13 , clang::clangd::Constant = 14 , clang::clangd::String = 15 , clang::clangd::Number = 16 ,
  clang::clangd::Boolean = 17 , clang::clangd::Array = 18 , clang::clangd::Object = 19 , clang::clangd::Key = 20 ,
  clang::clangd::Null = 21 , clang::clangd::EnumMember = 22 , clang::clangd::Struct = 23 , clang::clangd::Event = 24 ,
  clang::clangd::Operator = 25 , clang::clangd::TypeParameter = 26
}
 A symbol kind. More...
 
enum class  clang::clangd::OffsetEncoding { clang::clangd::UnsupportedEncoding , clang::clangd::UTF16 , clang::clangd::UTF8 , clang::clangd::UTF32 }
 
enum class  clang::clangd::MarkupKind { clang::clangd::PlainText , clang::clangd::Markdown }
 
enum class  clang::clangd::MessageType { clang::clangd::Error = 1 , clang::clangd::Warning = 2 , clang::clangd::Info = 3 , clang::clangd::Log = 4 }
 
enum class  clang::clangd::FileChangeType { clang::clangd::Created = 1 , clang::clangd::Changed = 2 , clang::clangd::Deleted = 3 }
 
enum  clang::clangd::DiagnosticTag { clang::clangd::Unnecessary = 1 , clang::clangd::Deprecated = 2 }
 
enum class  clang::clangd::CompletionTriggerKind { clang::clangd::Invoked = 1 , clang::clangd::TriggerCharacter = 2 , clang::clangd::TriggerTriggerForIncompleteCompletions = 3 }
 
enum class  clang::clangd::InsertTextFormat { clang::clangd::Missing = 0 , clang::clangd::PlainText = 1 , clang::clangd::Snippet = 2 }
 Defines whether the insert text in a completion item should be interpreted as plain text or a snippet. More...
 
enum class  clang::clangd::DocumentHighlightKind { clang::clangd::Text = 1 , clang::clangd::Read = 2 , clang::clangd::Write = 3 }
 
enum class  clang::clangd::TypeHierarchyDirection { clang::clangd::Children = 0 , clang::clangd::Parents = 1 , clang::clangd::Both = 2 }
 
enum class  clang::clangd::SymbolTag { clang::clangd::Deprecated = 1 }
 
enum class  clang::clangd::InlayHintKind { clang::clangd::Type = 1 , clang::clangd::Parameter = 2 , clang::clangd::Designator = 3 , clang::clangd::BlockEnd = 4 }
 Inlay hint kinds. More...
 

Functions

bool clang::clangd::fromJSON (const llvm::json::Value &E, SymbolID &S, llvm::json::Path P)
 
llvm::json::Value clang::clangd::toJSON (const SymbolID &S)
 
llvm::json::Value clang::clangd::toJSON (const URIForFile &U)
 Serialize/deserialize URIForFile to/from a string URI.
 
bool clang::clangd::fromJSON (const llvm::json::Value &E, URIForFile &R, llvm::json::Path P)
 
llvm::json::Value clang::clangd::toJSON (const TextDocumentIdentifier &R)
 
bool clang::clangd::fromJSON (const llvm::json::Value &Params, TextDocumentIdentifier &R, llvm::json::Path P)
 
llvm::json::Value clang::clangd::toJSON (const VersionedTextDocumentIdentifier &R)
 
bool clang::clangd::fromJSON (const llvm::json::Value &Params, VersionedTextDocumentIdentifier &R, llvm::json::Path P)
 
bool clang::clangd::fromJSON (const llvm::json::Value &Params, Position &R, llvm::json::Path P)
 
llvm::json::Value clang::clangd::toJSON (const Position &P)
 
llvm::raw_ostream & clang::clangd::operator<< (llvm::raw_ostream &OS, const Position &P)
 
bool clang::clangd::fromJSON (const llvm::json::Value &Params, Range &R, llvm::json::Path P)
 
llvm::json::Value clang::clangd::toJSON (const Range &P)
 
llvm::raw_ostream & clang::clangd::operator<< (llvm::raw_ostream &OS, const Range &R)
 
llvm::json::Value clang::clangd::toJSON (const Location &P)
 
llvm::raw_ostream & clang::clangd::operator<< (llvm::raw_ostream &OS, const Location &L)
 
llvm::json::Value clang::clangd::toJSON (const ReferenceLocation &P)
 
llvm::raw_ostream & clang::clangd::operator<< (llvm::raw_ostream &OS, const ReferenceLocation &L)
 
bool clang::clangd::operator== (const TextEdit &L, const TextEdit &R)
 
bool clang::clangd::fromJSON (const llvm::json::Value &Params, TextEdit &R, llvm::json::Path P)
 
llvm::json::Value clang::clangd::toJSON (const TextEdit &P)
 
llvm::raw_ostream & clang::clangd::operator<< (llvm::raw_ostream &OS, const TextEdit &TE)
 
bool clang::clangd::fromJSON (const llvm::json::Value &Params, ChangeAnnotation &R, llvm::json::Path P)
 
llvm::json::Value clang::clangd::toJSON (const ChangeAnnotation &CA)
 
bool clang::clangd::fromJSON (const llvm::json::Value &Params, TextDocumentEdit &R, llvm::json::Path P)
 
llvm::json::Value clang::clangd::toJSON (const TextDocumentEdit &P)
 
bool clang::clangd::fromJSON (const llvm::json::Value &Params, TextDocumentItem &R, llvm::json::Path P)
 
bool clang::clangd::fromJSON (const llvm::json::Value &E, TraceLevel &Out, llvm::json::Path P)
 
llvm::json::Value clang::clangd::toJSON (const NoParams &)
 
bool clang::clangd::fromJSON (const llvm::json::Value &, NoParams &, llvm::json::Path)
 
bool clang::clangd::fromJSON (const llvm::json::Value &E, CompletionItemKind &Out, llvm::json::Path P)
 
bool clang::clangd::fromJSON (const llvm::json::Value &E, CompletionItemKindBitset &Out, llvm::json::Path P)
 
CompletionItemKind clang::clangd::adjustKindToCapability (CompletionItemKind Kind, CompletionItemKindBitset &SupportedCompletionItemKinds)
 
bool clang::clangd::fromJSON (const llvm::json::Value &E, SymbolKind &Out, llvm::json::Path P)
 
bool clang::clangd::fromJSON (const llvm::json::Value &E, SymbolKindBitset &Out, llvm::json::Path P)
 
SymbolKind clang::clangd::adjustKindToCapability (SymbolKind Kind, SymbolKindBitset &SupportedSymbolKinds)
 
SymbolKind clang::clangd::indexSymbolKindToSymbolKind (index::SymbolKind Kind)
 
llvm::json::Value clang::clangd::toJSON (const OffsetEncoding &OE)
 
bool clang::clangd::fromJSON (const llvm::json::Value &V, OffsetEncoding &OE, llvm::json::Path P)
 
llvm::raw_ostream & clang::clangd::operator<< (llvm::raw_ostream &OS, OffsetEncoding Enc)
 
bool clang::clangd::fromJSON (const llvm::json::Value &V, MarkupKind &K, llvm::json::Path P)
 
llvm::raw_ostream & clang::clangd::operator<< (llvm::raw_ostream &OS, MarkupKind K)
 
bool clang::clangd::fromJSON (const llvm::json::Value &Params, ClientCapabilities &R, llvm::json::Path P)
 
bool clang::clangd::fromJSON (const llvm::json::Value &Params, ClangdCompileCommand &CDbUpdate, llvm::json::Path P)
 
bool clang::clangd::fromJSON (const llvm::json::Value &Params, ConfigurationSettings &S, llvm::json::Path P)
 
bool clang::clangd::fromJSON (const llvm::json::Value &Params, InitializationOptions &Opts, llvm::json::Path P)
 
bool clang::clangd::fromJSON (const llvm::json::Value &Params, InitializeParams &R, llvm::json::Path P)
 
llvm::json::Value clang::clangd::toJSON (const WorkDoneProgressCreateParams &P)
 
template<typename T >
llvm::json::Value clang::clangd::toJSON (const ProgressParams< T > &P)
 
llvm::json::Value clang::clangd::toJSON (const WorkDoneProgressBegin &P)
 
llvm::json::Value clang::clangd::toJSON (const WorkDoneProgressReport &P)
 
llvm::json::Value clang::clangd::toJSON (const WorkDoneProgressEnd &P)
 
llvm::json::Value clang::clangd::toJSON (const MessageType &R)
 
llvm::json::Value clang::clangd::toJSON (const ShowMessageParams &R)
 
bool clang::clangd::fromJSON (const llvm::json::Value &Params, DidOpenTextDocumentParams &R, llvm::json::Path P)
 
bool clang::clangd::fromJSON (const llvm::json::Value &Params, DidCloseTextDocumentParams &R, llvm::json::Path P)
 
bool clang::clangd::fromJSON (const llvm::json::Value &Params, DidSaveTextDocumentParams &R, llvm::json::Path P)
 
bool clang::clangd::fromJSON (const llvm::json::Value &Params, TextDocumentContentChangeEvent &R, llvm::json::Path P)
 
bool clang::clangd::fromJSON (const llvm::json::Value &Params, DidChangeTextDocumentParams &R, llvm::json::Path P)
 
bool clang::clangd::fromJSON (const llvm::json::Value &E, FileChangeType &Out, llvm::json::Path P)
 
bool clang::clangd::fromJSON (const llvm::json::Value &Params, FileEvent &R, llvm::json::Path P)
 
bool clang::clangd::fromJSON (const llvm::json::Value &Params, DidChangeWatchedFilesParams &R, llvm::json::Path P)
 
bool clang::clangd::fromJSON (const llvm::json::Value &Params, DidChangeConfigurationParams &CCP, llvm::json::Path P)
 
bool clang::clangd::fromJSON (const llvm::json::Value &Params, DocumentRangeFormattingParams &R, llvm::json::Path P)
 
bool clang::clangd::fromJSON (const llvm::json::Value &Params, DocumentOnTypeFormattingParams &R, llvm::json::Path P)
 
bool clang::clangd::fromJSON (const llvm::json::Value &Params, DocumentFormattingParams &R, llvm::json::Path P)
 
bool clang::clangd::fromJSON (const llvm::json::Value &Params, DocumentSymbolParams &R, llvm::json::Path P)
 
llvm::json::Value clang::clangd::toJSON (const DiagnosticRelatedInformation &DRI)
 
llvm::json::Value clang::clangd::toJSON (DiagnosticTag Tag)
 
llvm::json::Value clang::clangd::toJSON (const CodeDescription &D)
 
llvm::json::Value clang::clangd::toJSON (const Diagnostic &D)
 
bool clang::clangd::fromJSON (const llvm::json::Value &Params, Diagnostic &R, llvm::json::Path P)
 
llvm::raw_ostream & clang::clangd::operator<< (llvm::raw_ostream &OS, const Diagnostic &D)
 
llvm::json::Value clang::clangd::toJSON (const PublishDiagnosticsParams &PDP)
 
bool clang::clangd::fromJSON (const llvm::json::Value &Params, CodeActionContext &R, llvm::json::Path P)
 
bool clang::clangd::fromJSON (const llvm::json::Value &Params, CodeActionParams &R, llvm::json::Path P)
 
bool clang::clangd::fromJSON (const llvm::json::Value &Params, WorkspaceEdit &R, llvm::json::Path P)
 
llvm::json::Value clang::clangd::toJSON (const WorkspaceEdit &WE)
 
bool clang::clangd::fromJSON (const llvm::json::Value &Params, TweakArgs &A, llvm::json::Path P)
 
llvm::json::Value clang::clangd::toJSON (const TweakArgs &A)
 
bool clang::clangd::fromJSON (const llvm::json::Value &Params, ExecuteCommandParams &R, llvm::json::Path P)
 
llvm::json::Value clang::clangd::toJSON (const Command &C)
 
llvm::json::Value clang::clangd::toJSON (const CodeAction &CA)
 
llvm::raw_ostream & clang::clangd::operator<< (llvm::raw_ostream &O, const DocumentSymbol &S)
 
llvm::json::Value clang::clangd::toJSON (const DocumentSymbol &S)
 
llvm::json::Value clang::clangd::toJSON (const SymbolInformation &P)
 
llvm::raw_ostream & clang::clangd::operator<< (llvm::raw_ostream &O, const SymbolInformation &SI)
 
llvm::json::Value clang::clangd::toJSON (const SymbolDetails &P)
 
llvm::raw_ostream & clang::clangd::operator<< (llvm::raw_ostream &O, const SymbolDetails &S)
 
bool clang::clangd::operator== (const SymbolDetails &LHS, const SymbolDetails &RHS)
 
bool clang::clangd::fromJSON (const llvm::json::Value &Params, WorkspaceSymbolParams &R, llvm::json::Path P)
 
llvm::json::Value clang::clangd::toJSON (const ApplyWorkspaceEditParams &Params)
 
bool clang::clangd::fromJSON (const llvm::json::Value &Response, ApplyWorkspaceEditResponse &R, llvm::json::Path P)
 
bool clang::clangd::fromJSON (const llvm::json::Value &Params, TextDocumentPositionParams &R, llvm::json::Path P)
 
bool clang::clangd::fromJSON (const llvm::json::Value &Params, CompletionContext &R, llvm::json::Path P)
 
bool clang::clangd::fromJSON (const llvm::json::Value &Params, CompletionParams &R, llvm::json::Path P)
 
llvm::json::Value clang::clangd::toJSON (const MarkupContent &MC)
 
llvm::json::Value clang::clangd::toJSON (const Hover &H)
 
llvm::json::Value clang::clangd::toJSON (const CompletionItemLabelDetails &CD)
 
llvm::json::Value clang::clangd::toJSON (const CompletionItem &CI)
 
llvm::raw_ostream & clang::clangd::operator<< (llvm::raw_ostream &O, const CompletionItem &I)
 
void clang::clangd::removeCompletionLabelDetails (CompletionItem &)
 Remove the labelDetails field (for clients that don't support it).
 
bool clang::clangd::operator< (const CompletionItem &L, const CompletionItem &R)
 
llvm::json::Value clang::clangd::toJSON (const CompletionList &L)
 
llvm::json::Value clang::clangd::toJSON (const ParameterInformation &PI)
 
llvm::json::Value clang::clangd::toJSON (const SignatureInformation &SI)
 
llvm::raw_ostream & clang::clangd::operator<< (llvm::raw_ostream &O, const SignatureInformation &I)
 
llvm::json::Value clang::clangd::toJSON (const SignatureHelp &SH)
 
bool clang::clangd::fromJSON (const llvm::json::Value &Params, RenameParams &R, llvm::json::Path P)
 
llvm::json::Value clang::clangd::toJSON (const RenameParams &R)
 
llvm::json::Value clang::clangd::toJSON (const PrepareRenameResult &PRR)
 
llvm::json::Value clang::clangd::toJSON (const DocumentHighlight &DH)
 
llvm::raw_ostream & clang::clangd::operator<< (llvm::raw_ostream &O, const DocumentHighlight &V)
 
bool clang::clangd::fromJSON (const llvm::json::Value &E, TypeHierarchyDirection &Out, llvm::json::Path P)
 
bool clang::clangd::fromJSON (const llvm::json::Value &Params, TypeHierarchyPrepareParams &R, llvm::json::Path P)
 
llvm::json::Value clang::clangd::toJSON (const TypeHierarchyItem::ResolveParams &RP)
 
bool clang::clangd::fromJSON (const TypeHierarchyItem::ResolveParams &)
 
llvm::json::Value clang::clangd::toJSON (const TypeHierarchyItem &I)
 
llvm::raw_ostream & clang::clangd::operator<< (llvm::raw_ostream &O, const TypeHierarchyItem &I)
 
bool clang::clangd::fromJSON (const llvm::json::Value &Params, TypeHierarchyItem &I, llvm::json::Path P)
 
bool clang::clangd::fromJSON (const llvm::json::Value &Params, ResolveTypeHierarchyItemParams &R, llvm::json::Path P)
 
llvm::json::Value clang::clangd::toJSON (SymbolTag Tag)
 
llvm::json::Value clang::clangd::toJSON (const CallHierarchyItem &I)
 
bool clang::clangd::fromJSON (const llvm::json::Value &Params, CallHierarchyItem &I, llvm::json::Path P)
 
bool clang::clangd::fromJSON (const llvm::json::Value &Params, CallHierarchyIncomingCallsParams &C, llvm::json::Path P)
 
llvm::json::Value clang::clangd::toJSON (const CallHierarchyIncomingCall &C)
 
bool clang::clangd::fromJSON (const llvm::json::Value &Params, CallHierarchyOutgoingCallsParams &C, llvm::json::Path P)
 
llvm::json::Value clang::clangd::toJSON (const CallHierarchyOutgoingCall &C)
 
bool clang::clangd::fromJSON (const llvm::json::Value &Params, InlayHintsParams &R, llvm::json::Path P)
 
llvm::json::Value clang::clangd::toJSON (const InlayHintKind &Kind)
 
llvm::json::Value clang::clangd::toJSON (const InlayHintLabelPart &L)
 
bool clang::clangd::operator== (const InlayHintLabelPart &LHS, const InlayHintLabelPart &RHS)
 
bool clang::clangd::operator< (const InlayHintLabelPart &LHS, const InlayHintLabelPart &RHS)
 
llvm::raw_ostream & clang::clangd::operator<< (llvm::raw_ostream &OS, const InlayHintLabelPart &L)
 
llvm::json::Value clang::clangd::toJSON (const InlayHint &H)
 
bool clang::clangd::operator== (const InlayHint &A, const InlayHint &B)
 
bool clang::clangd::operator< (const InlayHint &A, const InlayHint &B)
 
llvm::raw_ostream & clang::clangd::operator<< (llvm::raw_ostream &OS, InlayHintKind Kind)
 
bool clang::clangd::fromJSON (const llvm::json::Value &Params, ReferenceParams &R, llvm::json::Path P)
 
llvm::json::Value clang::clangd::toJSON (const FileStatus &FStatus)
 
bool clang::clangd::operator== (const SemanticToken &L, const SemanticToken &R)
 
llvm::json::Value clang::clangd::toJSON (const SemanticTokens &Tokens)
 
bool clang::clangd::fromJSON (const llvm::json::Value &Params, SemanticTokensParams &R, llvm::json::Path P)
 
bool clang::clangd::fromJSON (const llvm::json::Value &Params, SemanticTokensDeltaParams &R, llvm::json::Path P)
 
llvm::json::Value clang::clangd::toJSON (const SemanticTokensEdit &Edit)
 
llvm::json::Value clang::clangd::toJSON (const SemanticTokensOrDelta &TE)
 
llvm::json::Value clang::clangd::toJSON (const InactiveRegionsParams &InactiveRegions)
 
bool clang::clangd::fromJSON (const llvm::json::Value &Params, SelectionRangeParams &S, llvm::json::Path P)
 
llvm::json::Value clang::clangd::toJSON (const SelectionRange &Out)
 
bool clang::clangd::fromJSON (const llvm::json::Value &Params, DocumentLinkParams &R, llvm::json::Path P)
 
llvm::json::Value clang::clangd::toJSON (const DocumentLink &DocumentLink)
 
bool clang::clangd::fromJSON (const llvm::json::Value &Params, FoldingRangeParams &R, llvm::json::Path P)
 
llvm::json::Value clang::clangd::toJSON (const FoldingRange &Range)
 
llvm::json::Value clang::clangd::toJSON (const MemoryTree &MT)
 Keys starting with an underscore(_) represent leaves, e.g.
 
bool clang::clangd::fromJSON (const llvm::json::Value &Params, ASTParams &R, llvm::json::Path P)
 
llvm::json::Value clang::clangd::toJSON (const ASTNode &N)
 
llvm::raw_ostream & clang::clangd::operator<< (llvm::raw_ostream &OS, const ASTNode &Root)
 

Variables

constexpr auto clang::clangd::CompletionItemKindMin
 
constexpr auto clang::clangd::CompletionItemKindMax
 
constexpr auto clang::clangd::SymbolKindMin = static_cast<size_t>(SymbolKind::File)
 
constexpr auto clang::clangd::SymbolKindMax = static_cast<size_t>(SymbolKind::TypeParameter)