Daniel Hahler
369284a6bc
README: enhance Installation section
2016-08-03 11:18:41 +02:00
Daniel Hahler
3882c5dd32
Improve error message when the jedi module fails to load
...
Fixes https://github.com/davidhalter/jedi-vim/issues/560 .
2016-08-03 11:08:30 +02:00
Daniel Hahler
19ad3063d9
Make initialize.py more robust
...
Ref: https://github.com/davidhalter/jedi-vim/issues/574
2016-05-28 20:46:02 +02:00
Daniel Hahler
75e9141111
Cast integers with vim_eval
...
This makes it clearer/more strict altogether and is future-proof in the
sense that `vim.eval` might return integers for numbers in Vim after all.
See #553 for a very noisy discussion of what led to this.
Although it might be a regression in neovim-python after all it is good
to be on the safe side.
The bonus here is that we get "notified" in case of a option that is
expected to be an integer is a string instead.
Fixes https://github.com/davidhalter/jedi-vim/issues/553 .
2016-04-08 14:37:44 +02:00
Daniel Hahler
0f7b743b4e
Clarify arguments with _catch_exception
...
The whole int/string conversion with `vim.eval` is confusing enough, use
a boolean for `is_eval`.
2016-04-06 17:22:47 +02:00
Daniel Hahler
48ad42de86
minor: improve error msg with invalid use_splits_not_buffers setting
...
Ref: https://github.com/davidhalter/jedi-vim/issues/553
2016-04-06 14:01:03 +02: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
cdfb7a5b4f
initialize.py: catch and handle any exception when import jedi_vim
...
This adds the traceback to it, which then will be displayed with
`v:exception` in the Vim part.
2016-03-18 23:08:49 +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
Daniel Hahler
df39189578
Fix no_jedi_warning: display actual error
...
Never really worked as intended in 676b378 .
Ref: https://github.com/davidhalter/jedi-vim/issues/460
2016-03-18 23:05:07 +01:00
Daniel Hahler
9af06424fb
doc/jedi-vim.txt: retab with expandtab
...
Fixes https://github.com/davidhalter/jedi-vim/issues/437 .
Closes https://github.com/davidhalter/jedi-vim/pull/487 .
2015-10-26 23:53:55 +01:00
Daniel Hahler
267df8b3da
Improve use_tag_stack-hack: use context managers, short 'tags'
...
Use a NamedTemporaryFile context manager, which removes the temporary
file again, and use it as the only entry for the 'tags' setting to
improve lookup performance.
2015-10-19 18:29:54 +02:00
Daniel Hahler
005cb5225f
Use string.ascii_lowercase instead of string.lowercase
...
Fixes https://github.com/davidhalter/jedi-vim/issues/478 .
Closes https://github.com/davidhalter/jedi-vim/pull/480 .
2015-10-18 22:14:31 +02:00
Daniel Hahler
431a0b11e5
Handle parenthesis with show_call_signatures' cache
...
After `o`, call signatures should show up after `abs(`.
2015-10-18 21:22:11 +02:00
Daniel Hahler
9a258c74f5
Merge branch 'wilywampa-callsig_columns'
...
Truncate command line call signature as described in #474 when the full
signature is too long to display.
Closes https://github.com/davidhalter/jedi-vim/issues/474 .
Closes https://github.com/davidhalter/jedi-vim/pull/475 .
2015-10-18 21:16:48 +02:00
Daniel Hahler
5c868b9a1f
Use utf8 ellipsis char instead of 3 dots
2015-10-18 21:16:37 +02:00
Daniel Hahler
e38981fc4f
Invalidate show_call_signatures_delay on InsertEnter
...
Followup to e241cf87fd .
Ref: https://github.com/davidhalter/jedi-vim/pull/420 .
Ref: https://github.com/davidhalter/jedi-vim/pull/475#issuecomment-149013542 .
2015-10-18 16:07:09 +02:00
Daniel Hahler
253eb5102c
CONTRIBUTING.md: request :version and :JediDebugInfo output
...
Also add sections, and fix style instructions.
[ci skip]
2015-10-08 17:30:35 +02:00
Daniel Hahler
9ec2fb44b0
smart_auto_mappings: look for from only at the start of a line
...
Fixes https://github.com/davidhalter/jedi-vim/issues/469 .
Closes https://github.com/davidhalter/jedi-vim/pull/470 .
2015-10-06 01:44:26 +02:00
Daniel Hahler
e241cf87fd
Conditionally skip calls to jedi_vim.show_call_signatures
...
Skip calls to `jedi_vim.show_call_signatures` if the (position of the) current
function's argument did not change (by means of comma positions before
and after the cursor).
Ref: https://github.com/davidhalter/jedi-vim/pull/420
2015-10-03 15:43:39 +02:00
Daniel Hahler
6b96313930
Add show_call_signatures_delay option
...
This will use CursorHoldI instead of CursorMovedI for displaying call
signatures, with a delay of 500ms by default.
This greatly enhances the experience with slow call signatures while typing
(depending on how fast Jedi is for the given context).
2015-09-10 11:55:04 +02:00
Daniel Hahler
afc02a3621
Wrap jedi#configure_call_signatures in augroup
2015-09-10 11:55:03 +02:00
Daniel Hahler
676b37812b
Pass ImportError to no_jedi_warning and display it there
...
Ref: https://github.com/davidhalter/jedi-vim/issues/460
2015-09-08 14:33:40 +02:00
Daniel Hahler
3f259c2a9e
Followup to 0703494: use <silent> with <C-R> mapping
...
Without this, the mapping/function will be displayed on Vim's cmdline.
2015-08-20 00:07:27 +02:00
Daniel Hahler
83e62d56ba
Add jedi#reinit_python
...
This is meant to be used in case you want to re-init the Python version
used by jedi-vim, without restarting Vim.
I had this laying around.. it might be better to just export
`s:init_python` as `jedi#init_python`?!
2015-08-19 23:58:47 +02:00
Daniel Hahler
ed09c7c1af
Add JediDebugInfo command: display used Python version
...
This command is meant to come in handy to debug problems with jedi-vim.
For now, it will display the Python version that jedi-vim is using.
2015-08-19 23:57:29 +02:00
Daniel Hahler
2fbcc5b991
nvim: add a warning in case the auto-detected version is not functional
...
This usually means that the `neovim` module is not installed, which
commonly happens in a virtualenv.
2015-08-19 23:54:30 +02:00
Daniel Hahler
7890339ca8
Merge pull request #454 from davidhalter/smart-import-mapping
...
Smart import mapping
Closes https://github.com/davidhalter/jedi-vim/pull/453 .
Closes https://github.com/davidhalter/jedi-vim/pull/454 .
2015-08-19 23:46:22 +02:00
Daniel Hahler
91c2a031df
Add tests for smart_auto_mappings
2015-08-19 22:37:32 +02:00
Daniel Hahler
0703494188
smart_auto_mappings: use C-r instead of expr-mapping
...
This makes it work in tests. Using `<expr>` instead will not trigger
the expansion of the mapping.
This is likely a bug in vim-vspec; I have tried 1.4.1 (currently pinned)
and 1.6.1.
2015-08-19 22:37:13 +02:00
Daniel Hahler
6dedbf339e
smart_auto_mappings: improve pattern
2015-08-19 22:36:23 +02:00
Daniel Hahler
889feae117
jedi#smart_auto_mappings: always 'popup_on_dot'
...
`popup_on_dot=1` means that it should not auto-select the first entry,
which is the case for the new smart-import-mapping.
2015-08-19 22:34:52 +02:00
Daniel Hahler
ed4a8be12e
Revert "Use " with the shell argument for system()"
...
This reverts commit 95b8dd77ba .
2015-07-27 02:04:02 +02:00
Daniel Hahler
924b4db962
Add myself to AUTHORS
...
According to my first contribution as of:
> commit b6bef9a
> Date: Tue Mar 3 12:59:52 2015 +0100
2015-07-27 00:50:49 +02:00
Daniel Hahler
91b4332774
Fix ValueError with cmdline call signatures
...
Commit 8016665 escaped the newlines in `text`, which requires to use the
escaped version with `text.index` and `len`, too.
This fixes the following error:
Traceback (most recent call last):
File "…/jedi/jedi_vim.py", line 110, in wrapper
return func(*args, **kwargs)
File "…/jedi/jedi_vim.py", line 414, in cmdline_call_signatures
left = text.index(params[index])
ValueError: substring not found
2015-06-26 17:07:23 +02:00
Daniel Hahler
439e50e9d1
Use use_tabs_not_buffers=0 by default
...
Ref: https://github.com/davidhalter/jedi-vim/issues/408#issuecomment-101997691
2015-06-21 22:06:24 +02:00
Daniel Hahler
0dd1b9fd44
Fix PEP8 style
2015-05-12 22:08:39 +02:00
Daniel Hahler
6c1719a68a
Fix rename behaviour with empty cword; honor b:changedtick
...
Ref: https://github.com/davidhalter/jedi-vim/issues/416
2015-05-12 22:08:30 +02:00
Daniel Hahler
d79f41149f
Fix wrong call of goto in do_rename
...
This was overseen in dd33e38 .
This is the main fix for https://github.com/davidhalter/jedi-vim/issues/41 .
2015-05-12 22:04:15 +02:00
Daniel Hahler
651eac91ff
goto: fix return value to always be a list
...
Fixes https://github.com/davidhalter/jedi-vim/issues/414#issuecomment-101341260
2015-05-12 19:43:09 +02:00
Daniel Hahler
abc0c07d0f
echo_highlight: escape quotes in msg
2015-05-11 13:22:21 +02:00
Daniel Hahler
dd33e38631
Add auto-goto command/function
...
This adds g:jedi#goto_command, and uses `<Leader>d` by default for it -
the old default for `g:jedi#goto_definitions_command`, which is now
empty.
It will try `script.goto_definitions()` first, and falls back to
`script.goto_assignments()` for builtins.
Closes https://github.com/davidhalter/jedi-vim/pull/407
2015-05-10 18:07:42 +02:00
Daniel Hahler
9a13f143a8
rename: fix saving/restoring of the view
...
This seemed(?) to work with Python 3, but not for Python 2. Just get a
string (instead of dict) from Vim, and re-use that as-is.
This fixes afb84a8 .
2015-05-09 19:14:54 +02:00
Daniel Hahler
054285e2b7
rename: fix opening new windows with &shellslash (Windows)
...
Ref: https://github.com/davidhalter/jedi-vim/pull/364#issuecomment-98418501
2015-05-03 17:16:08 +02:00
Daniel Hahler
4d67c1a6e3
rename: refactor into do_rename, add rename_visual
...
This adds a visual mode map for renaming, which asks for the new name
via input().
`rename` itself could be changed to use `input()`, too - but I've left
it for now.
2015-05-02 18:51:10 +02:00
Daniel Hahler
154e2dbae3
rename: use original word's length for replacing
...
Ref: https://github.com/davidhalter/jedi-vim/pull/403#discussion_r29548013
2015-05-02 18:46:52 +02:00
Daniel Hahler
b9ba141069
rename: display error in case new_buffer should fail and continue
...
Previously it would `return`, which would not restore the previous
state. While I am not sure that it should continue, it should at least
not return.
2015-05-02 16:42:36 +02:00
Daniel Hahler
bf281dabda
rename: fix _tabnew to go to the correct window
2015-05-02 16:42:28 +02:00
Daniel Hahler
afb84a837c
rename: save and restore view before/after changes
2015-05-02 16:42:04 +02:00
Daniel Hahler
7539614f09
rename: display number of affected buffers
2015-05-02 16:41:13 +02:00
Daniel Hahler
fc95545378
rename: save/restore tab/windows; not via new_buffer
...
Ref: https://github.com/davidhalter/jedi-vim/pull/364#discussion-diff-25785992
2015-05-02 16:38:47 +02:00
Daniel Hahler
676c558110
VimError: set self.message
...
`self.message` is used in `__str__`.
Without this, tracebacks end like this:
Traceback (most recent call last):
[...]
File "…/vim/neobundles/jedi/jedi_vim.py", line 87, in _catch_
exception
raise VimError(result['exception'], result['throwpoint'], string)
jedi_vim.VimError: <unprintable VimError object>
2015-05-02 11:51:27 +02:00
Daniel Hahler
65c06553fd
Move max_doc_height default to s:default_settings
2015-05-02 10:41:31 +02:00
Daniel Hahler
527562208c
jedi_vim: reorder to use echo_highlight in try-import block
...
This uses `echo_highlight` for exceptions caused by an empty "jedi"
folder.
2015-05-02 00:44:45 +02:00
Daniel Hahler
baa2969427
minor: use 'jedi-vim' in no_jedi_warning; fix typo 'too old'
2015-05-02 00:44:37 +02:00
Daniel Hahler
dd4cb80911
Move jedi#_vim_exceptions before call to jedi#init_python
...
It might be used during setup, in the case of errors and needs to be
defined then already.
2015-05-02 00:44:33 +02:00
Daniel Hahler
e5038cc9fa
Merge branch 'master' into dev
2015-05-01 04:46:13 +02:00
Daniel Hahler
2f06d90f95
Fix jedi#complete_opened for completeopt with "longest"
...
jedi#complete_opened: move <C-p> for is_popup_on_dot below "longest"
handling.
Fixes #399 .
2015-05-01 04:41:33 +02:00
Daniel Hahler
83d398bc5d
auto-config: set completeopt only if it's the default
...
The setting is also moved from "ftplugin" to "plugin", which allows for
easier customization, e.g. via a FileType plugin.
Ref: https://github.com/davidhalter/jedi-vim/issues/374#issuecomment-97621368
2015-04-30 02:37:36 +02:00
Daniel Hahler
0f203c12b9
Add select-mode mapping for completion trigger
...
This deletes the selection (by going to visual mode, and "c"), and then
triggers the completion.
This is useful with e.g. UltiSnips, when you want to start completion
with an expanded snippet argument selected.
Ref: https://github.com/davidhalter/jedi-vim/pull/339#issuecomment-97612632
2015-04-30 01:53:01 +02:00
Daniel Hahler
cfb76259f1
Mapping: remap of <C-Space>: use <buffer> and map to <C-Space>
...
Mapping it to <C-Space> should be enough, and makes it unnecessary to
map everything twice.
2015-04-30 01:50:23 +02:00
Daniel Hahler
d76c00eff4
jedi#init_python: add v:throwpoint to error message
2015-04-29 23:11:44 +02:00
Daniel Hahler
3c79979c50
Move functions used by jedi#init_python before it
2015-04-29 23:11:44 +02:00
Daniel Hahler
1837cdee1f
Move Python init to top of autoloading; finish in case of error
...
This will not define jedi-vim's functions in case initialization failed.
2015-04-29 23:11:44 +02:00
Daniel Hahler
e43012afc8
Refactor init method: add jedi#init_python
...
- jedi#init_python is used to init the Python environment.
- jedi#setup_py_version is the single point where PythonJedi is
defined, and will configure `PythonJedi` to output an error in case
initialization failed.
- jedi#force_py_version_switch will throw an error when
g:jedi#force_py_version is not handled (e.g. invalid or "auto" and
unresolved).
- When g:jedi#force_py_version is provided, it will be used always.
- Use WarningMsg highlight for errors, which are centralized and
handled through exceptions.
2015-04-29 23:11:44 +02:00
Daniel Hahler
2d74fe6c51
Use PythonJedi instead of Python as command wrapper
...
`:Python` is more likely to interfere with other plugins / user
commands.
2015-04-29 23:11:44 +02:00
Daniel Hahler
9779628322
Refactor 'auto' handling
2015-04-29 23:11:44 +02:00
Daniel Hahler
3497a9644e
jedi#force_py_version: catch errors
...
This prevents the script from aborting, in case e.g. `py3file` is not
defined, but should be forced.
2015-04-29 23:11:44 +02:00
Daniel Hahler
0cd664d8f7
Drop jedi#get_force_py_version again, handle 'auto' once
2015-04-29 23:11:44 +02:00
Daniel Hahler
7784c29a59
Optimize python check for Neovim: skip has() calls
2015-04-29 23:11:43 +02:00
Daniel Hahler
8f7f07fb58
Support for force_py_version = "auto"
...
This will call `python` to look up its major version number.
2015-04-29 23:11:43 +02:00
Daniel Hahler
63dc0badac
Fix popup-on-dot completion: use <C-p> to deselect the first entry
...
Without this, the <C-x><C-o> triggered by jedi-vim would cause the first
match to be inserted (and selected). When using completopt=longest,
this was less so an issue.
2015-04-29 23:09:18 +02:00
Daniel Hahler
ab04982d63
pep8 fixes; sort imports
2015-04-29 11:52:36 +02:00
Daniel Hahler
a0bb09e891
tests: use pytest.fail instead of assert False
2015-04-29 11:51:52 +02:00
Daniel Hahler
2611ea3c27
Use "echohl WarningMsg" instead of "echoerr" in no_jedi_warning
...
`echoerr` causes Vim to throw an error, but like the function name
indicates, this is only a warning.
2015-04-29 11:29:27 +02:00
Daniel Hahler
fe517fae74
Use desc_with_module in "Builtin modules cannot be displayed" error
2015-04-29 10:57:40 +02:00
Daniel Hahler
a233d603e3
add_goto_window: pass len of list and use min()
...
With less than `g:jedi#quickfix_window_height` entries in quickfix list,
this now only makes the window that large, effectively saving screen
space.
2015-04-08 16:10:56 +02:00
Daniel Hahler
b6bef9a056
Do not overwrite/re-define pythonString syntax regions
...
Use `containedin` instead with `jediFunction`.
2015-03-03 13:43:16 +01:00