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.
Instances For
Equations
Equations
Equations
Equations
Instances For
Equations
Equations
- Lean.Lsp.instOrdLocation = { compare := Lean.Lsp.instOrdLocation.ord }
- targetUri : DocumentUri
- targetRange : Range
- targetSelectionRange : Range
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
Represents a reference to a client editor command.
NOTE: No specific commands are specified by LSP, hence possible commands need to be announced as capabilities.
- title : StringTitle of the command, like save.
- command : StringThe identifier of the actual command handler. 
- Arguments that the command handler should be invoked with. 
Instances For
Equations
- Lean.Lsp.instToJsonCommand.toJson x✝ = Lean.Json.mkObj [[("title", Lean.toJson x✝.title)], [("command", Lean.toJson x✝.command)], Lean.Json.opt "arguments" x✝.arguments?].flatten
Instances For
Equations
Equations
- Lean.Lsp.instFromJsonCommand = { fromJson? := Lean.Lsp.instFromJsonCommand.fromJson }
A snippet is a string that gets inserted into a document, and can afterwards be edited by the user in a structured way.
Snippets contain instructions that specify how this structured editing should proceed. They are expressed in a domain-specific language based on one from TextMate, including the following constructs:
- Designated positions for subsequent user input,
called "tab stops" after their most frequently-used keybinding.
They are denoted with $1,$2, and so forth.$0denotes where the cursor should be positioned after all edits are completed, defaulting to the end of the string. Snippet tab stops are unrelated to tab stops used for indentation.
- Tab stops with default values, called placeholders, written ${1:default}. The default may itself contain a tab stop or a further placeholder and multiple options to select from may be provided by surrounding them with|s and separating them with,, as in${1|if $2 then $3 else $4,if let $2 := $3 then $4 else $5|}.
- One of a set of predefined variables that are replaced with their values.
This includes the current line number ($TM_LINE_NUMBER) or the text that was selected when the snippet was invoked ($TM_SELECTED_TEXT).
- Formatting instructions to modify variables using regular expressions or a set of predefined filters.
The full syntax and semantics of snippets, including the available variables and the rules for escaping control characters, are described in the LSP specification.
- value : String
Instances For
Equations
Instances For
Equations
Equations
Equations
- One or more equations did not get rendered due to their size.
Instances For
A textual edit applicable to a text document.
- range : RangeThe range of the text document to be manipulated. To insert text into a document create a range where start = end.
- newText : StringThe string to be inserted. For delete operations use an empty string. 
- leanExtSnippet? : Option SnippetStringIf this field is present and the editor supports it, newTextis ignored and an interactive snippet edit is performed instead.The use of snippets in TextEdits is a Lean-specific extension to the LSP standard, sonewTextshould still be set to a correct value as fallback in case the editor does not support this feature. Even editors that support snippets may not always use them; for instance, if the file is not already open, VS Code will perform a normal text edit in the background instead.
- Identifier for annotated edit. - WorkspaceEdithas a- changeAnnotationsfield that maps these identifiers to a- ChangeAnnotation. By annotating an edit you can add a description of what the edit will do and also control whether the user is presented with a prompt before applying the edit. reference.
Instances For
Equations
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
Equations
- Lean.Lsp.instFromJsonTextEditBatch = { fromJson? := Lean.fromJson? }
Equations
- Lean.Lsp.instToJsonTextEditBatch = { toJson := Lean.toJson }
Equations
- Lean.Lsp.instCoeTextEditTextEditBatch = { coe := fun (te : Lean.Lsp.TextEdit) => #[te] }
Equations
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
- uri : DocumentUri
Instances For
Equations
- Lean.Lsp.instToJsonVersionedTextDocumentIdentifier.toJson x✝ = Lean.Json.mkObj [[("uri", Lean.toJson x✝.uri)], Lean.Json.opt "version" x✝.version?].flatten
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
A batch of TextEdits to perform on a versioned text document.
- textDocument : VersionedTextDocumentIdentifier
- edits : TextEditBatch
Instances For
Equations
- Lean.Lsp.instToJsonTextDocumentEdit.toJson x✝ = Lean.Json.mkObj [[("textDocument", Lean.toJson x✝.textDocument)], [("edits", Lean.toJson x✝.edits)]].flatten
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Additional information that describes document changes.
- label : StringA human-readable string describing the actual change. The string is rendered prominent in the user interface. 
- needsConfirmation : BoolA flag which indicates that user confirmation is needed before applying the change. 
- A human-readable string which is rendered less prominent in the user interface. 
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Options for CreateFile and RenameFile.
Instances For
Equations
- Lean.Lsp.CreateFile.instToJsonOptions.toJson x✝ = Lean.Json.mkObj [[("overwrite", Lean.toJson x✝.overwrite)], [("ignoreIfExists", Lean.toJson x✝.ignoreIfExists)]].flatten
Instances For
Equations
Equations
Options for DeleteFile.
Instances For
Equations
Equations
- Lean.Lsp.DeleteFile.instToJsonOptions.toJson x✝ = Lean.Json.mkObj [[("recursive", Lean.toJson x✝.recursive)], [("ignoreIfNotExists", Lean.toJson x✝.ignoreIfNotExists)]].flatten
Instances For
Equations
- uri : DocumentUri
Instances For
Equations
- Lean.Lsp.instToJsonCreateFile.toJson x✝ = Lean.Json.mkObj [[("uri", Lean.toJson x✝.uri)], Lean.Json.opt "options" x✝.options?, Lean.Json.opt "annotationId" x✝.annotationId?].flatten
Instances For
Equations
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- oldUri : DocumentUri
- newUri : DocumentUri
- options? : Option CreateFile.Options
Instances For
Equations
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
Equations
- One or more equations did not get rendered due to their size.
Instances For
- uri : DocumentUri
Instances For
Equations
Equations
- Lean.Lsp.instToJsonDeleteFile.toJson x✝ = Lean.Json.mkObj [[("uri", Lean.toJson x✝.uri)], Lean.Json.opt "options" x✝.options?, Lean.Json.opt "annotationId" x✝.annotationId?].flatten
Instances For
Equations
Equations
- One or more equations did not get rendered due to their size.
Instances For
A change to a file resource.
- create : CreateFile → DocumentChange
- rename : RenameFile → DocumentChange
- delete : DeleteFile → DocumentChange
- edit : TextDocumentEdit → DocumentChange
Instances For
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.
A workspace edit represents changes to many resources managed in the workspace.
- changes? : Option (Std.TreeMap DocumentUri TextEditBatch compare)Changes to existing resources. 
- documentChanges? : Option (Array DocumentChange)Depending on the client capability workspace.workspaceEdit.resourceOperationsdocument changes are either an array ofTextDocumentEdits to express changes to n different text documents where each text document edit addresses a specific version of a text document. Or it can contain aboveTextDocumentEdits mixed with create, rename and delete file / folder operations.Whether a client supports versioned document edits is expressed via workspace.workspaceEdit.documentChangesclient capability.If a client neither supports documentChangesnorworkspace.workspaceEdit.resourceOperationsthen only plainTextEdits using thechangesproperty are supported.
- changeAnnotations? : Option (Std.TreeMap String ChangeAnnotation compare)A map of change annotations that can be referenced in AnnotatedTextEdits or create, rename and delete file / folder operations.Whether clients honor this property depends on the client capability workspace.changeAnnotationSupport.
Instances For
Equations
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Equations
- Lean.Lsp.WorkspaceEdit.ofTextDocumentEdit e = { documentChanges? := some #[Lean.Lsp.DocumentChange.edit e] }
Instances For
Equations
- Lean.Lsp.WorkspaceEdit.ofTextEdit doc te = Lean.Lsp.WorkspaceEdit.ofTextDocumentEdit { textDocument := doc, edits := #[te] }
Instances For
The workspace/applyEdit request is sent from the server to the client to modify resource on the client side.
- An optional label of the workspace edit. This label is presented in the user interface for example on an undo stack to undo the workspace edit. 
- edit : WorkspaceEditThe edits to apply. 
Instances For
Equations
- Lean.Lsp.instToJsonApplyWorkspaceEditParams.toJson x✝ = Lean.Json.mkObj [Lean.Json.opt "label" x✝.label?, [("edit", Lean.toJson x✝.edit)]].flatten
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
An item to transfer a text document from the client to the server.
- uri : DocumentUriThe text document's URI. 
- languageId : StringThe text document's language identifier. 
- version : NatThe version number of this document (it will increase after each change, including undo/redo). 
- text : StringThe content of the opened text document. 
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
- textDocument : TextDocumentIdentifier
- position : Position
Instances For
Equations
- Lean.Lsp.instToJsonTextDocumentPositionParams.toJson x✝ = Lean.Json.mkObj [[("textDocument", Lean.toJson x✝.textDocument)], [("position", Lean.toJson x✝.position)]].flatten
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Equations
Equations
- Lean.Lsp.instToJsonDocumentFilter.toJson x✝ = Lean.Json.mkObj [Lean.Json.opt "language" x✝.language?, Lean.Json.opt "scheme" x✝.scheme?, Lean.Json.opt "pattern" x✝.pattern?].flatten
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
Instances For
Equations
- Lean.Lsp.instFromJsonDocumentSelector = { fromJson? := Lean.fromJson? }
Equations
- Lean.Lsp.instToJsonDocumentSelector = { toJson := Lean.toJson }
Equations
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
- documentSelector? : Option DocumentSelector
Instances For
Equations
- Lean.Lsp.instToJsonTextDocumentRegistrationOptions.toJson x✝ = Lean.Json.mkObj [Lean.Json.opt "documentSelector" x✝.documentSelector?].flatten
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
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
Instances For
Equations
Equations
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
Instances For
Equations
Instances For
Reference to the progress of some in-flight piece of work.
Equations
Instances For
Equations
Equations
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- Lean.Lsp.instToJsonWorkDoneProgressEnd.toJson x✝ = Lean.Json.mkObj [[("kind", Lean.toJson x✝.kind)], Lean.Json.opt "message" x✝.message?].flatten
Instances For
- workDoneToken? : Option ProgressToken
Instances For
Equations
- Lean.Lsp.instToJsonWorkDoneProgressParams.toJson x✝ = Lean.Json.mkObj [Lean.Json.opt "workDoneToken" x✝.workDoneToken?].flatten
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
- partialResultToken? : Option ProgressToken
Instances For
Equations
- Lean.Lsp.instToJsonPartialResultParams.toJson x✝ = Lean.Json.mkObj [Lean.Json.opt "partialResultToken" x✝.partialResultToken?].flatten
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- Lean.Lsp.instToJsonWorkDoneProgressOptions.toJson x✝ = Lean.Json.mkObj [[("workDoneProgress", Lean.toJson x✝.workDoneProgress)]].flatten
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
Equations
- Lean.Lsp.instToJsonResolveSupport.toJson x✝ = Lean.Json.mkObj [[("properties", Lean.toJson x✝.properties)]].flatten