All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Generate the LSP request and response types from the LSP spec. (@TheAngryByrd is the GOAT for this). We now expose the full surface area of the 3.17 LSP spec.
Types: import more RegistrationOptions types from LSP spec (Thanks @razzmatazz)
Types: Do not use Obsolete attribute to annotate deprecated types in LSP (Thanks @razzmatazz)
- Support JsonRpc via web sockets (Thanks @dawedawe)
- Add TriggerForIncompleteCompletions & Capitalize the first char of fields of CompletionContext (thanks @tcx4c70)
- Fix WorkDoneProgressCancel arguments (thanks @TheAngryByrd)
- Update StreamJsonRpc to 2.16.36 (thanks @TheAngryByrd)
- Add default for WorkspaceSymbolResolve (thanks @nojaf)
- Fix crashing on json serialization (thanks @TheAngryByrd)
- BREAKING Change Fixing Spelling (Thanks @TheAngryByrd)
- Update a type signature on the SignatureInformation structure
- Add missing features for LSP Specification 3.17 (thanks @tcx4c70!)
- Allow multiple instances of the server on a single process (thanks @TrevorThoele2!)
- PublishDiagnosticsCapabilities should be optional (thanks @sharpSteff!)
- Added types and bindings for the following endpoints (thanks @tcs4c70!)
- textDocument/prepareCallHierarchy
- callHierarchy/incomingCalls
- callHierarchy/outgoingCalls
- textDocument/prepareTypeHierarchy
- typeHierarchy/supertypes
- typeHierarchy/subtypes
- Add textDocument/inlineValue types and functionality (thanks @kaashyapan!)
- Add types for Progress and WorkDone (thanks @TheAngryByrd!)
- Fix type constraints for diagnostics sources to prevent serialization errors
- Introduce interfaces for LSP server and client to allow for easier testing (thanks @TheAngryByrd!)
- Error.RequestCancelled support (thanks @razzmatazz!)
- Make server-reported LSP errors not crash the transport (thanks @razzmatazz!)
- textDocument/prepareRename types and functionality and client/server capabilities (thanks @artempyanykh!)
- JsonRpc no longer swallows exceptions (thanks @artempyanykh!)
- Deserialization support for erased unions (Thanks @Booksbaum!)
- Fix a typo in the workspace/executeCommand registration (Thanks @keynmol!)
- Make the inlayHint client capability optional (thanks @artempyanykh!)
- Handle exceptions from serialization (thanks @artempyanykh!)
- Make the InlayHintWorkspaceClientCapabilities part of WorkspaceClientCapabilities (thanks @Booksbaum!)
textDocument/symbol
now returnsDocumentSymbol[]
instead ofSymbolInformation[]
(thanks @artempyanykh!)
- Workaround a VSCode language client bug preventing server shutdown (thanks @artempyanykh!)
- Types and methods for InlayHint support (thanks @Booksbaum!)
- Add types for workspace folders (thanks @artempyanykh!)
- Add types for workspace file notifications (thanks @artempyanykh!)
- Use the StreamJsonRpc library as the transport layer instead of our own (thanks @razzmatazz!)
- Add XmlDocs to the generated package
- Expose client
CodeAction
caps as CodeActionClientCapabilities. (by @razzmatazz) - Map CodeAction.IsPreferred & CodeAction.Disabled props. (by @razzmatazz)
- Add support for
codeAction/resolve
(by @razzmatazz)
- Initial implementation