feat(biome): add support for json and jsonc (#4805)

- adds biome linter for json and jsonc
- enables biome by default for json and jsonc
- suggests biome as a fixer for json and jsonc
This commit is contained in:
Braden Kelley 2024-07-08 17:41:17 -07:00 committed by GitHub
parent 3220b94d20
commit 5c635d5038
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
10 changed files with 43 additions and 5 deletions

View File

@ -0,0 +1,10 @@
" Description: biome for json files
call ale#linter#Define('json', {
\ 'name': 'biome',
\ 'lsp': 'stdio',
\ 'language': function('ale#handlers#biome#GetLanguage'),
\ 'executable': function('ale#handlers#biome#GetExecutable'),
\ 'command': '%e lsp-proxy',
\ 'project_root': function('ale#handlers#biome#GetProjectRoot'),
\})

View File

@ -0,0 +1,10 @@
" Description: biome for jsonc files
call ale#linter#Define('jsonc', {
\ 'name': 'biome',
\ 'lsp': 'stdio',
\ 'language': function('ale#handlers#biome#GetLanguage'),
\ 'executable': function('ale#handlers#biome#GetExecutable'),
\ 'command': '%e lsp-proxy',
\ 'project_root': function('ale#handlers#biome#GetProjectRoot'),
\})

View File

@ -39,7 +39,7 @@ let s:default_registry = {
\ },
\ 'biome': {
\ 'function': 'ale#fixers#biome#Fix',
\ 'suggested_filetypes': ['javascript', 'typescript'],
\ 'suggested_filetypes': ['javascript', 'typescript', 'json', 'jsonc'],
\ 'description': 'Fix JavaScript and TypeScript using biome.',
\ },
\ 'black': {

View File

@ -47,9 +47,9 @@ let s:default_ale_linters = {
\ 'hack': ['hack'],
\ 'help': [],
\ 'inko': ['inko'],
\ 'json': ['jsonlint', 'spectral', 'vscodejson'],
\ 'json': ['biome', 'jsonlint', 'spectral', 'vscodejson'],
\ 'json5': [],
\ 'jsonc': [],
\ 'jsonc': ['biome'],
\ 'perl': ['perlcritic'],
\ 'perl6': [],
\ 'python': ['flake8', 'mypy', 'pylint', 'pyright', 'ruff'],

View File

@ -2,6 +2,12 @@
ALE JSON Integration *ale-json-options*
===============================================================================
biome *ale-json-biome*
Check the docs over at |ale-typescript-biome|.
===============================================================================
clang-format *ale-json-clangformat*

View File

@ -2,6 +2,12 @@
ALE JSONC Integration *ale-jsonc-options*
===============================================================================
biome *ale-jsonc-biome*
Check the docs over at |ale-typescript-biome|.
===============================================================================
eslint *ale-jsonc-eslint*

View File

@ -314,6 +314,7 @@ Notes:
* `xo`
* JSON
* `VSCode JSON language server`
* `biome`
* `clang-format`
* `cspell`
* `dprint`
@ -326,6 +327,7 @@ Notes:
* JSON5
* `eslint`
* JSONC
* `biome`
* `eslint`
* Jsonnet
* `jsonnet-lint`

View File

@ -3137,6 +3137,7 @@ documented in additional help files.
standard..............................|ale-javascript-standard|
xo....................................|ale-javascript-xo|
json....................................|ale-json-options|
biome.................................|ale-json-biome|
clang-format..........................|ale-json-clangformat|
cspell................................|ale-json-cspell|
dprint................................|ale-json-dprint|
@ -3148,6 +3149,7 @@ documented in additional help files.
spectral..............................|ale-json-spectral|
vscodejson............................|ale-json-vscode|
jsonc...................................|ale-jsonc-options|
biome.................................|ale-jsonc-biome|
eslint................................|ale-jsonc-eslint|
jsonnet.................................|ale-jsonnet-options|
jsonnetfmt............................|ale-jsonnet-jsonnetfmt|

View File

@ -323,6 +323,7 @@ formatting.
* [xo](https://github.com/sindresorhus/xo)
* JSON
* [VSCode JSON language server](https://github.com/hrsh7th/vscode-langservers-extracted)
* [biome](https://biomejs.dev/)
* [clang-format](https://clang.llvm.org/docs/ClangFormat.html)
* [cspell](https://github.com/streetsidesoftware/cspell/tree/main/packages/cspell) :warning:
* [dprint](https://dprint.dev)
@ -335,6 +336,7 @@ formatting.
* JSON5
* [eslint](http://eslint.org/) :warning:
* JSONC
* [biome](https://biomejs.dev/)
* [eslint](http://eslint.org/) :warning:
* Jsonnet
* [jsonnet-lint](https://jsonnet.org/learning/tools.html)

View File

@ -60,7 +60,7 @@ Execute(The defaults for the inko filetype should be correct):
AssertEqual [], GetLinterNames('inko')
Execute(The defaults for the json filetype should be correct):
AssertEqual ['jsonlint', 'spectral', 'vscodejson'], GetLinterNames('json')
AssertEqual ['biome', 'jsonlint', 'spectral', 'vscodejson'], GetLinterNames('json')
let g:ale_linters_explicit = 1
@ -70,7 +70,7 @@ Execute(The defaults for the json5 filetype should be correct):
AssertEqual [], GetLinterNames('json5')
Execute(The defaults for the jsonc filetype should be correct):
AssertEqual [], GetLinterNames('jsonc')
AssertEqual ['biome'], GetLinterNames('jsonc')
Execute(The defaults for the perl filetype should be correct):
AssertEqual ['perlcritic'], GetLinterNames('perl')