何もしないと[[Biome]]や[[prettierd]]によるフォーマットが優先されてしまうため、[[テーブル (Lua)|テーブル]]ではなく`function`を定義して、[[カレントディレクトリ (Neovim)|カレントディレクトリ]]が[[Deno]]プロジェクトルートの場合だけ[[LSP]]を優先する(fallback)ようにする。 ```lua opts = function() local function is_deno_project() local cwd = vim.fn.getcwd() return vim.fn.filereadable(cwd .. "/deno.json") == 1 or vim.fn.filereadable(cwd .. "/deno.jsonc") == 1 end local web_formatter = function() if is_deno_project() then -- Denoプロジェクトの場合はLSP(denols)のフォーマットを使う (fallback) return {} end return { "biome-check", "prettierd", stop_after_first = true } end return { formatters_by_ft = { typescript = web_formatter, }, format_on_save = { timeout_ms = 1500, -- conformで定義したformatterが存在しないならLSPのフォーマッターを使う lsp_format = "fallback", }, } end, ```