-
-
Notifications
You must be signed in to change notification settings - Fork 40
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
[WIP/RFC] Only use Jedi, without worker/client/server/cache #184
Conversation
# Hard coded python interpreter location | ||
self.python_path = vars.get( | ||
'deoplete#sources#jedi#python_path', '') | ||
# TODO | ||
self.extra_path = vars.get( | ||
'deoplete#sources#jedi#extra_path', []) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Jedi has jedi.settings.additional_dynamic_modules
(used in jedi-vim).
I think it is better version. |
Yep, I like it also so far. |
d95b57c
to
ce768aa
Compare
@blueyed |
if comp.module_path not in cache and comp.line and comp.line > 1 \ | ||
and os.path.exists(comp.module_path): | ||
with open(comp.module_path, 'r') as fp: | ||
cache[comp.module_path] = fp.readlines() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I get the slow reason.
It is very slow. Because, deoplete-jedi loads all module files.
I think it should be removed.
It is faster and simpler.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, likely only needed for some old and hopefully fixed misbehavior with regard to @property
decorators.
I get the reason. Please see the comment. |
I have tried to implement restarting in case `g:deoplete#sources#jedi#python_path` gets changed, and figured that it is way easier when using only Jedi. There are likely previous features missing, and it needs cleaning up / deleting still. It uses the Jedi branch to improve handling of Environments: davidhalter/jedi#1108
[ci skip]
…06a0 * rplugin/python3/deoplete/vendored/jedi f6bc166...d6306a0 (48): > With the recent changes one performance optimization got lost > FunctionExecutionContext should use the parent if possible > Use anonymous instance arguments in a different way > Move some anonymous instance function execution stuff > Get rid of InstanceFunctionExecution, because it's really not needed > Use the InstanceArguments for super as well > Use InstanceArguments directly and not via InstanceFunctionExecution > Remove old garbage code > Don't use arguments that are not needed > Also move the remaining get_params to get_executed_params > get_params -> get_executed_params where possible > Subprocess error reporting improvements > Fix a recursion issue about compiled objects > Use a CompiledInstanceNameFilter that wraps the class name as well > Prefer Python 3 import over 2 > Now it's actually possible to specify a pytest environment for the same Python version > Note that Python 3.3 support was dropped in Changelog > Drop support for EOL Python 3.3 (#1019) > Rewrite the pyc test > Fix an issue with stderr debugging of subprocesses > stderr of the child processes should be printed in debug output > Use close_fds for posix. > Remove some redundant code > Use names of classes to infer names of instances > Don't have execute and execute_evaluated on name > Fix an issue where __ prefixed variables where not hidden when accessed from a class > Bound methods are now working correctly in all Python versions. Therefore a test was wrong. > Remove a print in tests > BoundMethods now have access to the function that they are using > Remove another usage of is_class where it's not needed > FunctionContext should be created from a unified interface > Don't create a FunctionExecutionContext if it's not used. > Use TreeContext in a good way > Fix broken link in documentation > The implicit namespace package test from 4b276bae87a3170672f7ddb3e00f5851fe24d562 can only be used for Python 3.4+ > The import resolution for namespace packages was wrong > Add a way to use the interpreter environment for tests > MergedExecutedParams -> DynamicExecutedParams > Fix a recursion error, fixes #1173 > Remove two recursion tests again that will belong into a commit at a point where it is not failing anymore > Don't merge params if it's just one param > Add a repr for AnonymousArguments > Fix a doctest > Some minor flake8 fixes > Script.__repr__: include environment > Add params to CallSignature.__repr__ > Environments are now always created on request > Improve Environment
…f1582 * rplugin/python3/deoplete/vendored/parso 7064ecf...96f1582 (1): > Update usage.rst
@Shougo |
OK. I will do it. |
I have created #192. |
Closing in favor of #192. |
I have tried to implement restarting in case
g:deoplete#sources#jedi#python_path
gets changed, and figured that itis way easier when using only Jedi.
There are likely previous features missing, and it needs cleaning up /
deleting still.
It uses the Jedi branch to improve handling of Environments:
davidhalter/jedi#1108
TODO:
Works quite well already, tested with:
So
massage_completions
takes a lot of the time by itself.It might make certainly sense to add some caching on top, but it shouldn't be so complicated anymore.
/cc @tweekmonster