Skip to content

Commit

Permalink
fix(biome): send correct language to lsp proxy
Browse files Browse the repository at this point in the history
Since Biome understands `typescriptreact` and `javascriptreact` as
languages, we can send the `filetype` to the LSP, rather than only
sending `typescript` for both `ts` and `tsx` files, or `javascript` for
`js` and `jsx` files.

fixes: dense-analysis#4752
  • Loading branch information
redbmk committed May 13, 2024
1 parent c88bddf commit f546106
Show file tree
Hide file tree
Showing 6 changed files with 45 additions and 14 deletions.
1 change: 1 addition & 0 deletions ale_linters/javascript/biome.vim
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
call ale#linter#Define('javascript', {
\ 'name': 'biome',
\ 'lsp': 'stdio',
\ 'language': function('ale#handlers#biome#GetLanguage'),
\ 'executable': function('ale#handlers#biome#GetExecutable'),
\ 'command': function('ale#handlers#biome#GetCommand'),
\ 'project_root': function('ale#handlers#biome#GetProjectRoot'),
Expand Down
1 change: 1 addition & 0 deletions ale_linters/typescript/biome.vim
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
call ale#linter#Define('typescript', {
\ 'name': 'biome',
\ 'lsp': 'stdio',
\ 'language': function('ale#handlers#biome#GetLanguage'),
\ 'executable': function('ale#handlers#biome#GetExecutable'),
\ 'command': function('ale#handlers#biome#GetCommand'),
\ 'project_root': function('ale#handlers#biome#GetProjectRoot'),
Expand Down
4 changes: 4 additions & 0 deletions autoload/ale/handlers/biome.vim
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,10 @@ function! ale#handlers#biome#GetCommand(buffer) abort
\ . (!empty(l:options) ? ' ' . l:options : '')
endfunction

function! ale#handlers#biome#GetLanguage(buffer) abort
return getbufvar(a:buffer, '&filetype')
endfunction

function! ale#handlers#biome#GetProjectRoot(buffer) abort
let l:biome_file = ale#path#FindNearestFile(a:buffer, 'biome.json')

Expand Down
4 changes: 4 additions & 0 deletions test/fixers/test_biome_fixer_callback.vader
Original file line number Diff line number Diff line change
@@ -1,4 +1,8 @@
Before:
Save g:ale_biome_options

let g:ale_biome_options = ''

call ale#assert#SetUpFixerTest('typescript', 'biome')

After:
Expand Down
35 changes: 35 additions & 0 deletions test/linter/test_biome.vader
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
Before:
Save g:ale_biome_options

let g:ale_biome_options = ''

call ale#assert#SetUpLinterTest('typescript', 'biome')
call ale#test#SetFilename('test.ts')

After:
call ale#assert#TearDownLinterTest()

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
AssertLSPLanguage 'typescript'

call ale#test#SetFilename('test.tsx')
set filetype=typescriptreact
AssertLSPLanguage 'typescriptreact'

call ale#test#SetFilename('test.js')
set filetype=javascript
AssertLSPLanguage 'javascript'

call ale#test#SetFilename('test.jsx')
set filetype=javascriptreact
AssertLSPLanguage 'javascriptreact'
14 changes: 0 additions & 14 deletions test/linter/test_typescript_biome.vader

This file was deleted.

0 comments on commit f546106

Please sign in to comment.