Code completion and references for controllers #11
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR is intended to hold the changes required to get ReSharper to understand controllers in angular.
Specifically:
ng-controller
anddata-ng-controller
attributesSteps to get this done (do not merge until done):
ICache
implementation to parse all JS files in the solution and find controller declarations. See ReSharper'sJavascriptTestCache
implementation.ng-controller
anddata-ng-controller
attribute value tree elements. When resolving the reference, it looks up the controller in the cache. The reference allows navigation, find usages and renaming to work, and highlights when references can't be foundICompletableReferenceProvider
The PsiPlugin sample in the SDK provides an implementation of
ICache
. Also, ReSharper'sJavascriptTestCache
class is a good example (dotPeek is your friend) - it parses JavaScript files to locate and cache tests.The xunitcontrib project has an example of a reference provider to give code completion and navigation/find usages/renaming in a string literal in an attribute.
Note that this should support 7.1 as well as 8.0