Skip to content

Introduce the new provider model with CodeLens and document symbol providers #497

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 5 commits into from
Jun 8, 2017

Conversation

daviwil
Copy link
Contributor

@daviwil daviwil commented Jun 8, 2017

This establishes the new IFeatureProvider model and the IComponentRegistry interface which allows us to have a highly composable feature design enabling external modules to plug in new behavior to existing feature interfaces.

Please feel free to ask any questions you have about what I've done here, I won't be merging the code until the morning.

daviwil added 4 commits June 7, 2017 15:48
This change adds a new interface called IComponentRegistry which acts as
a dependency container for components in PowerShell Editor Services.
It also adds a default ComponentRegistry class which implements this
interface so that it can be used in the server.
This change introduces a new provider model into PowerShell Editor
Services so that feature components can have an arbitrary number of
providers registered which are used in addition to any default
implementations.  This is intended to be used as an extensibility
mechanism.
This change adds the IDocumentSymbols and IDocumentSymbolProvider
interfaces plus their implementations, moving the existing symbol
provider classes over to this new model.
This change adds the ICodeLenses and ICodeLensProvider interfaces and
their implementations to establish the provider model for CodeLenses in
the editor.
@daviwil daviwil added this to the 1.3.0 milestone Jun 8, 2017
This name change will help the purpose of this design to be more obvious
and also distinguish it from other PowerShell features that are called
"providers."
@daviwil daviwil merged commit 863c4e0 into PowerShell:master Jun 8, 2017
@daviwil daviwil deleted the provider-model branch June 8, 2017 13:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants