We pipelined the hell out of this one...
·
933 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
Request
and notifications are normally prefixed withSend
except in the cases where the grammar failsSendDidChangeTextDocument
vsDidChangeTextDocument
orSendPublishDiagnostics
vsPublishDiagnostics
.- 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.