forked from github-mirrors/ale
chore: replace python-language-server to supported pylsp (#3810)
As mentioned in #3722 palantir's python-language-server is no longer maintained. The alternative is to use the community-driven https://github.com/python-lsp/python-lsp-server.
This commit is contained in:
parent
e230f07465
commit
8b73d98baf
|
@ -1,37 +0,0 @@
|
||||||
" Author: aurieh <me@aurieh.me>
|
|
||||||
" Description: A language server for Python
|
|
||||||
|
|
||||||
call ale#Set('python_pyls_executable', 'pyls')
|
|
||||||
call ale#Set('python_pyls_options', '')
|
|
||||||
call ale#Set('python_pyls_use_global', get(g:, 'ale_use_global_executables', 0))
|
|
||||||
call ale#Set('python_pyls_auto_pipenv', 0)
|
|
||||||
call ale#Set('python_pyls_config', {})
|
|
||||||
|
|
||||||
function! ale_linters#python#pyls#GetExecutable(buffer) abort
|
|
||||||
if (ale#Var(a:buffer, 'python_auto_pipenv') || ale#Var(a:buffer, 'python_pyls_auto_pipenv'))
|
|
||||||
\ && ale#python#PipenvPresent(a:buffer)
|
|
||||||
return 'pipenv'
|
|
||||||
endif
|
|
||||||
|
|
||||||
return ale#python#FindExecutable(a:buffer, 'python_pyls', ['pyls'])
|
|
||||||
endfunction
|
|
||||||
|
|
||||||
function! ale_linters#python#pyls#GetCommand(buffer) abort
|
|
||||||
let l:executable = ale_linters#python#pyls#GetExecutable(a:buffer)
|
|
||||||
|
|
||||||
let l:exec_args = l:executable =~? 'pipenv$'
|
|
||||||
\ ? ' run pyls'
|
|
||||||
\ : ''
|
|
||||||
|
|
||||||
return ale#Escape(l:executable) . l:exec_args . ale#Pad(ale#Var(a:buffer, 'python_pyls_options'))
|
|
||||||
endfunction
|
|
||||||
|
|
||||||
call ale#linter#Define('python', {
|
|
||||||
\ 'name': 'pyls',
|
|
||||||
\ 'lsp': 'stdio',
|
|
||||||
\ 'executable': function('ale_linters#python#pyls#GetExecutable'),
|
|
||||||
\ 'command': function('ale_linters#python#pyls#GetCommand'),
|
|
||||||
\ 'project_root': function('ale#python#FindProjectRoot'),
|
|
||||||
\ 'completion_filter': 'ale#completion#python#CompletionItemFilter',
|
|
||||||
\ 'lsp_config': {b -> ale#Var(b, 'python_pyls_config')},
|
|
||||||
\})
|
|
|
@ -0,0 +1,37 @@
|
||||||
|
" Author: aurieh <me@aurieh.me>
|
||||||
|
" Description: A language server for Python
|
||||||
|
|
||||||
|
call ale#Set('python_pylsp_executable', 'pylsp')
|
||||||
|
call ale#Set('python_pylsp_options', '')
|
||||||
|
call ale#Set('python_pylsp_use_global', get(g:, 'ale_use_global_executables', 0))
|
||||||
|
call ale#Set('python_pylsp_auto_pipenv', 0)
|
||||||
|
call ale#Set('python_pylsp_config', {})
|
||||||
|
|
||||||
|
function! ale_linters#python#pylsp#GetExecutable(buffer) abort
|
||||||
|
if (ale#Var(a:buffer, 'python_auto_pipenv') || ale#Var(a:buffer, 'python_pylsp_auto_pipenv'))
|
||||||
|
\ && ale#python#PipenvPresent(a:buffer)
|
||||||
|
return 'pipenv'
|
||||||
|
endif
|
||||||
|
|
||||||
|
return ale#python#FindExecutable(a:buffer, 'python_pylsp', ['pylsp'])
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
function! ale_linters#python#pylsp#GetCommand(buffer) abort
|
||||||
|
let l:executable = ale_linters#python#pylsp#GetExecutable(a:buffer)
|
||||||
|
|
||||||
|
let l:exec_args = l:executable =~? 'pipenv$'
|
||||||
|
\ ? ' run pylsp'
|
||||||
|
\ : ''
|
||||||
|
|
||||||
|
return ale#Escape(l:executable) . l:exec_args . ale#Pad(ale#Var(a:buffer, 'python_pylsp_options'))
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
call ale#linter#Define('python', {
|
||||||
|
\ 'name': 'pylsp',
|
||||||
|
\ 'lsp': 'stdio',
|
||||||
|
\ 'executable': function('ale_linters#python#pylsp#GetExecutable'),
|
||||||
|
\ 'command': function('ale_linters#python#pylsp#GetCommand'),
|
||||||
|
\ 'project_root': function('ale#python#FindProjectRoot'),
|
||||||
|
\ 'completion_filter': 'ale#completion#python#CompletionItemFilter',
|
||||||
|
\ 'lsp_config': {b -> ale#Var(b, 'python_pylsp_config')},
|
||||||
|
\})
|
|
@ -36,7 +36,7 @@ ALE will look for configuration files with the following filenames. >
|
||||||
.pylintrc
|
.pylintrc
|
||||||
Pipfile
|
Pipfile
|
||||||
Pipfile.lock
|
Pipfile.lock
|
||||||
poetry.lock
|
poetry.lock
|
||||||
pyproject.toml
|
pyproject.toml
|
||||||
<
|
<
|
||||||
|
|
||||||
|
@ -638,31 +638,31 @@ g:ale_python_pylint_use_msg_id *g:ale_python_pylint_use_msg_id*
|
||||||
|
|
||||||
|
|
||||||
===============================================================================
|
===============================================================================
|
||||||
pyls *ale-python-pyls*
|
pylsp *ale-python-pylsp*
|
||||||
|
|
||||||
`pyls` will be run from a detected project root, per |ale-python-root|.
|
`pylsp` will be run from a detected project root, per |ale-python-root|.
|
||||||
|
|
||||||
|
|
||||||
g:ale_python_pyls_executable *g:ale_python_pyls_executable*
|
g:ale_python_pylsp_executable *g:ale_python_pylsp_executable*
|
||||||
*b:ale_python_pyls_executable*
|
*b:ale_python_pylsp_executable*
|
||||||
Type: |String|
|
Type: |String|
|
||||||
Default: `'pyls'`
|
Default: `'pylsp'`
|
||||||
|
|
||||||
See |ale-integrations-local-executables|
|
See |ale-integrations-local-executables|
|
||||||
|
|
||||||
Set this to `'pipenv'` to invoke `'pipenv` `run` `pyls'`.
|
Set this to `'pipenv'` to invoke `'pipenv` `run` `pylsp'`.
|
||||||
|
|
||||||
|
|
||||||
g:ale_python_pyls_use_global *g:ale_python_pyls_use_global*
|
g:ale_python_pylsp_use_global *g:ale_python_pylsp_use_global*
|
||||||
*b:ale_python_pyls_use_global*
|
*b:ale_python_pylsp_use_global*
|
||||||
Type: |Number|
|
Type: |Number|
|
||||||
Default: `get(g:, 'ale_use_global_executables', 0)`
|
Default: `get(g:, 'ale_use_global_executables', 0)`
|
||||||
|
|
||||||
See |ale-integrations-local-executables|
|
See |ale-integrations-local-executables|
|
||||||
|
|
||||||
|
|
||||||
g:ale_python_pyls_auto_pipenv *g:ale_python_pyls_auto_pipenv*
|
g:ale_python_pylsp_auto_pipenv *g:ale_python_pylsp_auto_pipenv*
|
||||||
*b:ale_python_pyls_auto_pipenv*
|
*b:ale_python_pylsp_auto_pipenv*
|
||||||
Type: |Number|
|
Type: |Number|
|
||||||
Default: `0`
|
Default: `0`
|
||||||
|
|
||||||
|
@ -670,15 +670,15 @@ g:ale_python_pyls_auto_pipenv *g:ale_python_pyls_auto_pipenv*
|
||||||
if true. This is overridden by a manually-set executable.
|
if true. This is overridden by a manually-set executable.
|
||||||
|
|
||||||
|
|
||||||
g:ale_python_pyls_config *g:ale_python_pyls_config*
|
g:ale_python_pylsp_config *g:ale_python_pylsp_config*
|
||||||
*b:ale_python_pyls_config*
|
*b:ale_python_pylsp_config*
|
||||||
Type: |Dictionary|
|
Type: |Dictionary|
|
||||||
Default: `{}`
|
Default: `{}`
|
||||||
|
|
||||||
Dictionary with configuration settings for pyls. For example, to disable
|
Dictionary with configuration settings for pylsp. For example, to disable
|
||||||
the pycodestyle linter: >
|
the pycodestyle linter: >
|
||||||
{
|
{
|
||||||
\ 'pyls': {
|
\ 'pylsp': {
|
||||||
\ 'plugins': {
|
\ 'plugins': {
|
||||||
\ 'pycodestyle': {
|
\ 'pycodestyle': {
|
||||||
\ 'enabled': v:false
|
\ 'enabled': v:false
|
||||||
|
@ -688,24 +688,24 @@ g:ale_python_pyls_config *g:ale_python_pyls_config*
|
||||||
\ }
|
\ }
|
||||||
<
|
<
|
||||||
|
|
||||||
g:ale_python_pyls_options *g:ale_python_pyls_options*
|
g:ale_python_pylsp_options *g:ale_python_pylsp_options*
|
||||||
*b:ale_python_pyls_options*
|
*b:ale_python_pylsp_options*
|
||||||
Type: |String|
|
Type: |String|
|
||||||
Default: `''`
|
Default: `''`
|
||||||
|
|
||||||
This variable can be changed to add command-line arguments to the pyls
|
This variable can be changed to add command-line arguments to the pylsp
|
||||||
invocation. Note that this is not the same thing as ale_python_pyls_config,
|
invocation. Note that this is not the same thing as ale_python_pylsp_config,
|
||||||
which allows configuration of how pyls functions; this is intended to
|
which allows configuration of how pylsp functions; this is intended to
|
||||||
provide flexibility in how the pyls command is invoked.
|
provide flexibility in how the pylsp command is invoked.
|
||||||
|
|
||||||
For example, if you had installed `pyls` but your `pyls` executable was not
|
For example, if you had installed `pylsp` but your `pylsp` executable was not
|
||||||
on your `PATH` for some reason, an alternative way to run the pyls server
|
on your `PATH` for some reason, an alternative way to run the pylsp server
|
||||||
would be:
|
would be:
|
||||||
let g:ale_python_pyls_executable = 'python3'
|
let g:ale_python_pylsp_executable = 'python3'
|
||||||
let g:ale_python_pyls_options = '-m pyls'
|
let g:ale_python_pylsp_options = '-m pylsp'
|
||||||
|
|
||||||
An example stragety for installing `pyls`:
|
An example stragety for installing `pylsp`:
|
||||||
`python3 -m pip install --user pyls`
|
`python3 -m pip install --user pylsp`
|
||||||
|
|
||||||
===============================================================================
|
===============================================================================
|
||||||
pyre *ale-python-pyre*
|
pyre *ale-python-pyre*
|
||||||
|
|
|
@ -411,7 +411,7 @@ Notes:
|
||||||
* `pyflakes`
|
* `pyflakes`
|
||||||
* `pylama`!!
|
* `pylama`!!
|
||||||
* `pylint`!!
|
* `pylint`!!
|
||||||
* `pyls`
|
* `pylsp`
|
||||||
* `pyre`
|
* `pyre`
|
||||||
* `pyright`
|
* `pyright`
|
||||||
* `reorder-python-imports`
|
* `reorder-python-imports`
|
||||||
|
|
|
@ -2945,7 +2945,7 @@ documented in additional help files.
|
||||||
pyflakes..............................|ale-python-pyflakes|
|
pyflakes..............................|ale-python-pyflakes|
|
||||||
pylama................................|ale-python-pylama|
|
pylama................................|ale-python-pylama|
|
||||||
pylint................................|ale-python-pylint|
|
pylint................................|ale-python-pylint|
|
||||||
pyls..................................|ale-python-pyls|
|
pylsp.................................|ale-python-pylsp|
|
||||||
pyre..................................|ale-python-pyre|
|
pyre..................................|ale-python-pyre|
|
||||||
pyright...............................|ale-python-pyright|
|
pyright...............................|ale-python-pyright|
|
||||||
reorder-python-imports................|ale-python-reorder_python_imports|
|
reorder-python-imports................|ale-python-reorder_python_imports|
|
||||||
|
|
|
@ -420,7 +420,7 @@ formatting.
|
||||||
* [pyflakes](https://github.com/PyCQA/pyflakes)
|
* [pyflakes](https://github.com/PyCQA/pyflakes)
|
||||||
* [pylama](https://github.com/klen/pylama) :floppy_disk:
|
* [pylama](https://github.com/klen/pylama) :floppy_disk:
|
||||||
* [pylint](https://www.pylint.org/) :floppy_disk:
|
* [pylint](https://www.pylint.org/) :floppy_disk:
|
||||||
* [pyls](https://github.com/palantir/python-language-server) :warning:
|
* [pylsp](https://github.com/python-lsp/python-lsp-server) :warning:
|
||||||
* [pyre](https://github.com/facebook/pyre-check) :warning:
|
* [pyre](https://github.com/facebook/pyre-check) :warning:
|
||||||
* [pyright](https://github.com/microsoft/pyright)
|
* [pyright](https://github.com/microsoft/pyright)
|
||||||
* [reorder-python-imports](https://github.com/asottile/reorder_python_imports)
|
* [reorder-python-imports](https://github.com/asottile/reorder_python_imports)
|
||||||
|
|
|
@ -205,8 +205,8 @@ Given python(Some Python file):
|
||||||
bazxyzxyzxyz
|
bazxyzxyzxyz
|
||||||
|
|
||||||
Execute(The right message should be sent for the initial LSP request):
|
Execute(The right message should be sent for the initial LSP request):
|
||||||
runtime ale_linters/python/pyls.vim
|
runtime ale_linters/python/pylsp.vim
|
||||||
let b:ale_linters = ['pyls']
|
let b:ale_linters = ['pylsp']
|
||||||
" The cursor position needs to match what was saved before.
|
" The cursor position needs to match what was saved before.
|
||||||
call setpos('.', [bufnr(''), 1, 5, 0])
|
call setpos('.', [bufnr(''), 1, 5, 0])
|
||||||
|
|
||||||
|
@ -226,7 +226,7 @@ Execute(The right message should be sent for the initial LSP request):
|
||||||
\ string(g:Callback)
|
\ string(g:Callback)
|
||||||
" We should send the right message.
|
" We should send the right message.
|
||||||
" The character index needs to be at most the index of the last character on
|
" The character index needs to be at most the index of the last character on
|
||||||
" the line, or integration with pyls will be broken.
|
" the line, or integration with pylsp will be broken.
|
||||||
"
|
"
|
||||||
" We need to send the message for changing the document first.
|
" We need to send the message for changing the document first.
|
||||||
AssertEqual
|
AssertEqual
|
||||||
|
|
|
@ -41,7 +41,7 @@ Execute(ale#completion#CanProvideCompletions should return 0 when no completion
|
||||||
AssertEqual 0, ale#completion#CanProvideCompletions()
|
AssertEqual 0, ale#completion#CanProvideCompletions()
|
||||||
|
|
||||||
Execute(ale#completion#CanProvideCompletions should return 1 when at least one completion source is available):
|
Execute(ale#completion#CanProvideCompletions should return 1 when at least one completion source is available):
|
||||||
runtime ale_linters/python/pyls.vim
|
runtime ale_linters/python/pylsp.vim
|
||||||
let b:ale_linters = ['pyls']
|
let b:ale_linters = ['pylsp']
|
||||||
|
|
||||||
AssertEqual 1, ale#completion#CanProvideCompletions()
|
AssertEqual 1, ale#completion#CanProvideCompletions()
|
||||||
|
|
|
@ -1,57 +0,0 @@
|
||||||
Before:
|
|
||||||
call ale#assert#SetUpLinterTest('python', 'pyls')
|
|
||||||
|
|
||||||
let b:bin_dir = has('win32') ? 'Scripts' : 'bin'
|
|
||||||
|
|
||||||
After:
|
|
||||||
unlet! b:bin_dir
|
|
||||||
unlet! b:executable
|
|
||||||
|
|
||||||
call ale#assert#TearDownLinterTest()
|
|
||||||
|
|
||||||
Execute(The pyls command callback should return default string):
|
|
||||||
AssertLinter 'pyls', ale#Escape('pyls')
|
|
||||||
|
|
||||||
Execute(The pyls executable should be configurable):
|
|
||||||
let g:ale_python_pyls_executable = '~/.local/bin/pyls'
|
|
||||||
|
|
||||||
AssertLinter '~/.local/bin/pyls' , ale#Escape('~/.local/bin/pyls')
|
|
||||||
|
|
||||||
Execute(The pyls command callback should let you set options):
|
|
||||||
let g:ale_python_pyls_options = '--some-option'
|
|
||||||
|
|
||||||
AssertLinter 'pyls', ale#Escape('pyls') . ' --some-option'
|
|
||||||
|
|
||||||
Execute(The pyls executable should be run from the virtualenv path):
|
|
||||||
call ale#test#SetFilename('../test-files/python/with_virtualenv/subdir/foo/bar.py')
|
|
||||||
|
|
||||||
let b:executable = ale#path#Simplify(
|
|
||||||
\ g:dir . '/../test-files/python/with_virtualenv/env/' . b:bin_dir . '/pyls'
|
|
||||||
\)
|
|
||||||
|
|
||||||
AssertEqual ale#Escape(b:executable),
|
|
||||||
\ ale_linters#python#pyls#GetCommand(bufnr(''))
|
|
||||||
|
|
||||||
Execute(You should be able to override the pyls virtualenv lookup):
|
|
||||||
call ale#test#SetFilename('../test-files/python/with_virtualenv/subdir/foo/bar.py')
|
|
||||||
|
|
||||||
let g:ale_python_pyls_use_global = 1
|
|
||||||
|
|
||||||
AssertLinter 'pyls', ale#Escape('pyls')
|
|
||||||
|
|
||||||
Execute(Setting executable to 'pipenv' appends 'run pyls'):
|
|
||||||
let g:ale_python_pyls_executable = 'path/to/pipenv'
|
|
||||||
|
|
||||||
AssertLinter 'path/to/pipenv', ale#Escape('path/to/pipenv') . ' run pyls'
|
|
||||||
|
|
||||||
Execute(Pipenv is detected when python_pyls_auto_pipenv is set):
|
|
||||||
let g:ale_python_pyls_auto_pipenv = 1
|
|
||||||
call ale#test#SetFilename('../test-files/python/pipenv/whatever.py')
|
|
||||||
|
|
||||||
AssertLinter 'pipenv',
|
|
||||||
\ ale#Escape('pipenv') . ' run pyls'
|
|
||||||
|
|
||||||
Execute(Should accept configuration settings):
|
|
||||||
AssertLSPConfig {}
|
|
||||||
let b:ale_python_pyls_config = {'pyls': {'plugins': {'preload': {'enabled': v:false}}}}
|
|
||||||
AssertLSPConfig {'pyls': {'plugins': {'preload': {'enabled': v:false}}}}
|
|
|
@ -0,0 +1,57 @@
|
||||||
|
Before:
|
||||||
|
call ale#assert#SetUpLinterTest('python', 'pylsp')
|
||||||
|
|
||||||
|
let b:bin_dir = has('win32') ? 'Scripts' : 'bin'
|
||||||
|
|
||||||
|
After:
|
||||||
|
unlet! b:bin_dir
|
||||||
|
unlet! b:executable
|
||||||
|
|
||||||
|
call ale#assert#TearDownLinterTest()
|
||||||
|
|
||||||
|
Execute(The pylsp command callback should return default string):
|
||||||
|
AssertLinter 'pylsp', ale#Escape('pylsp')
|
||||||
|
|
||||||
|
Execute(The pylsp executable should be configurable):
|
||||||
|
let g:ale_python_pylsp_executable = '~/.local/bin/pylsp'
|
||||||
|
|
||||||
|
AssertLinter '~/.local/bin/pylsp' , ale#Escape('~/.local/bin/pylsp')
|
||||||
|
|
||||||
|
Execute(The pylsp command callback should let you set options):
|
||||||
|
let g:ale_python_pylsp_options = '--some-option'
|
||||||
|
|
||||||
|
AssertLinter 'pylsp', ale#Escape('pylsp') . ' --some-option'
|
||||||
|
|
||||||
|
Execute(The pylsp executable should be run from the virtualenv path):
|
||||||
|
call ale#test#SetFilename('../test-files/python/with_virtualenv/subdir/foo/bar.py')
|
||||||
|
|
||||||
|
let b:executable = ale#path#Simplify(
|
||||||
|
\ g:dir . '/../test-files/python/with_virtualenv/env/' . b:bin_dir . '/pylsp'
|
||||||
|
\)
|
||||||
|
|
||||||
|
AssertEqual ale#Escape(b:executable),
|
||||||
|
\ ale_linters#python#pylsp#GetCommand(bufnr(''))
|
||||||
|
|
||||||
|
Execute(You should be able to override the pylsp virtualenv lookup):
|
||||||
|
call ale#test#SetFilename('../test-files/python/with_virtualenv/subdir/foo/bar.py')
|
||||||
|
|
||||||
|
let g:ale_python_pylsp_use_global = 1
|
||||||
|
|
||||||
|
AssertLinter 'pylsp', ale#Escape('pylsp')
|
||||||
|
|
||||||
|
Execute(Setting executable to 'pipenv' appends 'run pylsp'):
|
||||||
|
let g:ale_python_pylsp_executable = 'path/to/pipenv'
|
||||||
|
|
||||||
|
AssertLinter 'path/to/pipenv', ale#Escape('path/to/pipenv') . ' run pylsp'
|
||||||
|
|
||||||
|
Execute(Pipenv is detected when python_pylsp_auto_pipenv is set):
|
||||||
|
let g:ale_python_pylsp_auto_pipenv = 1
|
||||||
|
call ale#test#SetFilename('../test-files/python/pipenv/whatever.py')
|
||||||
|
|
||||||
|
AssertLinter 'pipenv',
|
||||||
|
\ ale#Escape('pipenv') . ' run pylsp'
|
||||||
|
|
||||||
|
Execute(Should accept configuration settings):
|
||||||
|
AssertLSPConfig {}
|
||||||
|
let b:ale_python_pylsp_config = {'pylsp': {'plugins': {'preload': {'enabled': v:false}}}}
|
||||||
|
AssertLSPConfig {'pylsp': {'plugins': {'preload': {'enabled': v:false}}}}
|
|
@ -391,11 +391,11 @@ Execute(LSP diagnostics responses on project root should not populate loclist):
|
||||||
\ ale#test#GetLoclistWithoutModule()
|
\ ale#test#GetLoclistWithoutModule()
|
||||||
|
|
||||||
Execute(LSP errors should mark linters no longer active):
|
Execute(LSP errors should mark linters no longer active):
|
||||||
let b:ale_linters = ['pyls']
|
let b:ale_linters = ['pylsp']
|
||||||
runtime ale_linters/python/pyls.vim
|
runtime ale_linters/python/pylsp.vim
|
||||||
call ale#test#SetFilename('filename.py')
|
call ale#test#SetFilename('filename.py')
|
||||||
call ale#engine#InitBufferInfo(bufnr(''))
|
call ale#engine#InitBufferInfo(bufnr(''))
|
||||||
call ale#lsp_linter#SetLSPLinterMap({1: 'pyls'})
|
call ale#lsp_linter#SetLSPLinterMap({1: 'pylsp'})
|
||||||
|
|
||||||
let g:ale_buffer_info[bufnr('')].active_linter_list = ale#linter#Get('python')
|
let g:ale_buffer_info[bufnr('')].active_linter_list = ale#linter#Get('python')
|
||||||
Assert !empty(g:ale_buffer_info[bufnr('')].active_linter_list)
|
Assert !empty(g:ale_buffer_info[bufnr('')].active_linter_list)
|
||||||
|
|
|
@ -344,8 +344,8 @@ Execute(LSP reference responses with a null result should be handled):
|
||||||
AssertEqual ['echom ''No references found.'''], g:expr_list
|
AssertEqual ['echom ''No references found.'''], g:expr_list
|
||||||
|
|
||||||
Execute(LSP reference requests should be sent):
|
Execute(LSP reference requests should be sent):
|
||||||
runtime ale_linters/python/pyls.vim
|
runtime ale_linters/python/pylsp.vim
|
||||||
let b:ale_linters = ['pyls']
|
let b:ale_linters = ['pylsp']
|
||||||
call setpos('.', [bufnr(''), 1, 5, 0])
|
call setpos('.', [bufnr(''), 1, 5, 0])
|
||||||
|
|
||||||
ALEFindReferences
|
ALEFindReferences
|
||||||
|
@ -381,8 +381,8 @@ Execute(LSP reference requests should be sent):
|
||||||
AssertEqual {'42': {'open_in': 'current-buffer', 'use_relative_paths': 0}}, ale#references#GetMap()
|
AssertEqual {'42': {'open_in': 'current-buffer', 'use_relative_paths': 0}}, ale#references#GetMap()
|
||||||
|
|
||||||
Execute('-relative' argument should enable 'use_relative_paths' in HandleLSPResponse):
|
Execute('-relative' argument should enable 'use_relative_paths' in HandleLSPResponse):
|
||||||
runtime ale_linters/python/pyls.vim
|
runtime ale_linters/python/pylsp.vim
|
||||||
let b:ale_linters = ['pyls']
|
let b:ale_linters = ['pylsp']
|
||||||
call setpos('.', [bufnr(''), 1, 5, 0])
|
call setpos('.', [bufnr(''), 1, 5, 0])
|
||||||
|
|
||||||
ALEFindReferences -relative
|
ALEFindReferences -relative
|
||||||
|
|
|
@ -449,8 +449,8 @@ Execute(Definition responses with null response should be handled):
|
||||||
AssertEqual [], g:expr_list
|
AssertEqual [], g:expr_list
|
||||||
|
|
||||||
Execute(LSP definition requests should be sent):
|
Execute(LSP definition requests should be sent):
|
||||||
runtime ale_linters/python/pyls.vim
|
runtime ale_linters/python/pylsp.vim
|
||||||
let b:ale_linters = ['pyls']
|
let b:ale_linters = ['pylsp']
|
||||||
call setpos('.', [bufnr(''), 1, 5, 0])
|
call setpos('.', [bufnr(''), 1, 5, 0])
|
||||||
|
|
||||||
ALEGoToDefinition
|
ALEGoToDefinition
|
||||||
|
@ -485,8 +485,8 @@ Execute(LSP definition requests should be sent):
|
||||||
AssertEqual {'42': {'open_in': 'current-buffer'}}, ale#definition#GetMap()
|
AssertEqual {'42': {'open_in': 'current-buffer'}}, ale#definition#GetMap()
|
||||||
|
|
||||||
Execute(LSP type definition requests should be sent):
|
Execute(LSP type definition requests should be sent):
|
||||||
runtime ale_linters/python/pyls.vim
|
runtime ale_linters/python/pylsp.vim
|
||||||
let b:ale_linters = ['pyls']
|
let b:ale_linters = ['pylsp']
|
||||||
call setpos('.', [bufnr(''), 1, 5, 0])
|
call setpos('.', [bufnr(''), 1, 5, 0])
|
||||||
|
|
||||||
ALEGoToTypeDefinition
|
ALEGoToTypeDefinition
|
||||||
|
@ -521,8 +521,8 @@ Execute(LSP type definition requests should be sent):
|
||||||
AssertEqual {'42': {'open_in': 'current-buffer'}}, ale#definition#GetMap()
|
AssertEqual {'42': {'open_in': 'current-buffer'}}, ale#definition#GetMap()
|
||||||
|
|
||||||
Execute(LSP tab definition requests should be sent):
|
Execute(LSP tab definition requests should be sent):
|
||||||
runtime ale_linters/python/pyls.vim
|
runtime ale_linters/python/pylsp.vim
|
||||||
let b:ale_linters = ['pyls']
|
let b:ale_linters = ['pylsp']
|
||||||
call setpos('.', [bufnr(''), 1, 5, 0])
|
call setpos('.', [bufnr(''), 1, 5, 0])
|
||||||
|
|
||||||
ALEGoToDefinition -tab
|
ALEGoToDefinition -tab
|
||||||
|
@ -557,8 +557,8 @@ Execute(LSP tab definition requests should be sent):
|
||||||
AssertEqual {'42': {'open_in': 'tab'}}, ale#definition#GetMap()
|
AssertEqual {'42': {'open_in': 'tab'}}, ale#definition#GetMap()
|
||||||
|
|
||||||
Execute(LSP tab type definition requests should be sent):
|
Execute(LSP tab type definition requests should be sent):
|
||||||
runtime ale_linters/python/pyls.vim
|
runtime ale_linters/python/pylsp.vim
|
||||||
let b:ale_linters = ['pyls']
|
let b:ale_linters = ['pylsp']
|
||||||
call setpos('.', [bufnr(''), 1, 5, 0])
|
call setpos('.', [bufnr(''), 1, 5, 0])
|
||||||
|
|
||||||
ALEGoToTypeDefinition -tab
|
ALEGoToTypeDefinition -tab
|
||||||
|
|
|
@ -156,8 +156,8 @@ Given python(Some Python file):
|
||||||
|
|
||||||
Execute(Should result in error message):
|
Execute(Should result in error message):
|
||||||
call ale#linter#Reset()
|
call ale#linter#Reset()
|
||||||
runtime ale_linters/python/pyls.vim
|
runtime ale_linters/python/pylsp.vim
|
||||||
let b:ale_linters = ['pyls']
|
let b:ale_linters = ['pylsp']
|
||||||
|
|
||||||
ALEOrganizeImports
|
ALEOrganizeImports
|
||||||
|
|
||||||
|
|
|
@ -466,8 +466,8 @@ Execute(LSP should perform no action when changes is empty):
|
||||||
|
|
||||||
Execute(LSP rename requests should be sent):
|
Execute(LSP rename requests should be sent):
|
||||||
call ale#rename#SetMap({})
|
call ale#rename#SetMap({})
|
||||||
runtime ale_linters/python/pyls.vim
|
runtime ale_linters/python/pylsp.vim
|
||||||
let b:ale_linters = ['pyls']
|
let b:ale_linters = ['pylsp']
|
||||||
call setpos('.', [bufnr(''), 1, 5, 0])
|
call setpos('.', [bufnr(''), 1, 5, 0])
|
||||||
|
|
||||||
ALERename
|
ALERename
|
||||||
|
|
|
@ -152,8 +152,8 @@ Given python(Some Python file):
|
||||||
bazxyzxyzxyz
|
bazxyzxyzxyz
|
||||||
|
|
||||||
Execute(LSP symbol requests should be sent):
|
Execute(LSP symbol requests should be sent):
|
||||||
runtime ale_linters/python/pyls.vim
|
runtime ale_linters/python/pylsp.vim
|
||||||
let b:ale_linters = ['pyls']
|
let b:ale_linters = ['pylsp']
|
||||||
call setpos('.', [bufnr(''), 1, 5, 0])
|
call setpos('.', [bufnr(''), 1, 5, 0])
|
||||||
|
|
||||||
ALESymbolSearch foo bar
|
ALESymbolSearch foo bar
|
||||||
|
@ -178,8 +178,8 @@ Execute(LSP symbol requests should be sent):
|
||||||
AssertEqual {'42': {'buffer': bufnr(''), 'use_relative_paths': 0}}, ale#symbol#GetMap()
|
AssertEqual {'42': {'buffer': bufnr(''), 'use_relative_paths': 0}}, ale#symbol#GetMap()
|
||||||
|
|
||||||
Execute('-relative' argument should enable 'use_relative_paths' in HandleLSPResponse):
|
Execute('-relative' argument should enable 'use_relative_paths' in HandleLSPResponse):
|
||||||
runtime ale_linters/python/pyls.vim
|
runtime ale_linters/python/pylsp.vim
|
||||||
let b:ale_linters = ['pyls']
|
let b:ale_linters = ['pylsp']
|
||||||
call setpos('.', [bufnr(''), 1, 5, 0])
|
call setpos('.', [bufnr(''), 1, 5, 0])
|
||||||
|
|
||||||
ALESymbolSearch -relative foo bar
|
ALESymbolSearch -relative foo bar
|
||||||
|
|
Loading…
Reference in New Issue