clang-tools  7.0.0
Classes | Namespaces | Typedefs | Enumerations | Functions | Variables
Protocol.h File Reference
#include "URI.h"
#include "llvm/ADT/Optional.h"
#include "llvm/Support/JSON.h"
#include <bitset>
#include <string>
#include <vector>
Include dependency graph for Protocol.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  clang::clangd::URIForFile
 
struct  clang::clangd::TextDocumentIdentifier
 
struct  clang::clangd::Position
 
struct  clang::clangd::Range
 
struct  clang::clangd::Location
 
struct  clang::clangd::Metadata
 
struct  clang::clangd::TextEdit
 
struct  clang::clangd::TextDocumentItem
 
struct  clang::clangd::NoParams
 
struct  clang::clangd::CompletionItemClientCapabilities
 
struct  clang::clangd::CompletionClientCapabilities
 
struct  clang::clangd::SymbolKindCapabilities
 
struct  clang::clangd::WorkspaceSymbolCapabilities
 
struct  clang::clangd::WorkspaceClientCapabilities
 
struct  clang::clangd::TextDocumentClientCapabilities
 
struct  clang::clangd::ClientCapabilities
 
struct  clang::clangd::ClangdConfigurationParamsChange
 Clangd extension to set clangd-specific "initializationOptions" in the "initialize" request and for the "workspace/didChangeConfiguration" notification since the data received is described as 'any' type in LSP. More...
 
struct  clang::clangd::ClangdInitializationOptions
 
struct  clang::clangd::InitializeParams
 
struct  clang::clangd::DidOpenTextDocumentParams
 
struct  clang::clangd::DidCloseTextDocumentParams
 
struct  clang::clangd::TextDocumentContentChangeEvent
 
struct  clang::clangd::DidChangeTextDocumentParams
 
struct  clang::clangd::FileEvent
 
struct  clang::clangd::DidChangeWatchedFilesParams
 
struct  clang::clangd::DidChangeConfigurationParams
 
struct  clang::clangd::FormattingOptions
 
struct  clang::clangd::DocumentRangeFormattingParams
 
struct  clang::clangd::DocumentOnTypeFormattingParams
 
struct  clang::clangd::DocumentFormattingParams
 
struct  clang::clangd::DocumentSymbolParams
 
struct  clang::clangd::Diagnostic
 
struct  clang::clangd::LSPDiagnosticCompare
 A LSP-specific comparator used to find diagnostic in a container like std:map. More...
 
struct  clang::clangd::CodeActionContext
 
struct  clang::clangd::CodeActionParams
 
struct  clang::clangd::WorkspaceEdit
 
struct  clang::clangd::ExecuteCommandParams
 Exact commands are not specified in the protocol so we define the ones supported by Clangd here. More...
 
struct  clang::clangd::Command
 
struct  clang::clangd::SymbolInformation
 Represents information about programming constructs like variables, classes, interfaces etc. More...
 
struct  clang::clangd::WorkspaceSymbolParams
 The parameters of a Workspace Symbol Request. More...
 
struct  clang::clangd::ApplyWorkspaceEditParams
 
struct  clang::clangd::TextDocumentPositionParams
 
struct  clang::clangd::MarkupContent
 
struct  clang::clangd::Hover
 
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::DocumentHighlight
 A document highlight is a range inside a text document which deserves special attention. More...
 
struct  llvm::format_provider< clang::clangd::Position >
 

Namespaces

 clang
 ===– Representation.cpp - ClangDoc Representation --------—*- C++ -*-===//
 
 clang::clangd
 
 llvm
 Some operations such as code completion produce a set of candidates.
 

Typedefs

using clang::clangd::ShutdownParams = NoParams
 
using clang::clangd::ExitParams = NoParams
 
using clang::clangd::SymbolKindBitset = std::bitset< SymbolKindMax+1 >
 

Enumerations

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

Functions

json::Value clang::clangd::toJSON (const URIForFile &U)
 Serialize/deserialize URIForFile to/from a string URI. More...
 
bool clang::clangd::fromJSON (const llvm::json::Value &, URIForFile &)
 
json::Value clang::clangd::toJSON (const TextDocumentIdentifier &R)
 
bool clang::clangd::fromJSON (const llvm::json::Value &, TextDocumentIdentifier &)
 
bool clang::clangd::fromJSON (const llvm::json::Value &, Position &)
 
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 &, Range &)
 
json::Value clang::clangd::toJSON (const Range &P)
 
llvm::raw_ostream & clang::clangd::operator<< (llvm::raw_ostream &OS, const Range &R)
 
json::Value clang::clangd::toJSON (const Location &P)
 
llvm::raw_ostream & clang::clangd::operator<< (llvm::raw_ostream &OS, const Location &L)
 
bool clang::clangd::fromJSON (const llvm::json::Value &, Metadata &)
 
bool clang::clangd::fromJSON (const llvm::json::Value &, TextEdit &)
 
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 &, TextDocumentItem &)
 
bool clang::clangd::fromJSON (const llvm::json::Value &E, TraceLevel &Out)
 
bool clang::clangd::fromJSON (const llvm::json::Value &, NoParams &)
 
bool clang::clangd::fromJSON (const llvm::json::Value &, CompletionItemClientCapabilities &)
 
bool clang::clangd::fromJSON (const llvm::json::Value &, CompletionClientCapabilities &)
 
bool clang::clangd::fromJSON (const llvm::json::Value &, SymbolKind &)
 
bool clang::clangd::fromJSON (const llvm::json::Value &, std::vector< SymbolKind > &)
 
bool clang::clangd::fromJSON (const llvm::json::Value &, SymbolKindCapabilities &)
 
SymbolKind clang::clangd::adjustKindToCapability (SymbolKind Kind, SymbolKindBitset &SupportedSymbolKinds)
 
bool clang::clangd::fromJSON (const llvm::json::Value &, WorkspaceSymbolCapabilities &)
 
bool clang::clangd::fromJSON (const llvm::json::Value &, WorkspaceClientCapabilities &)
 
bool clang::clangd::fromJSON (const llvm::json::Value &, TextDocumentClientCapabilities &)
 
bool clang::clangd::fromJSON (const llvm::json::Value &, ClientCapabilities &)
 
bool clang::clangd::fromJSON (const llvm::json::Value &, ClangdConfigurationParamsChange &)
 
bool clang::clangd::fromJSON (const llvm::json::Value &, InitializeParams &)
 
bool clang::clangd::fromJSON (const llvm::json::Value &, DidOpenTextDocumentParams &)
 
bool clang::clangd::fromJSON (const llvm::json::Value &, DidCloseTextDocumentParams &)
 
bool clang::clangd::fromJSON (const llvm::json::Value &, TextDocumentContentChangeEvent &)
 
bool clang::clangd::fromJSON (const llvm::json::Value &, DidChangeTextDocumentParams &)
 
bool clang::clangd::fromJSON (const llvm::json::Value &E, FileChangeType &Out)
 
bool clang::clangd::fromJSON (const llvm::json::Value &, FileEvent &)
 
bool clang::clangd::fromJSON (const llvm::json::Value &, DidChangeWatchedFilesParams &)
 
bool clang::clangd::fromJSON (const llvm::json::Value &, DidChangeConfigurationParams &)
 
bool clang::clangd::fromJSON (const llvm::json::Value &, FormattingOptions &)
 
json::Value clang::clangd::toJSON (const FormattingOptions &P)
 
bool clang::clangd::fromJSON (const llvm::json::Value &, DocumentRangeFormattingParams &)
 
bool clang::clangd::fromJSON (const llvm::json::Value &, DocumentOnTypeFormattingParams &)
 
bool clang::clangd::fromJSON (const llvm::json::Value &, DocumentFormattingParams &)
 
bool clang::clangd::fromJSON (const llvm::json::Value &, DocumentSymbolParams &)
 
bool clang::clangd::fromJSON (const llvm::json::Value &, Diagnostic &)
 
llvm::raw_ostream & clang::clangd::operator<< (llvm::raw_ostream &OS, const Diagnostic &D)
 
bool clang::clangd::fromJSON (const llvm::json::Value &, CodeActionContext &)
 
bool clang::clangd::fromJSON (const llvm::json::Value &, CodeActionParams &)
 
bool clang::clangd::fromJSON (const llvm::json::Value &, WorkspaceEdit &)
 
json::Value clang::clangd::toJSON (const WorkspaceEdit &WE)
 
bool clang::clangd::fromJSON (const llvm::json::Value &, ExecuteCommandParams &)
 
json::Value clang::clangd::toJSON (const Command &C)
 
json::Value clang::clangd::toJSON (const SymbolInformation &P)
 
llvm::raw_ostream & clang::clangd::operator<< (llvm::raw_ostream &O, const SymbolInformation &SI)
 
bool clang::clangd::fromJSON (const llvm::json::Value &, WorkspaceSymbolParams &)
 
json::Value clang::clangd::toJSON (const ApplyWorkspaceEditParams &Params)
 
bool clang::clangd::fromJSON (const llvm::json::Value &, TextDocumentPositionParams &)
 
json::Value clang::clangd::toJSON (const MarkupContent &MC)
 
json::Value clang::clangd::toJSON (const Hover &H)
 
json::Value clang::clangd::toJSON (const CompletionItem &CI)
 
llvm::raw_ostream & clang::clangd::operator<< (llvm::raw_ostream &O, const CompletionItem &I)
 
bool clang::clangd::operator< (const CompletionItem &L, const CompletionItem &R)
 
json::Value clang::clangd::toJSON (const CompletionList &L)
 
json::Value clang::clangd::toJSON (const ParameterInformation &PI)
 
json::Value clang::clangd::toJSON (const SignatureInformation &SI)
 
llvm::raw_ostream & clang::clangd::operator<< (llvm::raw_ostream &O, const SignatureInformation &I)
 
json::Value clang::clangd::toJSON (const SignatureHelp &SH)
 
bool clang::clangd::fromJSON (const llvm::json::Value &, RenameParams &)
 
json::Value clang::clangd::toJSON (const DocumentHighlight &DH)
 
llvm::raw_ostream & clang::clangd::operator<< (llvm::raw_ostream &O, const DocumentHighlight &V)
 

Variables

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