We pipelined the hell out of this one...
·
1089 commits
to master
since this release
- Adds support for System.IO.Pipelines
- Added new LanguageClient that mirrors the language server with full functionality.
- Started work on integration testing to ensure that features all work as expected
- Cancellation should now work more consistently.
- Added global request timeout
- Added cancellation of pending requests when text changes occur (ContentModified)
- Normalized all OnXyz handlers to be consistent across all methods. (Enforced with unit tests)
- Requests have a cancellation and non-cancellation overload
- Requests that support partial item results have an additional overloads with async/sync and cancellation/no-cancellation that provide an
IObserver<T> - Notifications support both async/sync and cancellation/no-cancellation
- Normalized all the RequestXyz to be action oriented. Requests are normally prefixed with
Requestand notifications are normally prefixed withSendexcept in the cases where the grammar failsSendDidChangeTextDocumentvsDidChangeTextDocumentorSendPublishDiagnosticsvsPublishDiagnostics.- These all take optional cancellation tokens
- Enforced through unit tests to ensure they exist.
- Direction has been added to all requests and notifications to help with understanding what way they should go.
- Namespaces have been changed slightly, most class names have not been changed drastically.
Thanks to @TylerLeonhardt for working through all the bugs we found with the powershell extension. I feel like we have an even better foundation now with the new tests that were added each time we stomped out a bug.
