diff options
author | Braden Kelley <redbmk@gmail.com> | 2024-06-26 22:30:06 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-06-27 14:30:06 +0900 |
commit | a0ad5f938ac0b7a1b74c45fa56529f3e3f3342e6 (patch) | |
tree | bba5ad5d69e9621901b6c801e3a611e0ce6bfda5 | |
parent | ed0b036220705e259ab574861016d1c53fdf6de8 (diff) | |
download | ale-a0ad5f938ac0b7a1b74c45fa56529f3e3f3342e6.zip |
fix!(biome): allow passing options to `biome check` (#4799)
The only option available to biome's `lsp-proxy` command used for
linting is `--config-path`. However, we are using ALE to find and set
the project root, and have a way to manually override, so that is no
longer necessary.
The LSP proxy also used the `g:ale_biome_options` config, which is
shared with the fixer's `check` command, but `lsp-proxy` will throw an
error if unknown options are included, making it so that option is only
useful to set the project root.
BREAKING CHANGE: We are no longer passing options to the biome LSP
proxy, but we can still set the project root with
`g:ale_biome_lsp_project_root`.
-rw-r--r-- | ale_linters/javascript/biome.vim | 2 | ||||
-rw-r--r-- | ale_linters/typescript/biome.vim | 2 | ||||
-rw-r--r-- | autoload/ale/handlers/biome.vim | 7 | ||||
-rw-r--r-- | doc/ale-typescript.txt | 3 | ||||
-rw-r--r-- | test/fixers/test_biome_fixer_callback.vader | 15 | ||||
-rw-r--r-- | test/linter/test_biome.vader | 5 |
6 files changed, 17 insertions, 17 deletions
diff --git a/ale_linters/javascript/biome.vim b/ale_linters/javascript/biome.vim index 61f7c8f4..17714de1 100644 --- a/ale_linters/javascript/biome.vim +++ b/ale_linters/javascript/biome.vim @@ -6,6 +6,6 @@ call ale#linter#Define('javascript', { \ 'lsp': 'stdio', \ 'language': function('ale#handlers#biome#GetLanguage'), \ 'executable': function('ale#handlers#biome#GetExecutable'), -\ 'command': function('ale#handlers#biome#GetCommand'), +\ 'command': '%e lsp-proxy', \ 'project_root': function('ale#handlers#biome#GetProjectRoot'), \}) diff --git a/ale_linters/typescript/biome.vim b/ale_linters/typescript/biome.vim index 30115744..1730da51 100644 --- a/ale_linters/typescript/biome.vim +++ b/ale_linters/typescript/biome.vim @@ -6,6 +6,6 @@ call ale#linter#Define('typescript', { \ 'lsp': 'stdio', \ 'language': function('ale#handlers#biome#GetLanguage'), \ 'executable': function('ale#handlers#biome#GetExecutable'), -\ 'command': function('ale#handlers#biome#GetCommand'), +\ 'command': '%e lsp-proxy', \ 'project_root': function('ale#handlers#biome#GetProjectRoot'), \}) diff --git a/autoload/ale/handlers/biome.vim b/autoload/ale/handlers/biome.vim index 47384e56..b22c1c46 100644 --- a/autoload/ale/handlers/biome.vim +++ b/autoload/ale/handlers/biome.vim @@ -19,13 +19,6 @@ function! ale#handlers#biome#GetExecutable(buffer) abort \]) endfunction -function! ale#handlers#biome#GetCommand(buffer) abort - let l:options = ale#Var(a:buffer, 'biome_options') - - return '%e lsp-proxy' - \ . (!empty(l:options) ? ' ' . l:options : '') -endfunction - function! ale#handlers#biome#GetLanguage(buffer) abort return getbufvar(a:buffer, '&filetype') endfunction diff --git a/doc/ale-typescript.txt b/doc/ale-typescript.txt index f22b6586..22fbe7b4 100644 --- a/doc/ale-typescript.txt +++ b/doc/ale-typescript.txt @@ -16,7 +16,8 @@ g:ale_biome_options *g:ale_biome_options* Type: |String| Default: `''` - This variable can be set to pass additional options to biome. + This variable can be set to pass additional options to `biome check` when + applying fixes. g:ale_biome_use_global *g:ale_biome_use_global* diff --git a/test/fixers/test_biome_fixer_callback.vader b/test/fixers/test_biome_fixer_callback.vader index 2922b3e6..3d2083e4 100644 --- a/test/fixers/test_biome_fixer_callback.vader +++ b/test/fixers/test_biome_fixer_callback.vader @@ -11,7 +11,7 @@ After: call ale#assert#TearDownFixerTest() Execute(The default biome command should be correct): - call ale#test#SetFilename('../test-files/typescript/test.ts') + call ale#test#SetFilename('../test-files/biome/jsonc/src/test.ts') AssertFixer \ { @@ -21,7 +21,7 @@ Execute(The default biome command should be correct): \ } Execute(Unsafe fixes can be applied via an option): - call ale#test#SetFilename('../test-files/typescript/test.ts') + call ale#test#SetFilename('../test-files/biome/jsonc/src/test.ts') let g:ale_biome_fixer_apply_unsafe = 1 AssertFixer @@ -30,3 +30,14 @@ Execute(Unsafe fixes can be applied via an option): \ 'command': ale#Escape('biome') \ . ' check --apply-unsafe %t' \ } + +Execute(The fixer should accept options): + call ale#test#SetFilename('../test-files/biome/jsonc/src/test.ts') + let g:ale_biome_options = '--foobar' + + AssertFixer + \ { + \ 'read_temporary_file': 1, + \ 'command': ale#Escape('biome') + \ . ' check --apply --foobar %t', + \ } diff --git a/test/linter/test_biome.vader b/test/linter/test_biome.vader index 2e5e7aac..48736ec2 100644 --- a/test/linter/test_biome.vader +++ b/test/linter/test_biome.vader @@ -14,11 +14,6 @@ After: Execute(The default biome command should be correct): AssertLinter 'biome', ale#Escape('biome') . ' lsp-proxy' -Execute(The biome command should accept options): - let g:ale_biome_options = '--foobar' - - AssertLinter 'biome', ale#Escape('biome') . ' lsp-proxy --foobar' - Execute(Uses the filetype as the language): call ale#test#SetFilename('test.ts') set filetype=typescript |