From d9fe9f8da33d23c2647ecc4edf73617bf19f50f0 Mon Sep 17 00:00:00 2001 From: Mora Unie Youer Date: Wed, 7 May 2025 17:40:10 +0300 Subject: feat: add `biome` as LSP client and formatter --- flake.nix | 1 + lsp/biome.lua | 14 ++++++++++++++ lua/config/lsp.lua | 1 + lua/config/plugins/formatting.lua | 9 +++++++++ 4 files changed, 25 insertions(+) create mode 100644 lsp/biome.lua diff --git a/flake.nix b/flake.nix index a57f257..65a317a 100644 --- a/flake.nix +++ b/flake.nix @@ -152,6 +152,7 @@ ]; typescript = [ + biome typescript-language-server ]; }; diff --git a/lsp/biome.lua b/lsp/biome.lua new file mode 100644 index 0000000..b55de9d --- /dev/null +++ b/lsp/biome.lua @@ -0,0 +1,14 @@ +return { + cmd = { "biome", "lsp-proxy" }, + root_markers = { "package.json", "biome.json", "biome.jsonc" }, + filetypes = { + "json", + "jsonc", + "javascript", + "javascriptreact", + "javascript.jsx", + "typescript", + "typescriptreact", + "typescript.tsx", + }, +} diff --git a/lua/config/lsp.lua b/lua/config/lsp.lua index 3bb36e2..4cbf797 100644 --- a/lua/config/lsp.lua +++ b/lua/config/lsp.lua @@ -12,5 +12,6 @@ vim.lsp.enable({ "rust-analyzer", + "biome", "typescript-language-server", }) diff --git a/lua/config/plugins/formatting.lua b/lua/config/plugins/formatting.lua index 9563905..6efe5d2 100644 --- a/lua/config/plugins/formatting.lua +++ b/lua/config/plugins/formatting.lua @@ -10,6 +10,15 @@ return { lua = { "stylua" }, nix = { "nixfmt" }, rust = { "rustfmt", lsp_format = "fallback" }, + + json = { "biome" }, + jsonc = { "biome" }, + javascript = { "biome" }, + javascriptreact = { "biome" }, + ["javascript.jsx"] = { "biome" }, + typescript = { "biome" }, + typescriptreact = { "biome" }, + ["typescript.jsx"] = { "biome" }, }, }) -- cgit v1.2.3-70-g09d2