Defines most of the 'Basic Structures' in the LSP specification (https://microsoft.github.io/language-server-protocol/specifications/specification-current/), as well as some utilities.
Since LSP is Json-based, Ints/Nats are represented by Floats on the wire.
Equations
- Lean.Lsp.instInhabitedCancelParams = { default := { id := default } }
Equations
- Lean.Lsp.instBEqCancelParams = { beq := [anonymous] }
Equations
- Lean.Lsp.instToJsonCancelParams = { toJson := [anonymous] }
Equations
- Lean.Lsp.instFromJsonCancelParams = { fromJson? := [anonymous] }
We adopt the convention that zero-based UTF-16 positions as sent by LSP clients
are represented by Lsp.Position
while internally we mostly use String.Pos
UTF-8
offsets. For diagnostics, one-based Lean.Position
s are used internally.
character
is accepted liberally: actual character := min(line length, character)
Equations
- Lean.Lsp.instInhabitedPosition = { default := { line := default, character := default } }
Equations
- Lean.Lsp.instBEqPosition = { beq := [anonymous] }
Equations
- Lean.Lsp.instOrdPosition = { compare := [anonymous] }
Equations
- Lean.Lsp.instHashablePosition = { hash := [anonymous] }
Equations
- Lean.Lsp.instToJsonPosition = { toJson := [anonymous] }
Equations
- Lean.Lsp.instFromJsonPosition = { fromJson? := [anonymous] }
Equations
- Lean.Lsp.instLTPosition = ltOfOrd
Equations
- Lean.Lsp.instLEPosition = leOfOrd
Equations
- Lean.Lsp.instInhabitedRange = { default := { start := default, end := default } }
Equations
- Lean.Lsp.instBEqRange = { beq := [anonymous] }
Equations
- Lean.Lsp.instHashableRange = { hash := [anonymous] }
Equations
- Lean.Lsp.instToJsonRange = { toJson := [anonymous] }
Equations
- Lean.Lsp.instFromJsonRange = { fromJson? := [anonymous] }
Equations
- Lean.Lsp.instOrdRange = { compare := [anonymous] }
Equations
- Lean.Lsp.instInhabitedLocation = { default := { uri := default, range := default } }
Equations
- Lean.Lsp.instBEqLocation = { beq := [anonymous] }
Equations
- Lean.Lsp.instToJsonLocation = { toJson := [anonymous] }
Equations
- Lean.Lsp.instFromJsonLocation = { fromJson? := [anonymous] }
- originSelectionRange? : Option Lean.Lsp.Range
- targetUri : Lean.Lsp.DocumentUri
- targetRange : Lean.Lsp.Range
- targetSelectionRange : Lean.Lsp.Range
Equations
- Lean.Lsp.instToJsonLocationLink = { toJson := [anonymous] }
Equations
- Lean.Lsp.instFromJsonLocationLink = { fromJson? := [anonymous] }
Equations
- Lean.Lsp.instToJsonCommand = { toJson := [anonymous] }
Equations
- Lean.Lsp.instFromJsonCommand = { fromJson? := [anonymous] }
Equations
- Lean.Lsp.instToJsonTextEdit = { toJson := [anonymous] }
Equations
- Lean.Lsp.instFromJsonTextEdit = { fromJson? := [anonymous] }
Equations
- Lean.Lsp.instFromJsonTextEditBatch = { fromJson? := Lean.fromJson? }
Equations
- Lean.Lsp.instToJsonTextEditBatch = { toJson := Lean.toJson }
Equations
- Lean.Lsp.instToJsonTextDocumentIdentifier = { toJson := [anonymous] }
Equations
- Lean.Lsp.instFromJsonTextDocumentIdentifier = { fromJson? := [anonymous] }
- uri : Lean.Lsp.DocumentUri
- textDocument : Lean.Lsp.VersionedTextDocumentIdentifier
- edits : Lean.Lsp.TextEditBatch
Equations
- Lean.Lsp.instToJsonTextDocumentEdit = { toJson := [anonymous] }
Equations
- Lean.Lsp.instFromJsonTextDocumentEdit = { fromJson? := [anonymous] }
- uri : Lean.Lsp.DocumentUri
- languageId : String
- version : Nat
- text : String
Equations
- Lean.Lsp.instToJsonTextDocumentItem = { toJson := [anonymous] }
Equations
- Lean.Lsp.instFromJsonTextDocumentItem = { fromJson? := [anonymous] }
- textDocument : Lean.Lsp.TextDocumentIdentifier
- position : Lean.Lsp.Position
Equations
- One or more equations did not get rendered due to their size.
Equations
- Lean.Lsp.instToJsonDocumentFilter = { toJson := [anonymous] }
Equations
- Lean.Lsp.instFromJsonDocumentFilter = { fromJson? := [anonymous] }
Equations
- Lean.Lsp.instFromJsonDocumentSelector = { fromJson? := Lean.fromJson? }
Equations
- Lean.Lsp.instToJsonDocumentSelector = { toJson := Lean.toJson }
- documentSelector? : Option Lean.Lsp.DocumentSelector
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Equations
- Lean.Lsp.instToJsonMarkupContent = { toJson := [anonymous] }
Equations
- Lean.Lsp.instFromJsonMarkupContent = { fromJson? := [anonymous] }
instance
Lean.Lsp.instToJsonProgressParams:
{α : Type} → [inst : Lean.ToJson α] → Lean.ToJson (Lean.Lsp.ProgressParams α)
Equations
- Lean.Lsp.instToJsonProgressParams = { toJson := [anonymous] }
Equations
- Lean.Lsp.instToJsonWorkDoneProgressReport = { toJson := [anonymous] }
- title : String
Equations
- Lean.Lsp.instToJsonWorkDoneProgressBegin = { toJson := [anonymous] }
Equations
- Lean.Lsp.instToJsonWorkDoneProgressEnd = { toJson := [anonymous] }