From 7b8e711877449478796306be9124c1fdd690b987 Mon Sep 17 00:00:00 2001 From: Horacio Sanson Date: Wed, 5 Jan 2022 22:19:32 +0900 Subject: [PATCH] Fix 4025 - Allow to configure texlab LSP settings (#4027) * Fix 4025 - Allow to configure texlab LSP settings * Fix ale_tex_texlab_config type in help --- ale_linters/tex/texlab.vim | 2 ++ doc/ale-tex.txt | 17 ++++++++++++++++- test/linter/test_texlab.vader | 5 +++++ 3 files changed, 23 insertions(+), 1 deletion(-) diff --git a/ale_linters/tex/texlab.vim b/ale_linters/tex/texlab.vim index 0794bf51..8e96b80b 100644 --- a/ale_linters/tex/texlab.vim +++ b/ale_linters/tex/texlab.vim @@ -4,6 +4,7 @@ call ale#Set('tex_texlab_executable', 'texlab') call ale#Set('tex_texlab_options', '') +call ale#Set('tex_texlab_config', {}) function! ale_linters#tex#texlab#GetProjectRoot(buffer) abort let l:git_path = ale#path#FindNearestDirectory(a:buffer, '.git') @@ -21,4 +22,5 @@ call ale#linter#Define('tex', { \ 'executable': {b -> ale#Var(b, 'tex_texlab_executable')}, \ 'command': function('ale_linters#tex#texlab#GetCommand'), \ 'project_root': function('ale_linters#tex#texlab#GetProjectRoot'), +\ 'lsp_config': {b -> ale#Var(b, 'tex_texlab_config')}, \}) diff --git a/doc/ale-tex.txt b/doc/ale-tex.txt index d5ef4783..147aacc4 100644 --- a/doc/ale-tex.txt +++ b/doc/ale-tex.txt @@ -73,8 +73,23 @@ g:ale_tex_texlab_options *g:ale_tex_texlab_options* Type: |String| Default: `''` - This variable can be changed to modify flags given to texlab. + This variable can be changed to modify flags given to texlab command. +g:ale_tex_texlab_config *g:ale_tex_texlab_config* + *b:ale_tex_texlab_config* + Type: |Dictionary| + Default: `{}` + + Dictionary containing LSP configuration settings used to initialize texlab + language server. Refer to texlab documentation for possible settings: + + https://github.com/latex-lsp/texlab/blob/master/docs/options.md + + For example to set build onSave initialization setting: + +> + let g:ale_tex_texlab_config = {"build":{"onSave":v:true}} +< =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/test/linter/test_texlab.vader b/test/linter/test_texlab.vader index 75fc2f25..72b78745 100644 --- a/test/linter/test_texlab.vader +++ b/test/linter/test_texlab.vader @@ -28,3 +28,8 @@ Execute(The options should be configurable): let b:ale_tex_texlab_options = '-v' AssertLinter 'texlab', ale#Escape('texlab') . ' ' . b:ale_tex_texlab_options + +Execute(Should accpet configuration settings): + AssertLSPConfig {} + let b:ale_tex_texlab_config = {'build':{'onSave':v:true}} + AssertLSPConfig {'build':{'onSave':v:true}}