Minimal LSP servers/clients do not have to implement a lot of functionality. Most useful additional behavior is instead opted into via capabilities.
- completionItem? : Option CompletionItemCapabilities
- completion? : Option CompletionClientCapabilities
- codeAction? : Option CodeActionClientCapabilities
- showDocument? : Option ShowDocumentClientCapabilities
The client supports versioned document changes in
WorkspaceEdit
s.- changeAnnotationSupport? : Option ChangeAnnotationSupport
Whether the client in general supports change annotations on text edits.
The resource operations the client supports. Clients should at least support 'create', 'rename' and 'delete' files and folders.
- workspaceEdit? : Option WorkspaceEditClientCapabilities
- textDocument? : Option TextDocumentClientCapabilities
- window? : Option WindowClientCapabilities
- workspace? : Option WorkspaceClientCapabilities
Equations
Equations
- Lean.Lsp.instFromJsonClientCapabilities = { fromJson? := Lean.Lsp.fromJsonClientCapabilities✝ }
- textDocumentSync? : Option TextDocumentSyncOptions
- completionProvider? : Option CompletionOptions
- hoverProvider : Bool
- documentHighlightProvider : Bool
- documentSymbolProvider : Bool
- definitionProvider : Bool
- declarationProvider : Bool
- typeDefinitionProvider : Bool
- referencesProvider : Bool
- callHierarchyProvider : Bool
- renameProvider? : Option RenameOptions
- workspaceSymbolProvider : Bool
- foldingRangeProvider : Bool
- semanticTokensProvider? : Option SemanticTokensOptions
- codeActionProvider? : Option CodeActionOptions
Equations
Equations
- Lean.Lsp.instFromJsonServerCapabilities = { fromJson? := Lean.Lsp.fromJsonServerCapabilities✝ }