diff options
Diffstat (limited to 'ale_linters/python/pyre.vim')
-rw-r--r-- | ale_linters/python/pyre.vim | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/ale_linters/python/pyre.vim b/ale_linters/python/pyre.vim index d9b46763..5e5786f9 100644 --- a/ale_linters/python/pyre.vim +++ b/ale_linters/python/pyre.vim @@ -22,14 +22,17 @@ endfunction function! ale_linters#python#pyre#GetCommand(buffer) abort let l:executable = ale_linters#python#pyre#GetExecutable(a:buffer) - - let l:exec_args = l:executable =~? 'pipenv\|poetry$' - \ ? ' run pyre persistent' - \ : ' persistent' + let l:exec_args = (l:executable =~? 'pipenv\|poetry$' ? ' run pyre' : '') . ' persistent' return ale#Escape(l:executable) . l:exec_args endfunction +function! ale_linters#python#pyre#GetCwd(buffer) abort + let l:local_config = ale#path#FindNearestFile(a:buffer, '.pyre_configuration.local') + + return fnamemodify(l:local_config, ':h') +endfunction + call ale#linter#Define('python', { \ 'name': 'pyre', \ 'lsp': 'stdio', @@ -37,4 +40,5 @@ call ale#linter#Define('python', { \ 'command': function('ale_linters#python#pyre#GetCommand'), \ 'project_root': function('ale#python#FindProjectRoot'), \ 'completion_filter': 'ale#completion#python#CompletionItemFilter', +\ 'cwd': function('ale_linters#python#pyre#GetCwd'), \}) |