summaryrefslogtreecommitdiff
path: root/plugin
diff options
context:
space:
mode:
authorbrian m. carlson <sandals@crustytoothpaste.net>2019-01-26 04:45:12 +0000
committerbrian m. carlson <sandals@crustytoothpaste.net>2019-01-26 04:46:41 +0000
commit6fc016ad052725e0d6a474e80f817cb1853e98e2 (patch)
tree974a57185079982a6ccb8565155909fa2f127d26 /plugin
parent766636e0c436d8508ae45c51df9229745b4d05d1 (diff)
downloadale-6fc016ad052725e0d6a474e80f817cb1853e98e2.zip
Add additional ways to detect LSP project root
Currently, we detect the linter root based on a variety of techniques. However, these techniques are not foolproof. For example, clangd works fine for many things without a compile_commands.json file, and Go projects may be built outside of the GOPATH to take advantage of Go 1.11's automatic module support. Add global and buffer-specific variables to allow the user to specify the root, either as a string or a funcref. Make the funcrefs accept the buffer number as an argument to make sure that they can function easily in an asynchronous environment. We define the global variable in the main plugin, since the LSP linter code is not loaded unless required, and we want the variable to be able to be read correctly by :ALEInfo regardless.
Diffstat (limited to 'plugin')
-rw-r--r--plugin/ale.vim3
1 files changed, 3 insertions, 0 deletions
diff --git a/plugin/ale.vim b/plugin/ale.vim
index 7d6a48f0..416324bc 100644
--- a/plugin/ale.vim
+++ b/plugin/ale.vim
@@ -87,6 +87,9 @@ let g:ale_lint_on_save = get(g:, 'ale_lint_on_save', 1)
" This flag can be set to 1 to enable linting when the filetype is changed.
let g:ale_lint_on_filetype_changed = get(g:, 'ale_lint_on_filetype_changed', 1)
+" This Dictionary configures the default LSP roots for various linters.
+let g:ale_lsp_root = get(g:, 'ale_lsp_root', {})
+
" This flag can be set to 1 to enable automatically fixing files on save.
let g:ale_fix_on_save = get(g:, 'ale_fix_on_save', 0)