Skip to content

We pipelined the hell out of this one...

Compare
Choose a tag to compare
@david-driscoll david-driscoll released this 02 Jun 04:21
· 933 commits to master since this release
21f56ec

mariopipes-final

  • 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 with Send except in the cases where the grammar fails SendDidChangeTextDocument vs DidChangeTextDocument or SendPublishDiagnostics vs PublishDiagnostics.
    • 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.