LLVM: llvm::lsp Namespace Reference (original) (raw)

Classes
struct ClientCapabilities
struct ClientInfo
struct CodeAction
A code action represents a change that can be performed in code, e.g. More...
struct CodeActionContext
struct CodeActionParams
struct CompletionContext
struct CompletionItem
struct CompletionList
Represents a collection of completion items to be presented in the editor. More...
struct CompletionParams
struct Diagnostic
struct DiagnosticRelatedInformation
Represents a related message and source code location for a diagnostic. More...
struct DidChangeTextDocumentParams
struct DidCloseTextDocumentParams
struct DidOpenTextDocumentParams
struct 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 DocumentLinkParams
Parameters for the document link request. More...
struct DocumentSymbol
Represents programming constructs like variables, classes, interfaces etc. More...
struct DocumentSymbolParams
struct Hover
struct InitializeParams
struct InlayHint
Inlay hint information. More...
struct InlayHintsParams
A parameter literal used in inlay hint requests. More...
class JSONTransport
A transport class that performs the JSON-RPC communication with the LSP client. More...
class JSONTransportInput
An abstract class used by the JSONTransport to read JSON message. More...
class JSONTransportInputOverFile
Concrete implementation of the JSONTransportInput that reads from a file. More...
struct Location
class Logger
This class represents the main interface for logging, and allows for filtering logging based on different levels of severity or significance. More...
class LSPError
This class models an LSP error as an llvm::Error. More...
struct MarkupContent
struct MessageActionItem
class MessageHandler
A handler used to process the incoming transport messages. More...
struct NoParams
struct ParameterInformation
A single parameter of a particular signature. More...
struct Position
struct PublishDiagnosticsParams
struct Range
struct ReferenceContext
struct ReferenceParams
struct ShowMessageParams
struct SignatureHelp
Represents the signature of a callable. More...
struct SignatureInformation
Represents the signature of something callable. More...
struct TextDocumentContentChangeEvent
struct TextDocumentIdentifier
struct TextDocumentItem
struct TextDocumentPositionParams
struct TextEdit
class URIForFile
URI in "file" scheme for a file. More...
struct VersionedTextDocumentIdentifier
struct WorkspaceEdit
Typedefs
using InitializedParams = NoParams
using CompletionItemKindBitset = std::bitset<kCompletionItemKindMax + 1>
template<typename T>
using Callback = llvm::unique_function<void(llvm::Expected<T>)>
A Callback is a void function that accepts Expected.
template<typename T>
using OutgoingNotification = llvm::unique_function<void(const T &)>
An OutgoingNotification is a function used for outgoing notifications send to the client.
template<typename T>
using OutgoingRequest
An OutgoingRequest is a function used for outgoing requests to send to the client.
template<typename T>
using OutgoingRequestCallback
An OutgoingRequestCallback is invoked when an outgoing request to the client receives a response in turn.
Enumerations
enum class ErrorCode { ParseError = -32700 , InvalidRequest = -32600 , MethodNotFound = -32601 , InvalidParams = -32602 , InternalError = -32603 , ServerNotInitialized = -32002 , UnknownErrorCode = -32001 , RequestCancelled = -32800 , ContentModified = -32801 , RequestFailed = -32803 }
enum class TextDocumentSyncKind { None = 0 , Full = 1 , Incremental = 2 }
Defines how the host (editor) should sync document changes to the language server. More...
enum class TraceLevel { Off = 0 , Messages = 1 , Verbose = 2 }
enum class MarkupKind { PlainText, Markdown }
Describes the content type that a client supports in various result literals like Hover. More...
enum class SymbolKind { File = 1 , Module = 2 , Namespace = 3 , Package = 4 , Class = 5 , Method = 6 , Property = 7 , Field = 8 , Constructor = 9 , Enum = 10 , Interface = 11 , Function = 12 , Variable = 13 , Constant = 14 , String = 15 , Number = 16 , Boolean = 17 , Array = 18 , Object = 19 , Key = 20 , Null = 21 , EnumMember = 22 , Struct = 23 , Event = 24 , Operator = 25 , TypeParameter = 26 }
enum class DiagnosticSeverity { Undetermined = 0 , Error = 1 , Warning = 2 , Information = 3 , Hint = 4 }
enum class DiagnosticTag { Unnecessary = 1 , Deprecated = 2 }
enum class CompletionItemKind { Missing = 0 , Text = 1 , Method = 2 , Function = 3 , Constructor = 4 , Field = 5 , Variable = 6 , Class = 7 , Interface = 8 , Module = 9 , Property = 10 , Unit = 11 , Value = 12 , Enum = 13 , Keyword = 14 , Snippet = 15 , Color = 16 , File = 17 , Reference = 18 , Folder = 19 , EnumMember = 20 , Constant = 21 , Struct = 22 , Event = 23 , Operator = 24 , TypeParameter = 25 }
The kind of a completion entry. More...
enum class InsertTextFormat { Missing = 0 , PlainText = 1 , Snippet = 2 }
Defines whether the insert text in a completion item should be interpreted as plain text or a snippet. More...
enum class CompletionTriggerKind { Invoked = 1 , TriggerCharacter = 2 , TriggerTriggerForIncompleteCompletions = 3 }
enum class InlayHintKind { Type = 1 , Parameter = 2 }
Inlay hint kinds. More...
enum class MessageType { Error = 1 , Warning = 2 , Info = 3 , Log = 4 , Debug = 5 }
enum JSONStreamStyle { Standard, Delimited }
The encoding style of the JSON-RPC messages (both input and output). More...
Functions
LLVM_ABI_FOR_TEST llvm::json::Value toJSON (const URIForFile &value)
Add support for JSON serialization.
LLVM_ABI_FOR_TEST bool fromJSON (const llvm::json::Value &value, URIForFile &result, llvm::json::Path path)
raw_ostream & operator<< (raw_ostream &os, const URIForFile &value)
LLVM_ABI_FOR_TEST bool fromJSON (const llvm::json::Value &value, ClientCapabilities &result, llvm::json::Path path)
Add support for JSON serialization.
LLVM_ABI_FOR_TEST bool fromJSON (const llvm::json::Value &value, ClientInfo &result, llvm::json::Path path)
Add support for JSON serialization.
LLVM_ABI_FOR_TEST bool fromJSON (const llvm::json::Value &value, TraceLevel &result, llvm::json::Path path)
Add support for JSON serialization.
LLVM_ABI_FOR_TEST bool fromJSON (const llvm::json::Value &value, InitializeParams &result, llvm::json::Path path)
Add support for JSON serialization.
bool fromJSON (const llvm::json::Value &, NoParams &, llvm::json::Path)
LLVM_ABI_FOR_TEST bool fromJSON (const llvm::json::Value &value, TextDocumentItem &result, llvm::json::Path path)
Add support for JSON serialization.
LLVM_ABI_FOR_TEST llvm::json::Value toJSON (const TextDocumentIdentifier &value)
Add support for JSON serialization.
LLVM_ABI_FOR_TEST bool fromJSON (const llvm::json::Value &value, TextDocumentIdentifier &result, llvm::json::Path path)
LLVM_ABI_FOR_TEST llvm::json::Value toJSON (const VersionedTextDocumentIdentifier &value)
Add support for JSON serialization.
LLVM_ABI_FOR_TEST bool fromJSON (const llvm::json::Value &value, VersionedTextDocumentIdentifier &result, llvm::json::Path path)
LLVM_ABI_FOR_TEST bool fromJSON (const llvm::json::Value &value, Position &result, llvm::json::Path path)
Add support for JSON serialization.
LLVM_ABI_FOR_TEST llvm::json::Value toJSON (const Position &value)
raw_ostream & operator<< (raw_ostream &os, const Position &value)
LLVM_ABI_FOR_TEST bool fromJSON (const llvm::json::Value &value, Range &result, llvm::json::Path path)
Add support for JSON serialization.
LLVM_ABI_FOR_TEST llvm::json::Value toJSON (const Range &value)
raw_ostream & operator<< (raw_ostream &os, const Range &value)
LLVM_ABI_FOR_TEST bool fromJSON (const llvm::json::Value &value, Location &result, llvm::json::Path path)
Add support for JSON serialization.
LLVM_ABI_FOR_TEST llvm::json::Value toJSON (const Location &value)
raw_ostream & operator<< (raw_ostream &os, const Location &value)
LLVM_ABI_FOR_TEST bool fromJSON (const llvm::json::Value &value, TextDocumentPositionParams &result, llvm::json::Path path)
Add support for JSON serialization.
LLVM_ABI_FOR_TEST bool fromJSON (const llvm::json::Value &value, ReferenceContext &result, llvm::json::Path path)
Add support for JSON serialization.
LLVM_ABI_FOR_TEST bool fromJSON (const llvm::json::Value &value, ReferenceParams &result, llvm::json::Path path)
Add support for JSON serialization.
LLVM_ABI_FOR_TEST bool fromJSON (const llvm::json::Value &value, DidOpenTextDocumentParams &result, llvm::json::Path path)
Add support for JSON serialization.
LLVM_ABI_FOR_TEST bool fromJSON (const llvm::json::Value &value, DidCloseTextDocumentParams &result, llvm::json::Path path)
Add support for JSON serialization.
LLVM_ABI_FOR_TEST bool fromJSON (const llvm::json::Value &value, TextDocumentContentChangeEvent &result, llvm::json::Path path)
Add support for JSON serialization.
LLVM_ABI_FOR_TEST bool fromJSON (const llvm::json::Value &value, DidChangeTextDocumentParams &result, llvm::json::Path path)
Add support for JSON serialization.
raw_ostream & operator<< (raw_ostream &os, MarkupKind kind)
LLVM_ABI_FOR_TEST llvm::json::Value toJSON (const MarkupContent &mc)
Add support for JSON serialization.
LLVM_ABI_FOR_TEST llvm::json::Value toJSON (const Hover &hover)
Add support for JSON serialization.
LLVM_ABI_FOR_TEST llvm::json::Value toJSON (const DocumentSymbol &symbol)
Add support for JSON serialization.
LLVM_ABI_FOR_TEST bool fromJSON (const llvm::json::Value &value, DocumentSymbolParams &result, llvm::json::Path path)
Add support for JSON serialization.
LLVM_ABI_FOR_TEST bool fromJSON (const llvm::json::Value &value, DiagnosticRelatedInformation &result, llvm::json::Path path)
Add support for JSON serialization.
LLVM_ABI_FOR_TEST llvm::json::Value toJSON (const DiagnosticRelatedInformation &info)
LLVM_ABI_FOR_TEST llvm::json::Value toJSON (DiagnosticTag tag)
Add support for JSON serialization.
LLVM_ABI_FOR_TEST bool fromJSON (const llvm::json::Value &value, DiagnosticTag &result, llvm::json::Path path)
LLVM_ABI_FOR_TEST llvm::json::Value toJSON (const Diagnostic &diag)
Add support for JSON serialization.
LLVM_ABI_FOR_TEST bool fromJSON (const llvm::json::Value &value, Diagnostic &result, llvm::json::Path path)
LLVM_ABI_FOR_TEST llvm::json::Value toJSON (const PublishDiagnosticsParams &params)
Add support for JSON serialization.
bool operator== (const TextEdit &lhs, const TextEdit &rhs)
LLVM_ABI_FOR_TEST bool fromJSON (const llvm::json::Value &value, TextEdit &result, llvm::json::Path path)
LLVM_ABI_FOR_TEST llvm::json::Value toJSON (const TextEdit &value)
raw_ostream & operator<< (raw_ostream &os, const TextEdit &value)
LLVM_ABI_FOR_TEST bool fromJSON (const llvm::json::Value &value, CompletionItemKind &result, llvm::json::Path path)
LLVM_ABI_FOR_TEST bool fromJSON (const llvm::json::Value &value, CompletionItemKindBitset &result, llvm::json::Path path)
CompletionItemKind adjustKindToCapability (CompletionItemKind kind, CompletionItemKindBitset &supportedCompletionItemKinds)
LLVM_ABI_FOR_TEST llvm::json::Value toJSON (const CompletionItem &value)
Add support for JSON serialization.
raw_ostream & operator<< (raw_ostream &os, const CompletionItem &value)
bool operator< (const CompletionItem &lhs, const CompletionItem &rhs)
LLVM_ABI_FOR_TEST llvm::json::Value toJSON (const CompletionList &value)
Add support for JSON serialization.
LLVM_ABI_FOR_TEST bool fromJSON (const llvm::json::Value &value, CompletionContext &result, llvm::json::Path path)
Add support for JSON serialization.
LLVM_ABI_FOR_TEST bool fromJSON (const llvm::json::Value &value, CompletionParams &result, llvm::json::Path path)
Add support for JSON serialization.
LLVM_ABI_FOR_TEST llvm::json::Value toJSON (const ParameterInformation &value)
Add support for JSON serialization.
LLVM_ABI_FOR_TEST llvm::json::Value toJSON (const SignatureInformation &value)
Add support for JSON serialization.
raw_ostream & operator<< (raw_ostream &os, const SignatureInformation &value)
LLVM_ABI_FOR_TEST llvm::json::Value toJSON (const SignatureHelp &value)
Add support for JSON serialization.
LLVM_ABI_FOR_TEST bool fromJSON (const llvm::json::Value &value, DocumentLinkParams &result, llvm::json::Path path)
Add support for JSON serialization.
LLVM_ABI_FOR_TEST llvm::json::Value toJSON (const DocumentLink &value)
Add support for JSON serialization.
LLVM_ABI_FOR_TEST bool fromJSON (const llvm::json::Value &value, InlayHintsParams &result, llvm::json::Path path)
Add support for JSON serialization.
LLVM_ABI_FOR_TEST llvm::json::Value toJSON (const InlayHint &)
Add support for JSON serialization.
bool operator== (const InlayHint &lhs, const InlayHint &rhs)
bool operator< (const InlayHint &lhs, const InlayHint &rhs)
llvm::raw_ostream & operator<< (llvm::raw_ostream &os, InlayHintKind value)
LLVM_ABI_FOR_TEST bool fromJSON (const llvm::json::Value &value, CodeActionContext &result, llvm::json::Path path)
Add support for JSON serialization.
LLVM_ABI_FOR_TEST bool fromJSON (const llvm::json::Value &value, CodeActionParams &result, llvm::json::Path path)
Add support for JSON serialization.
LLVM_ABI_FOR_TEST bool fromJSON (const llvm::json::Value &value, WorkspaceEdit &result, llvm::json::Path path)
Add support for JSON serialization.
LLVM_ABI_FOR_TEST llvm::json::Value toJSON (const WorkspaceEdit &value)
LLVM_ABI_FOR_TEST llvm::json::Value toJSON (const CodeAction &)
Add support for JSON serialization.
llvm::json::Value toJSON (const MessageActionItem &Params)
Add support for JSON serialization.
llvm::json::Value toJSON (const ShowMessageParams &Params)
Add support for JSON serialization.
Variables
constexpr auto kCompletionItemKindMin
constexpr auto kCompletionItemKindMax

Callback

A Callback is a void function that accepts Expected.

This is accepted by functions that logically return T.

Definition at line 139 of file Transport.h.

CompletionItemKindBitset

InitializedParams

OutgoingNotification

An OutgoingNotification is a function used for outgoing notifications send to the client.

Definition at line 144 of file Transport.h.

OutgoingRequest

Initial value:

A Value is an JSON value of unknown type.

unique_function is a type-erasing functor similar to std::function.

An OutgoingRequest is a function used for outgoing requests to send to the client.

Definition at line 149 of file Transport.h.

OutgoingRequestCallback

Initial value:

Tagged union holding either a T or a Error.

An OutgoingRequestCallback is invoked when an outgoing request to the client receives a response in turn.

It is passed the original request's ID, as well as the response result.

Definition at line 156 of file Transport.h.

CompletionItemKind

The kind of a completion entry.

Enumerator
Missing
Text
Method
Function
Constructor
Field
Variable
Class
Interface
Module
Property
Unit
Value
Enum
Keyword
Snippet
Color
File
Reference
Folder
EnumMember
Constant
Struct
Event
Operator
TypeParameter

Definition at line 795 of file Protocol.h.

CompletionTriggerKind

Enumerator
Invoked Completion was triggered by typing an identifier (24x7 code complete), manual invocation (e.g Ctrl+Space) or via API.
TriggerCharacter Completion was triggered by a trigger character specified by the triggerCharacters properties of the CompletionRegistrationOptions.
TriggerTriggerForIncompleteCompletions Completion was re-triggered as the current completion list is incomplete.

Definition at line 942 of file Protocol.h.

DiagnosticSeverity

Enumerator
Undetermined It is up to the client to interpret diagnostics as error, warning, info or hint.
Error
Warning
Information
Hint

Definition at line 693 of file Protocol.h.

DiagnosticTag

Enumerator
Unnecessary
Deprecated

Definition at line 703 of file Protocol.h.

ErrorCode

enum class llvm::lsp::ErrorCode strong
Enumerator
ParseError
InvalidRequest
MethodNotFound
InvalidParams
InternalError
ServerNotInitialized
UnknownErrorCode
RequestCancelled
ContentModified
RequestFailed

Definition at line 44 of file Protocol.h.

InlayHintKind

Inlay hint kinds.

Enumerator
Type An inlay hint that for a type annotation. An example of a type hint is a hint in this position: auto var ^ = expr; which shows the deduced type of the variable.
Parameter An inlay hint that is for a parameter. An example of a parameter hint is a hint in this position: func(^arg); which shows the name of the corresponding parameter.

Definition at line 1115 of file Protocol.h.

InsertTextFormat

Defines whether the insert text in a completion item should be interpreted as plain text or a snippet.

Enumerator
Missing
PlainText The primary text to be inserted is treated as a plain string.
Snippet The primary text to be inserted is treated as a snippet. A snippet can define tab stops and placeholders with 1,1, 1,2 and 3:foo.{3:foo}. 3:foo.0 defines the final tab stop, it defaults to the end of the snippet. Placeholders with equal identifiers are linked, that is typing in one will update others too. See also: https//github.com/Microsoft/vscode/blob/master/src/vs/editor/contrib/snippet/common/snippet.md

Definition at line 846 of file Protocol.h.

JSONStreamStyle

The encoding style of the JSON-RPC messages (both input and output).

Enumerator
Standard Encoding per the LSP specification, with mandatory Content-Length header.
Delimited Messages are delimited by a '// --—' line. Comment lines start with //.

Definition at line 45 of file Transport.h.

MarkupKind

enum class llvm::lsp::MarkupKind strong

Describes the content type that a client supports in various result literals like Hover.

Enumerator
PlainText
Markdown

Definition at line 542 of file Protocol.h.

MessageType

enum class llvm::lsp::MessageType strong
Enumerator
Error
Warning
Info
Log
Debug

Definition at line 1276 of file Protocol.h.

SymbolKind

enum class llvm::lsp::SymbolKind strong
Enumerator
File
Module
Namespace
Package
Class
Method
Property
Field
Constructor
Enum
Interface
Function
Variable
Constant
String
Number
Boolean
Array
Object
Key
Null
EnumMember
Struct
Event
Operator
TypeParameter

Definition at line 579 of file Protocol.h.

TextDocumentSyncKind

Defines how the host (editor) should sync document changes to the language server.

Enumerator
None Documents should not be synced at all.
Full Documents are synced by always sending the full content of the document.
Incremental Documents are synced by sending the full content on open. After that only incremental updates to the document are sent.

Definition at line 63 of file Protocol.h.

TraceLevel

enum class llvm::lsp::TraceLevel strong
Enumerator
Off
Messages
Verbose

Definition at line 199 of file Protocol.h.

adjustKindToCapability()

CompletionItemKind llvm::lsp::adjustKindToCapability ( CompletionItemKind kind,
CompletionItemKindBitset & supportedCompletionItemKinds )

fromJSON() [1/33]

fromJSON() [2/33]

fromJSON() [3/33]

fromJSON() [4/33]

fromJSON() [5/33]

fromJSON() [6/33]

fromJSON() [7/33]

fromJSON() [8/33]

fromJSON() [9/33]

fromJSON() [10/33]

fromJSON() [11/33]

fromJSON() [12/33]

fromJSON() [13/33]

fromJSON() [14/33]

fromJSON() [15/33]

fromJSON() [16/33]

fromJSON() [17/33]

fromJSON() [18/33]

fromJSON() [19/33]

fromJSON() [20/33]

fromJSON() [21/33]

fromJSON() [22/33]

fromJSON() [23/33]

fromJSON() [24/33]

fromJSON() [25/33]

fromJSON() [26/33]

fromJSON() [27/33]

fromJSON() [28/33]

fromJSON() [29/33]

fromJSON() [30/33]

fromJSON() [31/33]

fromJSON() [32/33]

fromJSON() [33/33]

operator<() [1/2]

operator<() [2/2]

operator<<() [1/9]

operator<<() [2/9]

operator<<() [3/9]

operator<<() [4/9]

operator<<() [5/9]

operator<<() [6/9]

operator<<() [7/9]

operator<<() [8/9]

operator<<() [9/9]

operator==() [1/2]

operator==() [2/2]

toJSON() [1/25]

toJSON() [2/25]

toJSON() [3/25]

toJSON() [4/25]

toJSON() [5/25]

toJSON() [6/25]

toJSON() [7/25]

Add support for JSON serialization.

Definition at line 598 of file Protocol.cpp.

toJSON() [8/25]

toJSON() [9/25]

toJSON() [10/25]

toJSON() [11/25]

toJSON() [12/25]

toJSON() [13/25]

toJSON() [14/25]

toJSON() [15/25]

toJSON() [16/25]

toJSON() [17/25]

toJSON() [18/25]

toJSON() [19/25]

toJSON() [20/25]

toJSON() [21/25]

toJSON() [22/25]

toJSON() [23/25]

toJSON() [24/25]

toJSON() [25/25]

kCompletionItemKindMax

auto llvm::lsp::kCompletionItemKindMax constexpr

kCompletionItemKindMin

auto llvm::lsp::kCompletionItemKindMin constexpr