mirror of
https://github.com/dense-analysis/ale.git
synced 2025-12-06 12:44:23 +08:00
issue 3033 (#3620)
* Add ale_python_pyls_options * Add extra explanatory detail * Fix alignment * Fix test
This commit is contained in:
@@ -2,6 +2,7 @@
|
|||||||
" Description: A language server for Python
|
" Description: A language server for Python
|
||||||
|
|
||||||
call ale#Set('python_pyls_executable', 'pyls')
|
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_use_global', get(g:, 'ale_use_global_executables', 0))
|
||||||
call ale#Set('python_pyls_auto_pipenv', 0)
|
call ale#Set('python_pyls_auto_pipenv', 0)
|
||||||
call ale#Set('python_pyls_config', {})
|
call ale#Set('python_pyls_config', {})
|
||||||
@@ -22,7 +23,7 @@ function! ale_linters#python#pyls#GetCommand(buffer) abort
|
|||||||
\ ? ' run pyls'
|
\ ? ' run pyls'
|
||||||
\ : ''
|
\ : ''
|
||||||
|
|
||||||
return ale#Escape(l:executable) . l:exec_args
|
return ale#Escape(l:executable) . l:exec_args . ale#Pad(ale#Var(a:buffer, 'python_pyls_options'))
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
call ale#linter#Define('python', {
|
call ale#linter#Define('python', {
|
||||||
|
|||||||
@@ -688,6 +688,25 @@ g:ale_python_pyls_config *g:ale_python_pyls_config*
|
|||||||
\ }
|
\ }
|
||||||
<
|
<
|
||||||
|
|
||||||
|
g:ale_python_pyls_options *g:ale_python_pyls_options*
|
||||||
|
*b:ale_python_pyls_options*
|
||||||
|
Type: |String|
|
||||||
|
Default: `''`
|
||||||
|
|
||||||
|
This variable can be changed to add command-line arguments to the pyls
|
||||||
|
invocation. Note that this is not the same thing as ale_python_pyls_config,
|
||||||
|
which allows configuration of how pyls functions; this is intended to
|
||||||
|
provide flexibility in how the pyls command is invoked.
|
||||||
|
|
||||||
|
For example, if you had installed `pyls` but your `pyls` executable was not
|
||||||
|
on your `PATH` for some reason, an alternative way to run the pyls server
|
||||||
|
would be:
|
||||||
|
let g:ale_python_pyls_executable = 'python3'
|
||||||
|
let g:ale_python_pyls_options = '-m pyls'
|
||||||
|
|
||||||
|
An example stragety for installing `pyls`:
|
||||||
|
`python3 -m pip install --user pyls`
|
||||||
|
|
||||||
===============================================================================
|
===============================================================================
|
||||||
pyre *ale-python-pyre*
|
pyre *ale-python-pyre*
|
||||||
|
|
||||||
|
|||||||
@@ -17,6 +17,11 @@ Execute(The pyls executable should be configurable):
|
|||||||
|
|
||||||
AssertLinter '~/.local/bin/pyls' , ale#Escape('~/.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):
|
Execute(The pyls executable should be run from the virtualenv path):
|
||||||
call ale#test#SetFilename('python_paths/with_virtualenv/subdir/foo/bar.py')
|
call ale#test#SetFilename('python_paths/with_virtualenv/subdir/foo/bar.py')
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user