Commit Graph

173 Commits

Author SHA1 Message Date
Dave Halter
84b8eeb954 Highlight usages
Use matchaddpos to highlight usages in the current file.
2018-07-15 19:26:11 +02:00
Daniel Hahler
67fd8c6572 s:init_python: fix check for Python 2
Fixes https://github.com/davidhalter/jedi-vim/issues/841.
2018-07-08 04:31:58 +02:00
Daniel Hahler
d3d9a91ae6 init: improve handling of import errors (#840)
* jedi_vim.jedi_import_error: add location

This is useful for debugging.  It contains e.g. the path to parso, if
importing failed from there.

Example:

> Error: jedi-vim failed to initialize Python: jedi#setup_python_imports: could not import jedi: cannot import name 'PythonTokenTypes' (in /…/jedi-vim/pythonx/jedi/jedi/api/completion.py:1). (in function jedi#init_python[3]..<SNR>44_init_python[27]..jedi#setup_python_imports, line 37)

* init: handle jedi_vim.jedi_import_error in Vim plugin

Using `set shortmess+=F` would suppress the `:echom` used in
`jedi_vim.no_jedi_warning` [1].

This patch makes `jedi#setup_python_imports` handle the error instead.

1: https://github.com/neovim/neovim/issues/8675

* Revisit error handling with loading jedi_vim

* jedi#debug_info: display parso submodule separately

* Fix jedi#reinit_python

* fixup! Revisit error handling with loading jedi_vim

* display_debug_info: handle exceptions with environment.get_sys_path

* fixup! Revisit error handling with loading jedi_vim

[ci skip]
2018-07-04 22:12:07 +02:00
Daniel Hahler
0361d6c633 s:init_python: handle g:jedi#force_py_version again (#834)
It was removed previously, since it now refers to the environment being
used.

This brings it back for now.

There could be a separate var for it later, and/or it needs changes
later (or rather the environment needs a new variable name, since it
should refer to the executable really) - but this is good for now I think.

Fixes https://github.com/davidhalter/jedi-vim/issues/833
2018-07-04 17:55:25 +02:00
Daniel Hahler
745dc8a559 jedi#setup_python_imports: better SyntaxError handling
Uses `repr` for SyntaxErrors.

Related: https://github.com/neovim/python-client/pull/221
2018-06-23 11:28:41 +02:00
Daniel Hahler
d4006ab1bf Fix s:init_python
Just check for `has('python3')` / `has('python')`.

Fixes 72a2643f7c (r28922063).
2018-05-21 23:37:14 +02:00
Dave Halter
72a2643f7c Use the environment for completions. 2018-05-09 16:04:47 +02:00
Daniel Hahler
6d05c25873 Factor out jedi#setup_completion (#768) 2018-01-15 08:37:35 +01:00
Dave Halter
77924398bd Add a comment to clarify why we I used longest 2017-10-19 09:20:43 +02:00
Dave Halter
41507bab99 Use single quoted strings 2017-10-19 09:20:43 +02:00
Dave Halter
8b7c4cbad5 In older vim versions, noinsert and noselect didn't work
Use longest instead of them.
2017-10-19 09:20:43 +02:00
Daniel Hahler
72c1a332d2 jedi#show_documentation: do not use quotes around bufname 2017-09-29 18:36:04 +02:00
Daniel Hahler
60bdff8eea Move Python code for jedi#debug_info into pythonx
This allows vimlparser to parse the vim file again, and it is more
convenient to have it in a real Python file anyway.

Small refactoring and minor text changes included.
2017-08-09 23:59:52 +02:00
Daniel Hahler
ddaec5652b Lint fixes 2017-08-09 00:13:55 +02:00
Daniel Hahler
163a0b5db1 Use Vim's pythonx mechanism
Move jedi_vim.py and the jedi submodule into pythonx, which gets added
to Vim's internal sys.path.  While jedi cannot be imported directly from
there, it still makes sense for consistency.
2017-08-08 18:58:54 +02:00
Daniel Hahler
cfadac7f22 jedi#debug_info: try/catch failures from s:init_python()
This is relevant for when using `:JediDebuginfo` in a broken setup,
where the call to `jedi#init_python()` in the autoload file throws an
error already (but `jedi#debug_info` is defined/loaded before already).
2017-08-08 17:28:29 +02:00
Daniel Hahler
a46ea1a1eb Refactor completeopt handling
Temporarily set &completeopt before triggering automatic completion,
instead of handling different settings afterwards.
`g:jedi#popup_select_first` is used to use `noinsert` instead of
`noselect`.

Fixes https://github.com/davidhalter/jedi-vim/issues/516.
Fixes https://github.com/davidhalter/jedi-vim/issues/706.
2017-08-07 19:48:53 +02:00
Daniel Hahler
a2cf2291da Inline Python init script
Fixes https://github.com/davidhalter/jedi-vim/issues/726.
2017-08-06 21:57:10 +02:00
Daniel Hahler
dc7b6228b2 Rename initialize.py to jedi_vim_init.py
Ref: https://github.com/davidhalter/jedi-vim/issues/726#issuecomment-320505021.
2017-08-06 17:04:28 +02:00
Daniel Hahler
20312dcca8 JediDebugInfo: skip newline with no non-default settings 2017-08-06 15:08:11 +02:00
Daniel Hahler
c11b38cb48 s:init_python: use setup_py_version instead of force_py_version 2017-08-06 15:07:12 +02:00
Daniel Hahler
f1d9708f7c jedi#setup_py_version: check if init script is readable
Ref: https://github.com/davidhalter/jedi-vim/issues/726.
2017-08-06 14:48:09 +02:00
Daniel Hahler
6394614017 Define PythonJedi command always (#727)
This is meant to help in case of issues where the Python initialization
fails (https://github.com/davidhalter/jedi-vim/issues/726#issue-248054145),
so that `JediDebuginfo` can still provide some more information.
2017-08-06 01:00:51 +02:00
Antony Lee
0ee2ed0bc6 help: do not highlight rst indented sections as python (#717)
Fixes https://github.com/davidhalter/jedi-vim/issues/716.
2017-06-06 18:09:14 +02:00
Daniel Hahler
e2d79c6434 popup_on_dot: document that it needs completions_enabled
It would be ignored already with completions_enabled=0.
This documents it and makes the default follow it.
2017-06-03 20:49:14 +02:00
BennyYip
53358dc0fa Fix unwanted fold in __doc__ 2017-06-03 20:39:14 +02:00
Daniel Hahler
eef60e056a JediDebugInfo: settings: display full name 2017-04-19 23:53:11 +02:00
Daniel Hahler
2ee9ec64d3 Improve GitHub issue template and JediDebugInfo 2017-03-01 23:52:55 +01:00
Daniel Hahler
b885e10e0d Make jedi#debug_info more robust
Fixes https://github.com/davidhalter/jedi-vim/issues/675.
2017-02-15 12:14:47 +01:00
Daniel Hahler
8cf616b088 Correctly fix return value of jedi#complete_opened (#664)
Fixes https://github.com/davidhalter/jedi-vim/issues/663.
Fixes https://github.com/davidhalter/jedi-vim/issues/667.
2017-01-31 11:12:25 +01:00
Daniel Hahler
63ecc1dbd7 Add omnifunc/completeopt to jedi#debug_info 2017-01-31 10:54:33 +01:00
Daniel Hahler
52772e171f Fix return value of jedi#complete_opened (#664)
Fixes https://github.com/davidhalter/jedi-vim/issues/663.
2017-01-31 09:25:43 +01:00
Daniel Hahler
eba90e615d Style fixes (via vint) (#662)
This also adds a augroup for `jedi#add_goto_window`.
2017-01-29 11:55:55 +01:00
Daniel Hahler
3582fa6bc2 jedi#debug_info: output non-default settings 2017-01-25 21:49:39 +01:00
Daniel Hahler
f99d86073b jedi#debug_info: add Jedi's sys_path
Ref: https://github.com/davidhalter/jedi/issues/828
2017-01-14 20:26:11 +01:00
Daniel Hahler
636d393114 jedi#debug_info: check that PythonJedi can be called 2017-01-14 20:25:18 +01:00
Aulddays
a69e6b8cc0 Change default g:jedi#call_signature_escape to avoid collision
Syntax highlighting on chars in g:jedi#call_signature_escape may
break the funciton parameter hint from jedi-vim. Change its default
value to non python syntax symbols to reduce chance of collision
2016-12-04 22:13:51 +08:00
Dave Halter
e66c2e12e6 Merge pull request #625 from blueyed/add-JediClearCache
Add JediClearCache command
2016-10-24 10:19:28 +02:00
Dave Halter
d0c3ddb9ff Merge pull request #619 from blueyed/reset-python-init-status-when-autoload-jedi.vim-is-resourced
Reset python init status when autoload/jedi.vim is resourced
2016-10-23 18:47:49 +02:00
Daniel Hahler
12db7ad364 Add JediClearCache command
This can be used to work around issues like
https://github.com/davidhalter/jedi/issues/784.
2016-10-06 19:15:52 +02:00
Daniel Hahler
d86039ea89 Hook into Neovim's :CheckHealth with jedi#debug_info
See https://github.com/neovim/neovim/blob/master/runtime/doc/pi_health.txt.
2016-09-25 18:11:06 +02:00
Daniel Hahler
b32b731767 Reset python init status when autoload/jedi.vim is resourced 2016-09-25 18:02:44 +02:00
Daniel Hahler
6a6595f5c5 Improve jedi#debug_info / :JediDebugInfo (#618) 2016-09-25 17:47:09 +02:00
Asher256
8334e505b3 Bug fix: E492: Not an editor command: jedi_vim.clear_call_signatures() (#576)
I got this error after I updated my local copy of jedi-vim to
the commit 'e8b88f0161ef2adabda97d4e083585a3becdcb53':
```
Error detected while processing function jedi#clear_call_signatures:
line    6:
E492: Not an editor command:     jedi_vim.clear_call_signatures()
``
`
The error below happened because 'PythonJedi' was missing before
jedi_vim.clear_call_signatures() in autoload/jedi.vim.

I put back 'PythonJedi' and it solved the issue.
2016-05-27 20:57:22 +02:00
Dave Halter
e8b88f0161 When jedi-vim cannot load jedi, show_call_signatures should not throw errors all the time. One error at the beginning is enough. 2016-05-27 13:22:37 +02:00
Dave Halter
e7193b5e5f Merge pull request #547 from blueyed/improve-error-on-init
Improve error messages during init
2016-03-20 04:34:08 +01:00
Daniel Hahler
f08abefa31 jedi#smart_auto_mappings: use \m with search() for magic
With `nomagic` being set (not recommended, but might happen), the
pattern would not work.
This patch sets `\m` explicitly.
2016-03-18 23:16:07 +01:00
Daniel Hahler
de793216f5 minor: move code out of 'try' block in jedi#setup_py_version 2016-03-18 23:07:43 +01:00
Daniel Hahler
6b8d900b05 Use echoerr in jedi#init_python
This will abort the script, instead of finishing there only.
2016-03-18 23:06:43 +01:00
Tomoyuki Kashiro
217e56d9bd check "noselect" and "noinsert" before <C-p>
to prevent from selecting last option check "noselect" and "noinsert" before <C-p>
  @see https://github.com/Shougo/neocomplete.vim/blob/master/doc/neocomplete.txt#L1817-L1826
2015-11-19 18:49:15 +09:00