From d0dd5614dbfedbb270690561b6f72b0a5d5246fb Mon Sep 17 00:00:00 2001 From: Konfekt Date: Sat, 15 Nov 2025 10:38:35 +0000 Subject: [PATCH] runtime(compiler): add biome linter closes: #18685 Signed-off-by: Konfekt Signed-off-by: Christian Brabandt --- .github/MAINTAINERS | 1 + runtime/compiler/biome.vim | 23 +++++++++++++++++++++++ runtime/doc/quickfix.txt | 11 +++++++++++ runtime/doc/tags | 2 ++ 4 files changed, 37 insertions(+) create mode 100644 runtime/compiler/biome.vim diff --git a/.github/MAINTAINERS b/.github/MAINTAINERS index fd371d6aff..5eb9a35607 100644 --- a/.github/MAINTAINERS +++ b/.github/MAINTAINERS @@ -45,6 +45,7 @@ runtime/colors/torte.vim @habamax @romainl @neutaaaaan runtime/colors/wildcharm.vim @habamax @romainl @neutaaaaan runtime/colors/zaibatsu.vim @habamax @romainl @neutaaaaan runtime/colors/zellner.vim @habamax @romainl @neutaaaaan +runtime/compiler/biome.vim @Konfekt runtime/compiler/checkstyle.vim @dkearns runtime/compiler/cm3.vim @dkearns runtime/compiler/cucumber.vim @tpope diff --git a/runtime/compiler/biome.vim b/runtime/compiler/biome.vim new file mode 100644 index 0000000000..57a80d4b1b --- /dev/null +++ b/runtime/compiler/biome.vim @@ -0,0 +1,23 @@ +" Vim compiler file +" Compiler: Biome (= linter for JavaScript, TypeScript, JSX, TSX, JSON, +" JSONC, HTML, Vue, Svelte, Astro, CSS, GraphQL and GritQL files) +" Maintainer: @Konfekt +" Last Change: 2025 Nov 12 +if exists("current_compiler") | finish | endif +let current_compiler = "biome" + +let s:cpo_save = &cpo +set cpo&vim + +exe 'CompilerSet makeprg=' .. escape('biome check --linter-enabled=true --formatter-enabled=false --assist-enabled=false --reporter=github ' + \ .. get(b:, 'biome_makeprg_params', get(g:, 'biome_makeprg_params', '')), ' \|"') + +CompilerSet errorformat=::%trror%.%#file=%f\\,line=%l\\,%.%#col=%c\\,%.%#::%m +CompilerSet errorformat+=::%tarning%.%#file=%f\\,line=%l\\,%.%#col=%c\\,%.%#::%m +CompilerSet errorformat+=::%totice%.%#file=%f\\,line=%l\\,%.%#col=%c\\,%.%#::%m +CompilerSet errorformat+=%-G\\s%# +CompilerSet errorformat+=%-Gcheck\ %.%# +CompilerSet errorformat+=%-G%.%#Some\ errors\ were\ emitted\ while\ running\ checks%. + +let &cpo = s:cpo_save +unlet s:cpo_save diff --git a/runtime/doc/quickfix.txt b/runtime/doc/quickfix.txt index 0044ab85d5..669e4f29d1 100644 --- a/runtime/doc/quickfix.txt +++ b/runtime/doc/quickfix.txt @@ -1281,6 +1281,17 @@ For writing a compiler plugin, see |write-compiler-plugin|. Use the |compiler-make| plugin to undo the effect of a compiler plugin. +BIOME *compiler-biome* *quickfix-biome* + +Biome check lints JavaScript, TypeScript, JSX, TSX, JSON, JSONC, HTML, Vue, +Svelte, Astro, CSS, GraphQL and GritQL files. + +Commonly used compiler options can be added to 'makeprg' by setting the +b/g:biome_makeprg_params variable. For example (global default is ""): > + + let b:biome_makeprg_params = "--diagnostic-level=error --staged" + + CPPCHECK *quickfix-cppcheck* *compiler-cppcheck* Use g/b:`c_cppcheck_params` to set cppcheck parameters. The global diff --git a/runtime/doc/tags b/runtime/doc/tags index 6feb92b2ae..4aad80ca1a 100644 --- a/runtime/doc/tags +++ b/runtime/doc/tags @@ -6739,6 +6739,7 @@ compile-changes-7 version7.txt /*compile-changes-7* compile-changes-8 version8.txt /*compile-changes-8* compile-changes-9 version9.txt /*compile-changes-9* compile-changes-9.2 version9.txt /*compile-changes-9.2* +compiler-biome quickfix.txt /*compiler-biome* compiler-compaqada ft_ada.txt /*compiler-compaqada* compiler-cppcheck quickfix.txt /*compiler-cppcheck* compiler-decada ft_ada.txt /*compiler-decada* @@ -9932,6 +9933,7 @@ quickfix quickfix.txt /*quickfix* quickfix-6 version6.txt /*quickfix-6* quickfix-ID quickfix.txt /*quickfix-ID* quickfix-buffer quickfix.txt /*quickfix-buffer* +quickfix-biome quickfix.txt /*quickfix-biome* quickfix-changedtick quickfix.txt /*quickfix-changedtick* quickfix-context quickfix.txt /*quickfix-context* quickfix-cppcheck quickfix.txt /*quickfix-cppcheck*