Looks like this for `jedi.Script` then:
> <CallSignature: Script index=0 params=[source=None, line=None, column=None, path=None, encoding='utf-8', sys_path=None, environment=None]>
`_params_str` could be made public, and then could be used in jedi-vim,
which currently has this:
params = [p.description.replace('\n', '').replace('param ', '', 1)
for p in signature.params]
https://github.com/davidhalter/jedi-vim/blob/08792d3fd742ec9d8cb75fe1e2a799244ee45fe3/pythonx/jedi_vim.py#L492-L493
I've noticed that Jedi tries to import numpydoc a lot when using
jedi-vim's goto method in jedi_vim.py itself (via printing in Neovim's
VimPathFinder.find_spec).
This patch uses the cache before trying the import again and again.
When invoking `goto_definitions` on `RequestFactory` in line 5, it would
jump to `Client` after 27f05de:
```python
class RequestFactory(object):
pass
class Client(RequestFactory):
pass
```
Fixes https://github.com/davidhalter/jedi/issues/761.
This fixes a potential FileNotFoundError when clearing the cache
manually, using the method from
https://github.com/davidhalter/jedi-vim/pull/625.
Traceback:
```
File "…/jedi/evaluate/imports.py", line 342, in _do_import
module = _load_module(self._evaluator, module_path, source, sys_path, parent_module)
File "…/jedi/evaluate/imports.py", line 457, in _load_module
cached = load_parser(path)
File "…/jedi/parser/utils.py", line 72, in load_parser
return ParserPickling.load_parser(path, p_time)
File "…/jedi/parser/utils.py", line 126, in load_parser
with open(self._get_hashed_path(path), 'rb') as f:
FileNotFoundError: [Errno 2] No such file or directory: '…/.cache/jedi/cpython-35/759d60e96c76f41ffd882d9b8d844899.pkl'
```
With `pip install -e` the generated .egg-link file gets preferred over
any normally installed distribution, and `pip uninstall` will first
remove the egg-link before the normal package.