From ea6d720fecaf79b508535b9e82ecbb0eda0346b6 Mon Sep 17 00:00:00 2001 From: Derek P Sifford Date: Sun, 1 Jul 2018 14:59:49 -0400 Subject: add pyre lsp linter to python linters --- ale_linters/python/pyre.vim | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 ale_linters/python/pyre.vim (limited to 'ale_linters') diff --git a/ale_linters/python/pyre.vim b/ale_linters/python/pyre.vim new file mode 100644 index 00000000..13f77d68 --- /dev/null +++ b/ale_linters/python/pyre.vim @@ -0,0 +1,29 @@ +" Author: dsifford +" Description: A performant type-checker supporting LSP for Python 3 created by Facebook + +call ale#Set('python_pyre_executable', 'pyre') +call ale#Set('python_pyre_use_global', get(g:, 'ale_use_global_executables', 0)) + +function! ale_linters#python#pyre#GetExecutable(buffer) abort + return ale#python#FindExecutable(a:buffer, 'python_pyre', ['pyre']) +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$' + \ ? ' run pyre persistent' + \ : ' persistent' + + return ale#Escape(l:executable) . l:exec_args +endfunction + +call ale#linter#Define('python', { +\ 'name': 'pyre', +\ 'lsp': 'stdio', +\ 'executable_callback': 'ale_linters#python#pyre#GetExecutable', +\ 'command_callback': 'ale_linters#python#pyre#GetCommand', +\ 'language': 'python', +\ 'project_root_callback': 'ale#python#FindProjectRoot', +\ 'completion_filter': 'ale#completion#python#CompletionItemFilter', +\}) -- cgit v1.2.3