Complain loudly when other conflicting plugins are installed
This commit is contained in:
parent
70fb1606ad
commit
75a2dc5ff5
28
after/plugin/ale.vim
Normal file
28
after/plugin/ale.vim
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
if exists('g:loaded_ale_after')
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
|
||||||
|
let g:loaded_ale_after = 1
|
||||||
|
|
||||||
|
if !g:ale_emit_conflict_warnings
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
|
||||||
|
function! s:GetConflictingPluginWarning(plugin_name) abort
|
||||||
|
return 'ALE conflicts with ' . a:plugin_name
|
||||||
|
\ . '. Uninstall it, or disable this warning with '
|
||||||
|
\ . '`let g:ale_emit_conflict_warnings = 0` in your vimrc file, '
|
||||||
|
\ . '*before* plugins are loaded.'
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
if exists('g:loaded_syntastic_plugin')
|
||||||
|
throw s:GetConflictingPluginWarning('Syntastic')
|
||||||
|
endif
|
||||||
|
|
||||||
|
if exists('g:loaded_neomake')
|
||||||
|
throw s:GetConflictingPluginWarning('Neomake')
|
||||||
|
endif
|
||||||
|
|
||||||
|
if exists('g:loaded_validator_plugin')
|
||||||
|
throw s:GetConflictingPluginWarning('Validator')
|
||||||
|
endif
|
@ -187,6 +187,15 @@ g:ale_echo_msg_warning_str *g:ale_echo_msg_warning_str*
|
|||||||
Note |`g:ale_echo_msg_format`| should contain the `%severity%` handler
|
Note |`g:ale_echo_msg_format`| should contain the `%severity%` handler
|
||||||
|
|
||||||
|
|
||||||
|
g:ale_emit_conflict_warnings *g:ale_emit_conflict_warnings*
|
||||||
|
|
||||||
|
Type: |Number|
|
||||||
|
Default: `1`
|
||||||
|
|
||||||
|
When set to `0`, ALE will not emit any warnings on startup about conflicting
|
||||||
|
plugins. ALE will probably not work if other linting plugins are installed.
|
||||||
|
|
||||||
|
|
||||||
g:ale_enabled *g:ale_enabled*
|
g:ale_enabled *g:ale_enabled*
|
||||||
|
|
||||||
Type: |Number|
|
Type: |Number|
|
||||||
|
@ -32,6 +32,9 @@ if !s:has_features
|
|||||||
finish
|
finish
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
" Add the after directory to the runtimepath
|
||||||
|
let &runtimepath .= ',' . expand('<sfile>:p:h:h') . '/after'
|
||||||
|
|
||||||
" Set this flag so that other plugins can use it, like airline.
|
" Set this flag so that other plugins can use it, like airline.
|
||||||
let g:loaded_ale = 1
|
let g:loaded_ale = 1
|
||||||
|
|
||||||
@ -41,6 +44,9 @@ if has('unix') && empty($TMPDIR)
|
|||||||
let $TMPDIR = '/tmp'
|
let $TMPDIR = '/tmp'
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
" This flag can be set to 0 to disable emitting conflict warnings.
|
||||||
|
let g:ale_emit_conflict_warnings = get(g:, 'ale_emit_conflict_warnings', 1)
|
||||||
|
|
||||||
" This global variable is used internally by ALE for tracking information for
|
" This global variable is used internally by ALE for tracking information for
|
||||||
" each buffer which linters are being run against.
|
" each buffer which linters are being run against.
|
||||||
let g:ale_buffer_info = {}
|
let g:ale_buffer_info = {}
|
||||||
|
70
test/test_conflicting_plugin_warnings.vader
Normal file
70
test/test_conflicting_plugin_warnings.vader
Normal file
@ -0,0 +1,70 @@
|
|||||||
|
Execute(The after file should have been loaded for real):
|
||||||
|
Assert g:loaded_ale_after
|
||||||
|
|
||||||
|
Before:
|
||||||
|
silent! cd /testplugin/test
|
||||||
|
cd ..
|
||||||
|
unlet! g:loaded_ale_after
|
||||||
|
|
||||||
|
After:
|
||||||
|
cd test
|
||||||
|
let g:loaded_ale_after = 1
|
||||||
|
let g:ale_emit_conflict_warnings = 1
|
||||||
|
unlet! g:loaded_syntastic_plugin
|
||||||
|
unlet! g:loaded_neomake
|
||||||
|
unlet! g:loaded_validator_plugin
|
||||||
|
|
||||||
|
Execute(ALE should not warn when nothing extra is installed):
|
||||||
|
" Nothing should be thrown when loading the after file.
|
||||||
|
source after/plugin/ale.vim
|
||||||
|
|
||||||
|
Execute(ALE should warn users when Syntastic is installed):
|
||||||
|
let g:loaded_syntastic_plugin = 1
|
||||||
|
|
||||||
|
AssertThrows source after/plugin/ale.vim
|
||||||
|
AssertEqual
|
||||||
|
\ 'ALE conflicts with Syntastic'
|
||||||
|
\ . '. Uninstall it, or disable this warning with '
|
||||||
|
\ . '`let g:ale_emit_conflict_warnings = 0` in your vimrc file, '
|
||||||
|
\ . '*before* plugins are loaded.',
|
||||||
|
\ g:vader_exception
|
||||||
|
|
||||||
|
Execute(ALE should not warn about Syntastic when the flag is set):
|
||||||
|
let g:loaded_syntastic_plugin = 1
|
||||||
|
let g:ale_emit_conflict_warnings = 0
|
||||||
|
|
||||||
|
source after/plugin/ale.vim
|
||||||
|
|
||||||
|
Execute(ALE should warn users when Neomake is installed):
|
||||||
|
let g:loaded_neomake = 1
|
||||||
|
|
||||||
|
AssertThrows source after/plugin/ale.vim
|
||||||
|
AssertEqual
|
||||||
|
\ 'ALE conflicts with Neomake'
|
||||||
|
\ . '. Uninstall it, or disable this warning with '
|
||||||
|
\ . '`let g:ale_emit_conflict_warnings = 0` in your vimrc file, '
|
||||||
|
\ . '*before* plugins are loaded.',
|
||||||
|
\ g:vader_exception
|
||||||
|
|
||||||
|
Execute(ALE should not warn about Neomake when the flag is set):
|
||||||
|
let g:loaded_neomake = 1
|
||||||
|
let g:ale_emit_conflict_warnings = 0
|
||||||
|
|
||||||
|
source after/plugin/ale.vim
|
||||||
|
|
||||||
|
Execute(ALE should warn users when Validator is installed):
|
||||||
|
let g:loaded_validator_plugin = 1
|
||||||
|
|
||||||
|
AssertThrows source after/plugin/ale.vim
|
||||||
|
AssertEqual
|
||||||
|
\ 'ALE conflicts with Validator'
|
||||||
|
\ . '. Uninstall it, or disable this warning with '
|
||||||
|
\ . '`let g:ale_emit_conflict_warnings = 0` in your vimrc file, '
|
||||||
|
\ . '*before* plugins are loaded.',
|
||||||
|
\ g:vader_exception
|
||||||
|
|
||||||
|
Execute(ALE should not warn about Validator when the flag is set):
|
||||||
|
let g:loaded_validator_plugin = 1
|
||||||
|
let g:ale_emit_conflict_warnings = 0
|
||||||
|
|
||||||
|
source after/plugin/ale.vim
|
Loading…
Reference in New Issue
Block a user