mirror of
https://github.com/dense-analysis/ale.git
synced 2025-12-08 05:24:46 +08:00
Fix flake8 cd logic for invalid options
This commit is contained in:
@@ -40,27 +40,23 @@ endfunction
|
|||||||
|
|
||||||
function! ale_linters#python#flake8#GetCdString(buffer) abort
|
function! ale_linters#python#flake8#GetCdString(buffer) abort
|
||||||
let l:change_directory = ale#Var(a:buffer, 'python_flake8_change_directory')
|
let l:change_directory = ale#Var(a:buffer, 'python_flake8_change_directory')
|
||||||
|
let l:cd_string = ''
|
||||||
|
|
||||||
" map legacy options to new ones
|
if l:change_directory is# 'project'
|
||||||
if l:change_directory is# 1
|
let l:project_root = ale#python#FindProjectRootIni(a:buffer)
|
||||||
let l:change_directory = 'file'
|
|
||||||
elseif l:change_directory is# 0
|
if !empty(l:project_root)
|
||||||
let l:change_directory = 'off'
|
let l:cd_string = ale#path#CdString(l:project_root)
|
||||||
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if l:change_directory is# 'file'
|
if (l:change_directory is# 'project' && empty(l:cd_string))
|
||||||
return ale#path#BufferCdString(a:buffer)
|
\|| l:change_directory is# 1
|
||||||
elseif l:change_directory is# 'off'
|
\|| l:change_directory is# 'file'
|
||||||
return ''
|
let l:cd_string = ale#path#BufferCdString(a:buffer)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
let l:project_root = ale#python#FindProjectRootIni(a:buffer)
|
return l:cd_string
|
||||||
|
|
||||||
if !empty(l:project_root)
|
|
||||||
return ale#path#CdString(l:project_root)
|
|
||||||
endif
|
|
||||||
|
|
||||||
return ale#path#BufferCdString(a:buffer)
|
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function! ale_linters#python#flake8#GetCommand(buffer, version) abort
|
function! ale_linters#python#flake8#GetCommand(buffer, version) abort
|
||||||
|
|||||||
@@ -41,6 +41,19 @@ Execute(The option for disabling changing directories should work):
|
|||||||
\ ale#Escape('flake8') . ' --format=default --stdin-display-name %s -',
|
\ ale#Escape('flake8') . ' --format=default --stdin-display-name %s -',
|
||||||
\]
|
\]
|
||||||
|
|
||||||
|
let g:ale_python_flake8_change_directory = 0
|
||||||
|
|
||||||
|
AssertLinter 'flake8', [
|
||||||
|
\ ale#Escape('flake8') . ' --format=default --stdin-display-name %s -',
|
||||||
|
\]
|
||||||
|
|
||||||
|
" Invalid options should be considered the same as turning the setting off.
|
||||||
|
let g:ale_python_flake8_change_directory = 'xxx'
|
||||||
|
|
||||||
|
AssertLinter 'flake8', [
|
||||||
|
\ ale#Escape('flake8') . ' --format=default --stdin-display-name %s -',
|
||||||
|
\]
|
||||||
|
|
||||||
Execute(The option for changing directory to project root should work):
|
Execute(The option for changing directory to project root should work):
|
||||||
silent execute 'file ' . fnameescape(g:dir . '/python_paths/namespace_package_tox/namespace/foo/bar.py')
|
silent execute 'file ' . fnameescape(g:dir . '/python_paths/namespace_package_tox/namespace/foo/bar.py')
|
||||||
|
|
||||||
@@ -60,6 +73,13 @@ Execute(The option for changing directory to file dir should work):
|
|||||||
\ . ale#Escape('flake8') . ' --format=default --stdin-display-name %s -',
|
\ . ale#Escape('flake8') . ' --format=default --stdin-display-name %s -',
|
||||||
\]
|
\]
|
||||||
|
|
||||||
|
let g:ale_python_flake8_change_directory = 1
|
||||||
|
|
||||||
|
AssertLinter 'flake8', [
|
||||||
|
\ ale#path#BufferCdString(bufnr(''))
|
||||||
|
\ . ale#Escape('flake8') . ' --format=default --stdin-display-name %s -',
|
||||||
|
\]
|
||||||
|
|
||||||
Execute(The flake8 command callback should let you set options):
|
Execute(The flake8 command callback should let you set options):
|
||||||
let g:ale_python_flake8_options = '--some-option'
|
let g:ale_python_flake8_options = '--some-option'
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user