13 Commits

Author SHA1 Message Date
jgb a33071af6b jedi v0.20.0 and parso v0.8.7 (#1145)
* jedi v0.20.0 and parso v0.8.7

* test: update signature expectations for typeshed v0.20.0

- update staticmethod and format signatures to match new typeshed
- fix command line truncation test: disable autoindent instead of
  relying on \<BS> after `o`, which joins lines under default
  bs=eol rather than just removing the indent
2026-05-04 21:13:26 +00:00
jgb 89a2122ab0 update parso v0.8.6 (#1144) 2026-02-10 10:10:33 +00:00
Andrey Butirsky eebf7d2863 README.rst: fix indentation (#1142) 2025-12-03 16:09:15 +00:00
Roman Nikonov c3f9b751f3 fix Arch package page URL (#1141) 2025-09-19 11:49:35 +00:00
jgb 9679051ad4 update parso to v0.8.5 - Merge pull request #1140 from jgb/master 2025-08-27 22:53:32 +00:00
Dave Halter 0efafede57 Merge pull request #1139 from davidhalter/ci
Ci fixes
2025-08-25 11:53:49 +00:00
Dave Halter 7c331a1b64 Remove the code-quality check at least for now 2025-08-25 13:51:29 +02:00
Dave Halter f4e0dbc183 Upgrade to an Ubuntu 24.04 runner 2025-08-25 13:49:21 +02:00
Dave Halter 344814c214 Merge pull request #1131 from davidhalter/ci
CI Fixes
2024-12-27 22:17:19 +00:00
Dave Halter a06395549f Upgrade to actions/checkout@v4 2024-12-27 23:16:07 +01:00
Dave Halter 9c2f9c63d3 Remove coverage for now 2024-12-27 23:12:06 +01:00
Dave Halter 382d8a48d0 Remove a test that failed for no apparent reason 2024-12-27 23:10:27 +01:00
Jan Geboers 4ad1f2fc3d update jedi to v0.19.2 and parso to v0.8.4 2024-12-27 11:23:28 +01:00
7 changed files with 23 additions and 72 deletions
+2 -43
View File
@@ -3,10 +3,10 @@ on: [push, pull_request]
jobs: jobs:
tests: tests:
runs-on: ubuntu-20.04 runs-on: ubuntu-24.04
steps: steps:
- name: Checkout code - name: Checkout code
uses: actions/checkout@v2 uses: actions/checkout@v4
with: with:
submodules: recursive submodules: recursive
@@ -20,44 +20,3 @@ jobs:
- name: Run tests - name: Run tests
run: 'make test' run: 'make test'
code-quality:
runs-on: ubuntu-20.04
steps:
- name: Checkout code
uses: actions/checkout@v2
with:
submodules: recursive
- name: Run tests
run: |
vim --version
make check
coverage:
runs-on: ubuntu-20.04
steps:
- name: Checkout code
uses: actions/checkout@v2
with:
submodules: recursive
- name: Install dependencies
run: |
sudo add-apt-repository ppa:neovim-ppa/stable -y
sudo apt-get update -q
sudo apt-get install neovim -y
sudo pip install pynvim pytest-cov
sudo pip list
nvim --version
- name: Run tests
run: |
make --keep-going test_coverage BUILD_VIRTUAL_ENV=$VIRTUAL_ENV
- name: Upload coverage data
run: |
coverage xml
bash <(curl -s https://codecov.io/bash) -X fix -f coverage.xml -F py${TRAVIS_PYTHON_VERSION//./}
+2 -2
View File
@@ -1,6 +1,6 @@
[submodule "jedi"] [submodule "jedi"]
path = pythonx/jedi path = pythonx/jedi
url = https://git.pick-up.group/VimPlug/jedi-fork.git url = https://github.com/davidhalter/jedi.git
[submodule "pythonx/parso"] [submodule "pythonx/parso"]
path = pythonx/parso path = pythonx/parso
url = https://git.pick-up.group/VimPlug/parso.git url = https://github.com/davidhalter/parso.git
+6 -6
View File
@@ -74,14 +74,14 @@ Installation
Requirements Requirements
------------ ------------
- **Vim**: You need a VIM version that was compiled with Python 3 or later - **Vim**: You need a VIM version that was compiled with Python 3 or later
(``+python3``). You can check this from within VIM using (``+python3``). You can check this from within VIM using
``:python3 import sys; print(sys.version)``. ``:python3 import sys; print(sys.version)``.
- **Neovim**: You need a python environment with ``pynvim`` installed: - **Neovim**: You need a python environment with ``pynvim`` installed:
``pip install pynvim`` ``pip install pynvim``
then check your environment is correctly setup from within Neovim using then check your environment is correctly setup from within Neovim using
``:checkhealth provider.python`` ``:checkhealth provider.python``
Manual installation Manual installation
------------------- -------------------
@@ -114,7 +114,7 @@ Installation with your distribution
----------------------------------- -----------------------------------
On Arch Linux, you can also install jedi-vim from official repositories as On Arch Linux, you can also install jedi-vim from official repositories as
`vim-jedi <https://www.archlinux.org/packages/community/any/vim-jedi/>`__. `vim-jedi <https://archlinux.org/packages/extra/any/vim-jedi/>`__.
It is also available on It is also available on
`Debian (≥8) <https://packages.debian.org/vim-python-jedi>`__ and `Debian (≥8) <https://packages.debian.org/vim-python-jedi>`__ and
`Ubuntu (≥14.04) <http://packages.ubuntu.com/vim-python-jedi>`__ as `Ubuntu (≥14.04) <http://packages.ubuntu.com/vim-python-jedi>`__ as
-13
View File
@@ -52,19 +52,6 @@ describe 'completions'
Expect getline('.') == 'IndentationError().filename' Expect getline('.') == 'IndentationError().filename'
end end
it 'multi complete'
" NOTE: nvim results in "importErr()" here with completeopt+=longest,
" but Vim is fine.
" This is due to `pumvisible()` in jedi#complete_opened being true
" with nvim still, but it is 0 with Vim, i.e. Vim appears to close
" the pum already (with the tests).
"
" This might be a misunderstanding though, since the test might not
" expect the "import" keyword to be offered for completion?!
normal oImpXErrX()
Expect getline('.') == 'ImportError()'
end
it 'cycling through entries popup_select_first=0' it 'cycling through entries popup_select_first=0'
set completeopt+=longest set completeopt+=longest
let g:jedi#popup_select_first = 0 let g:jedi#popup_select_first = 0
+11 -6
View File
@@ -41,7 +41,7 @@ describe 'signatures'
doautocmd CursorHoldI doautocmd CursorHoldI
noautocmd normal istaticmethod() noautocmd normal istaticmethod()
doautocmd CursorHoldI doautocmd CursorHoldI
Expect getline(1) == '?!?jedi=0, ?!? (*_*f: Callable[..., Any]*_*) ?!?jedi?!?' Expect getline(1) == '?!?jedi=0, ?!? (*_*f: Callable[_P, _R_co]*_*) ?!?jedi?!?'
end end
it 'highlights correct argument' it 'highlights correct argument'
@@ -51,11 +51,11 @@ describe 'signatures'
" Move to x - highlights "x". " Move to x - highlights "x".
noautocmd normal 2h noautocmd normal 2h
doautocmd CursorHoldI doautocmd CursorHoldI
Expect getline(1) == '?!?jedi=0, ?!? (value: object, *_*format_spec: str=...*_*) ?!?jedi?!?' Expect getline(1) == '?!?jedi=0, ?!? (value: object, *_*format_spec: str=""*_*) ?!?jedi?!?'
" Move left to 42 - hightlights first argument ("value"). " Move left to 42 - hightlights first argument ("value").
noautocmd normal 4h noautocmd normal 4h
doautocmd CursorHoldI doautocmd CursorHoldI
Expect getline(1) == '?!?jedi=0, ?!? (*_*value: object*_*, format_spec: str=...) ?!?jedi?!?' Expect getline(1) == '?!?jedi=0, ?!? (*_*value: object*_*, format_spec: str="") ?!?jedi?!?'
end end
it 'no signature' it 'no signature'
@@ -82,7 +82,7 @@ describe 'signatures'
redir => msg redir => msg
python3 jedi_vim.show_call_signatures() python3 jedi_vim.show_call_signatures()
redir END redir END
Expect msg == "\nstaticmethod(f: Callable[..., Any])" Expect msg == "\nstaticmethod(f: Callable[_P, _R_co])"
redir => msg redir => msg
doautocmd InsertLeave doautocmd InsertLeave
@@ -98,6 +98,11 @@ describe 'signatures'
end end
it 'command line truncation' it 'command line truncation'
" Disable autoindent so `o` opens a new line at column 0; relying on
" `\<BS>` to strip the indent is not portable across vim/nvim defaults
" (with `bs=eol` it joins lines instead of just removing the indent).
setlocal noautoindent nosmartindent indentexpr=
let g:jedi#show_call_signatures = 2 let g:jedi#show_call_signatures = 2
call jedi#configure_call_signatures() call jedi#configure_call_signatures()
@@ -111,7 +116,7 @@ describe 'signatures'
let funcname = repeat('a', &columns - (30 + (&ruler ? 18 : 0))) let funcname = repeat('a', &columns - (30 + (&ruler ? 18 : 0)))
put = 'def '.funcname.'(arg1, arg2, arg3, a, b, c):' put = 'def '.funcname.'(arg1, arg2, arg3, a, b, c):'
put = ' pass' put = ' pass'
execute "normal o\<BS>".funcname."( " execute "normal o".funcname."( "
Expect Signature() == "\n".funcname."(arg1, …)" Expect Signature() == "\n".funcname."(arg1, …)"
exe 'normal sarg1, ' exe 'normal sarg1, '
@@ -126,7 +131,7 @@ describe 'signatures'
g/^/d g/^/d
put = 'def '.funcname.'('.repeat('b', 20).', arg2):' put = 'def '.funcname.'('.repeat('b', 20).', arg2):'
put = ' pass' put = ' pass'
execute "normal o\<BS>".funcname."( " execute "normal o".funcname."( "
Expect Signature() == "\n".funcname."(…)" Expect Signature() == "\n".funcname."(…)"
end end