Commit Graph

195 Commits

Author SHA1 Message Date
James Cherti
873ee9325d Add an option to enable/disable case insensitive completion.
Options:
- Global option: g:jedi#case_insensitive_completion
- Buffer-local option: b:jedi_case_insensitive_completion

Values:
- 0 to disable case insensitive completion.
- 1 to enable case insensitive completion (default).
2022-01-29 17:54:33 -05:00
Thomas Blauth
64c92771be Fix added_sys_path default setting
This commit removes the inner string quotation of the default value for the
added_sys_path setting. The inner quotes cause the value of the resulting
variable g:jedi#added_sys_path to be the sting "[]" instead of an empty list.
2022-01-17 08:40:54 +01:00
Seung-Chan Ahn
ff9a0afbda Support adding extra sys_path 2021-03-15 14:36:20 +09:00
Dave Halter
5d4615707f Fix a refactoring error, fixes #1041 2021-01-30 15:38:01 +01:00
Dave Halter
3a1c900a26 Remove Python 2 stuff 2020-12-27 00:44:17 +01:00
Dave Halter
74fd73d017 Added an undocumented JediLoadProject for now 2020-08-01 13:32:48 +02:00
Dave Halter
e23687462b Implement :JediChooseEnvironment 2020-07-31 15:06:09 +02:00
Dave Halter
104d817f0c environment_path needs to be defined properly 2020-07-30 18:37:27 +02:00
Daniel Hahler
b2e8c65e35 Improve/harden jedi#setup_python_imports
In particular it should not try to import `jedi_vim_debug` during error
handling "unprotected", which might hide the real error on Python 2 at
least.

Ref: https://github.com/davidhalter/jedi-vim/issues/998#issuecomment-592305240
2020-03-05 21:06:06 +01:00
Daniel Hahler
686f39ac00 Fix jedi#add_goto_window: use :copen to go to the qf window always
Without this it would not go there with an already open qf window, and
would go to an unexpected buffer line instead of selecting the entry.

This is a follow-up to b689409, where it was decided that it should
always require the user to select an entry.

An exception is when the same usages are used again: then it will select
the nearest/current entry only (via ":cc").
2020-02-27 20:41:45 +01:00
Daniel Hahler
acb98fc706 show_call_signatures: doc, default to 2 without 'conceal' (#994)
It basically allows to give a warning when '1' is used / set explicitly, and
the 'conceal' feature is not available.

Also defaulting to '2' (cmdline mode) then seems better than not using
it.

This is just some minor clean up before
https://github.com/davidhalter/jedi-vim/pull/652.
2020-02-03 01:31:10 +01:00
Daniel Hahler
c80a08d983 Fix invalidating cache with jedi#show_call_signatures (#968) 2019-12-08 17:26:24 +01:00
Daniel Hahler
5880f2de93 Revisit usage highlighting (#851) 2019-10-16 22:54:29 +02:00
Daniel Hahler
b4b2f3ef54 debug info: catch any errors with PythonJedi commands
Ref: https://github.com/davidhalter/jedi-vim/issues/953
2019-09-28 12:34:54 +02:00
Daniel Hahler
50abb5e95a jedi#debug_info: escape script path for "git" (#950)
Ref: https://github.com/davidhalter/jedi-vim/issues/949
2019-09-24 08:43:48 +02:00
Dave Halter
016fb7c78e Merge pull request #915 from davidhalter/typeshed
With typeshed coming to Jedi, builtin modules should be displayed
2019-06-23 01:13:14 +02:00
Dave Halter
9c9a513aaf Add a goto_stubs command 2019-06-16 09:39:50 +02:00
Daniel Hahler
69aa410afa Fix :JediClearCache!
Parso's cache can be cleaned from Jedi now.
2019-04-28 21:19:39 +02:00
Daniel Hahler
914754a04e Disable smart_auto_mappings by default
Ref: https://github.com/davidhalter/jedi-vim/issues/568
2019-04-06 01:02:23 +02:00
Daniel Hahler
d879d2f216 jedi#show_documentation: check len of g:jedi#documentation_command 2019-03-22 12:35:43 +01:00
Daniel Hahler
399c57ff72 Fix displaying of error information with shortmess+=F
When being initialized via ftplugin `set shortmess+=F` (default in
Neovim by now) causes the additional information (the full traceback) to
be silenced.

This patch uses `:unsilent` to always display it.

Ref: https://github.com/neovim/neovim/issues/8675
2018-08-01 22:50:23 +02:00
Daniel Hahler
4c430ed536 Improve JediDebugInfo for envs (#858)
Improve JediDebugInfo for envs

This is taken out of https://github.com/davidhalter/jedi-vim/pull/836.
2018-07-28 01:46:12 +02:00
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