[WIP/RFC] Only use Jedi, without worker/client/server/cache#184
[WIP/RFC] Only use Jedi, without worker/client/server/cache#184blueyed wants to merge 10 commits intodeoplete-plugins:masterfrom
Conversation
| 'deoplete#sources#jedi#python_path', '') | ||
| # TODO | ||
| self.extra_path = vars.get( | ||
| 'deoplete#sources#jedi#extra_path', []) |
There was a problem hiding this comment.
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.
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.
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_pathgets 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_completionstakes 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