Emit R6Class methods as workspace symbols #861
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.
Addresses posit-dev/positron#6549
Add a bunch of tests for the workspace indexers which were not tested before.
Add a new indexed type
Method
. This is used to include R6Class methods in workspace symbols but exclusing them from completions.Indexers now push symbols onto a list instead of returning a single symbol to their callers. This allows a single indexer to handle multiple symbols.
The assignment handler now pushes R6Class method symbols in addition to the assigned object.
QA Notes
Add the following to a file:
These symbols should now be available as Workspace symbols (
#
prefix in command palette):initialize()
,foo()
,bar()
and you should be able to jump straight to the definition of these methods from any file.The symbols starting with
not_indexed
should not be available.All this is tested on the backend side.