This repository was archived by the owner on Apr 14, 2022. It is now read-only.
Python inspector service#1090
Merged
jakebailey merged 19 commits intomicrosoft:masterfrom May 20, 2019
Merged
Conversation
…ts, test an early dispose
Member
Author
|
Right now, this can give back module members/ It's only used in its own tests. I have some stashed code that would go into |
MikhailArkhipov
approved these changes
May 20, 2019
jakebailey
added a commit
to jakebailey/python-language-server
that referenced
this pull request
Nov 1, 2019
Add python inspector, a JSON-RPC subprocess to make queries to python for info.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
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.
Opening to get some feedback and thoughts.
The inspector is a partial JSON-RPC server, which takes requests from the LS. Adding more methods is pretty simple, just decorate a function.
Right now, all it does is get the module member names and__all__. This is marginally useful (especially since it's not used anywhere), but we can add more methods to do something like the scraper for full type info, or check for installed versions, etc.Some things I'm not sure about are:
initial_importinscrape_module.py).Services.GetService<IPythonInspector>()?.GetModuleMemberNames(Name)?.Result?.Members; not thrilling).