nixd
Loading...
Searching...
No Matches
Namespaces | Functions | Variables
Protocol.cpp File Reference
#include "lspserver/Protocol.h"
#include "lspserver/Logger.h"
#include "lspserver/URI.h"
#include <llvm/ADT/StringRef.h>
#include <llvm/ADT/StringSwitch.h>
#include <llvm/Support/ErrorHandling.h>
#include <llvm/Support/JSON.h>
#include <llvm/Support/Path.h>
#include <llvm/Support/raw_ostream.h>

Go to the source code of this file.

Namespaces

namespace  lspserver
 Whether current platform treats paths case insensitively.
 

Functions

bool lspserver::fromJSON (const llvm::json::Value &, URIForFile &, llvm::json::Path)
 
llvm::json::Value lspserver::toJSON (const URIForFile &U)
 Serialize/deserialize URIForFile to/from a string URI.
 
llvm::raw_ostream & lspserver::operator<< (llvm::raw_ostream &OS, const URIForFile &U)
 
llvm::json::Value lspserver::toJSON (const TextDocumentIdentifier &)
 
bool lspserver::fromJSON (const llvm::json::Value &, TextDocumentIdentifier &, llvm::json::Path)
 
llvm::json::Value lspserver::toJSON (const VersionedTextDocumentIdentifier &)
 
bool lspserver::fromJSON (const llvm::json::Value &, VersionedTextDocumentIdentifier &, llvm::json::Path)
 
bool lspserver::fromJSON (const llvm::json::Value &, Position &, llvm::json::Path)
 
llvm::json::Value lspserver::toJSON (const Position &)
 
llvm::raw_ostream & lspserver::operator<< (llvm::raw_ostream &, const Position &)
 
bool lspserver::fromJSON (const llvm::json::Value &, Range &, llvm::json::Path)
 
llvm::json::Value lspserver::toJSON (const Range &)
 
llvm::raw_ostream & lspserver::operator<< (llvm::raw_ostream &, const Range &)
 
llvm::json::Value lspserver::toJSON (const Location &)
 
bool lspserver::fromJSON (const llvm::json::Value &, Location &, llvm::json::Path)
 
llvm::raw_ostream & lspserver::operator<< (llvm::raw_ostream &, const Location &)
 
llvm::json::Value lspserver::toJSON (const ReferenceLocation &)
 
llvm::raw_ostream & lspserver::operator<< (llvm::raw_ostream &, const ReferenceLocation &)
 
bool lspserver::fromJSON (const llvm::json::Value &, TextDocumentItem &, llvm::json::Path)
 
bool lspserver::fromJSON (const llvm::json::Value &, TextEdit &, llvm::json::Path)
 
llvm::json::Value lspserver::toJSON (const TextEdit &)
 
bool lspserver::fromJSON (const llvm::json::Value &, ChangeAnnotation &, llvm::json::Path)
 
llvm::json::Value lspserver::toJSON (const ChangeAnnotation &)
 
bool lspserver::fromJSON (const llvm::json::Value &, TextDocumentEdit &, llvm::json::Path)
 
llvm::json::Value lspserver::toJSON (const TextDocumentEdit &)
 
llvm::raw_ostream & lspserver::operator<< (llvm::raw_ostream &, const TextEdit &)
 
bool lspserver::fromJSON (const llvm::json::Value &E, TraceLevel &Out, llvm::json::Path)
 
bool lspserver::fromJSON (const llvm::json::Value &, SymbolKind &, llvm::json::Path)
 
bool lspserver::fromJSON (const llvm::json::Value &, SymbolKindBitset &, llvm::json::Path)
 
SymbolKind lspserver::adjustKindToCapability (SymbolKind Kind, SymbolKindBitset &supportedSymbolKinds)
 
bool lspserver::fromJSON (const llvm::json::Value &, ClientCapabilities &, llvm::json::Path)
 
bool lspserver::fromJSON (const llvm::json::Value &, InitializeParams &, llvm::json::Path)
 
llvm::json::Value lspserver::toJSON (const WorkDoneProgressCreateParams &P)
 
llvm::json::Value lspserver::toJSON (const WorkDoneProgressBegin &)
 
llvm::json::Value lspserver::toJSON (const WorkDoneProgressReport &)
 
llvm::json::Value lspserver::toJSON (const WorkDoneProgressEnd &)
 
llvm::json::Value lspserver::toJSON (const MessageType &)
 
llvm::json::Value lspserver::toJSON (const ShowMessageParams &)
 
bool lspserver::fromJSON (const llvm::json::Value &, DidOpenTextDocumentParams &, llvm::json::Path)
 
bool lspserver::fromJSON (const llvm::json::Value &, DidCloseTextDocumentParams &, llvm::json::Path)
 
bool lspserver::fromJSON (const llvm::json::Value &, DidSaveTextDocumentParams &, llvm::json::Path)
 
bool lspserver::fromJSON (const llvm::json::Value &, DidChangeTextDocumentParams &, llvm::json::Path)
 
bool lspserver::fromJSON (const llvm::json::Value &E, FileChangeType &Out, llvm::json::Path)
 
bool lspserver::fromJSON (const llvm::json::Value &, FileEvent &, llvm::json::Path)
 
bool lspserver::fromJSON (const llvm::json::Value &, DidChangeWatchedFilesParams &, llvm::json::Path)
 
bool lspserver::fromJSON (const llvm::json::Value &, TextDocumentContentChangeEvent &, llvm::json::Path)
 
bool lspserver::fromJSON (const llvm::json::Value &, DocumentRangeFormattingParams &, llvm::json::Path)
 
bool lspserver::fromJSON (const llvm::json::Value &, DocumentOnTypeFormattingParams &, llvm::json::Path)
 
bool lspserver::fromJSON (const llvm::json::Value &, DocumentFormattingParams &, llvm::json::Path)
 
bool lspserver::fromJSON (const llvm::json::Value &, DocumentSymbolParams &, llvm::json::Path)
 
llvm::json::Value lspserver::toJSON (const DiagnosticRelatedInformation &)
 
llvm::json::Value lspserver::toJSON (DiagnosticTag Tag)
 
llvm::json::Value lspserver::toJSON (const CodeDescription &)
 
llvm::json::Value lspserver::toJSON (const Diagnostic &)
 
bool lspserver::fromJSON (const llvm::json::Value &, Diagnostic &, llvm::json::Path)
 
llvm::json::Value lspserver::toJSON (const PublishDiagnosticsParams &)
 
bool lspserver::fromJSON (const llvm::json::Value &, CodeActionContext &, llvm::json::Path)
 
llvm::raw_ostream & lspserver::operator<< (llvm::raw_ostream &, const Diagnostic &)
 
bool lspserver::fromJSON (const llvm::json::Value &, CodeActionParams &, llvm::json::Path)
 
bool lspserver::fromJSON (const llvm::json::Value &, WorkspaceEdit &, llvm::json::Path)
 
bool lspserver::fromJSON (const llvm::json::Value &, ExecuteCommandParams &, llvm::json::Path)
 
llvm::json::Value lspserver::toJSON (const SymbolInformation &)
 
llvm::raw_ostream & lspserver::operator<< (llvm::raw_ostream &, const SymbolInformation &)
 
bool lspserver::fromJSON (const llvm::json::Value &, WorkspaceSymbolParams &, llvm::json::Path)
 
llvm::json::Value lspserver::toJSON (const Command &C)
 
llvm::json::Value lspserver::toJSON (const CodeAction &)
 
llvm::raw_ostream & lspserver::operator<< (llvm::raw_ostream &O, const DocumentSymbol &S)
 
llvm::json::Value lspserver::toJSON (const DocumentSymbol &S)
 
llvm::json::Value lspserver::toJSON (const WorkspaceEdit &WE)
 
bool lspserver::fromJSON (const llvm::json::Value &, TweakArgs &, llvm::json::Path)
 
llvm::json::Value lspserver::toJSON (const TweakArgs &A)
 
llvm::json::Value lspserver::toJSON (const ApplyWorkspaceEditParams &)
 
bool lspserver::fromJSON (const llvm::json::Value &, ApplyWorkspaceEditResponse &, llvm::json::Path)
 
bool lspserver::fromJSON (const llvm::json::Value &, TextDocumentPositionParams &, llvm::json::Path)
 
bool lspserver::fromJSON (const llvm::json::Value &, CompletionContext &, llvm::json::Path)
 
bool lspserver::fromJSON (const llvm::json::Value &, CompletionParams &, llvm::json::Path)
 
bool lspserver::fromJSON (const llvm::json::Value &, MarkupKind &, llvm::json::Path)
 
llvm::raw_ostream & lspserver::operator<< (llvm::raw_ostream &OS, MarkupKind)
 
llvm::json::Value lspserver::toJSON (const MarkupContent &MC)
 
bool lspserver::fromJSON (const llvm::json::Value &, MarkupContent &, llvm::json::Path)
 
llvm::json::Value lspserver::toJSON (const Hover &H)
 
bool lspserver::fromJSON (const llvm::json::Value &, CompletionItemKind &, llvm::json::Path)
 
CompletionItemKind lspserver::adjustKindToCapability (CompletionItemKind Kind, CompletionItemKindBitset &SupportedCompletionItemKinds)
 
bool lspserver::fromJSON (const llvm::json::Value &, CompletionItemKindBitset &, llvm::json::Path)
 
llvm::json::Value lspserver::toJSON (const CompletionItem &)
 
bool lspserver::fromJSON (const llvm::json::Value &, CompletionItem &, llvm::json::Path)
 
llvm::raw_ostream & lspserver::operator<< (llvm::raw_ostream &, const CompletionItem &)
 
bool lspserver::operator< (const CompletionItem &, const CompletionItem &)
 
llvm::json::Value lspserver::toJSON (const CompletionList &)
 
llvm::json::Value lspserver::toJSON (const ParameterInformation &)
 
llvm::json::Value lspserver::toJSON (const SignatureInformation &)
 
llvm::raw_ostream & lspserver::operator<< (llvm::raw_ostream &, const SignatureInformation &)
 
llvm::json::Value lspserver::toJSON (const SignatureHelp &)
 
bool lspserver::fromJSON (const llvm::json::Value &, RenameParams &, llvm::json::Path)
 
llvm::json::Value lspserver::toJSON (const DocumentHighlight &DH)
 
llvm::json::Value lspserver::toJSON (const FileStatus &)
 
bool lspserver::operator== (const SemanticToken &, const SemanticToken &)
 
llvm::json::Value lspserver::toJSON (const SemanticTokens &)
 
llvm::json::Value lspserver::toJSON (const SemanticTokensEdit &)
 
llvm::json::Value lspserver::toJSON (const SemanticTokensOrDelta &)
 
bool lspserver::fromJSON (const llvm::json::Value &, SemanticTokensParams &, llvm::json::Path)
 
bool lspserver::fromJSON (const llvm::json::Value &Params, SemanticTokensDeltaParams &R, llvm::json::Path)
 
llvm::json::Value lspserver::toJSON (const InactiveRegionsParams &InactiveRegions)
 
llvm::raw_ostream & lspserver::operator<< (llvm::raw_ostream &, const DocumentHighlight &)
 
bool lspserver::fromJSON (const llvm::json::Value &, DidChangeConfigurationParams &, llvm::json::Path)
 
bool lspserver::fromJSON (const llvm::json::Value &, ClangdCompileCommand &, llvm::json::Path)
 
bool lspserver::fromJSON (const llvm::json::Value &, ConfigurationSettings &, llvm::json::Path)
 
bool lspserver::fromJSON (const llvm::json::Value &, InitializationOptions &, llvm::json::Path)
 
bool lspserver::fromJSON (const llvm::json::Value &E, TypeHierarchyDirection &Out, llvm::json::Path)
 
bool lspserver::fromJSON (const llvm::json::Value &, TypeHierarchyPrepareParams &, llvm::json::Path)
 
llvm::raw_ostream & lspserver::operator<< (llvm::raw_ostream &, const TypeHierarchyItem &)
 
llvm::json::Value lspserver::toJSON (const TypeHierarchyItem::ResolveParams &)
 
bool lspserver::fromJSON (const llvm::json::Value &Params, TypeHierarchyItem::ResolveParams &RP, llvm::json::Path P)
 
llvm::json::Value lspserver::toJSON (const TypeHierarchyItem &)
 
bool lspserver::fromJSON (const llvm::json::Value &, TypeHierarchyItem &, llvm::json::Path)
 
bool lspserver::fromJSON (const llvm::json::Value &, ResolveTypeHierarchyItemParams &, llvm::json::Path)
 
bool lspserver::fromJSON (const llvm::json::Value &Params, ReferenceContext &R, llvm::json::Path P)
 
bool lspserver::fromJSON (const llvm::json::Value &, ReferenceParams &, llvm::json::Path)
 
llvm::json::Value lspserver::toJSON (SymbolTag)
 
llvm::json::Value lspserver::toJSON (const CallHierarchyItem &)
 
bool lspserver::fromJSON (const llvm::json::Value &, CallHierarchyItem &, llvm::json::Path)
 
bool lspserver::fromJSON (const llvm::json::Value &, CallHierarchyIncomingCallsParams &, llvm::json::Path)
 
llvm::json::Value lspserver::toJSON (const CallHierarchyIncomingCall &)
 
bool lspserver::fromJSON (const llvm::json::Value &, CallHierarchyOutgoingCallsParams &, llvm::json::Path)
 
llvm::json::Value lspserver::toJSON (const CallHierarchyOutgoingCall &)
 
bool lspserver::fromJSON (const llvm::json::Value &, InlayHintsParams &, llvm::json::Path)
 
llvm::json::Value lspserver::toJSON (const InlayHintKind &)
 
llvm::json::Value lspserver::toJSON (const InlayHint &)
 
bool lspserver::operator== (const InlayHint &, const InlayHint &)
 
bool lspserver::operator< (const InlayHint &, const InlayHint &)
 
llvm::raw_ostream & lspserver::operator<< (llvm::raw_ostream &, InlayHintKind)
 
llvm::json::Value lspserver::toJSON (const OffsetEncoding &)
 
bool lspserver::fromJSON (const llvm::json::Value &, OffsetEncoding &, llvm::json::Path)
 
llvm::raw_ostream & lspserver::operator<< (llvm::raw_ostream &, OffsetEncoding)
 
bool lspserver::fromJSON (const llvm::json::Value &, SelectionRangeParams &, llvm::json::Path)
 
llvm::json::Value lspserver::toJSON (const SelectionRange &)
 
bool lspserver::fromJSON (const llvm::json::Value &, DocumentLinkParams &, llvm::json::Path)
 
llvm::json::Value lspserver::toJSON (const DocumentLink &DocumentLink)
 
bool lspserver::fromJSON (const llvm::json::Value &, FoldingRangeParams &, llvm::json::Path)
 
llvm::json::Value lspserver::toJSON (const FoldingRange &Range)
 
bool lspserver::fromJSON (const llvm::json::Value &, ASTParams &, llvm::json::Path)
 
llvm::json::Value lspserver::toJSON (const ASTNode &)
 
llvm::raw_ostream & lspserver::operator<< (llvm::raw_ostream &, const ASTNode &)
 
llvm::json::Value lspserver::toJSON (const ConfigurationItem &)
 
llvm::json::Value lspserver::toJSON (const ConfigurationParams &)
 

Variables

constexpr unsigned lspserver::SemanticTokenEncodingSize = 5