Merge pull request #3403 from will/sorbetwatchman

Add Ruby sorbet option to enable watchman
This commit is contained in:
Horacio Sanson 2020-12-16 09:48:35 +09:00 committed by GitHub
commit f996ede599
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 21 additions and 1 deletions

View File

@ -1,14 +1,17 @@
call ale#Set('ruby_sorbet_executable', 'srb')
call ale#Set('ruby_sorbet_options', '')
call ale#Set('ruby_sorbet_enable_watchman', 0)
function! ale_linters#ruby#sorbet#GetCommand(buffer) abort
let l:executable = ale#Var(a:buffer, 'ruby_sorbet_executable')
let l:options = ale#Var(a:buffer, 'ruby_sorbet_options')
let l:enable_watchman = ale#Var(a:buffer, 'ruby_sorbet_enable_watchman')
return ale#ruby#EscapeExecutable(l:executable, 'srb')
\ . ' tc'
\ . (!empty(l:options) ? ' ' . l:options : '')
\ . ' --lsp --disable-watchman'
\ . ' --lsp'
\ . (l:enable_watchman ? '' : ' --disable-watchman')
endfunction
call ale#linter#Define('ruby', {

View File

@ -177,6 +177,16 @@ g:ale_ruby_sorbet_options *g:ale_ruby_sorbet_options*
This variable can be changed to modify flags given to sorbet.
g:ale_ruby_sorbet_enable_watchman *g:ale_ruby_sorbet_enable_watchman*
*b:ale_ruby_sorbet_enable_watchman*
Type: |Number|
Default: `0`
Whether or not to use watchman to let the LSP server to know about changes
to files from outside of vim. Defaults to disable watchman because it
requires watchman to be installed separately from sorbet.
===============================================================================
standardrb *ale-ruby-standardrb*

View File

@ -5,6 +5,7 @@ Before:
let g:ale_ruby_sorbet_executable = 'srb'
let g:ale_ruby_sorbet_options = ''
let g:ale_ruby_sorbet_enable_watchman = 0
After:
call ale#assert#TearDownLinterTest()
@ -13,6 +14,12 @@ Execute(Executable should default to srb):
AssertLinter 'srb', ale#Escape('srb')
\ . ' tc --lsp --disable-watchman'
Execute(Able to enable watchman):
let g:ale_ruby_sorbet_enable_watchman = 1
AssertLinter 'srb', ale#Escape('srb')
\ . ' tc --lsp'
Execute(Should be able to set a custom executable):
let g:ale_ruby_sorbet_executable = 'bin/srb'