From 36e6a86c9ea698464f44672e32f4bb93f7d565f4 Mon Sep 17 00:00:00 2001 From: Maksim Terpilovskii Date: Wed, 23 Apr 2025 13:48:41 +0200 Subject: fix(tailwindcss): improve root dir detection for tailwind v4 #3765 --- lsp/tailwindcss.lua | 26 ++++++++++++++++---------- 1 file changed, 16 insertions(+), 10 deletions(-) (limited to 'lsp/tailwindcss.lua') diff --git a/lsp/tailwindcss.lua b/lsp/tailwindcss.lua index 69415d50..1c5b3555 100644 --- a/lsp/tailwindcss.lua +++ b/lsp/tailwindcss.lua @@ -4,6 +4,7 @@ --- Tailwind CSS Language Server can be installed via npm: --- --- npm install -g @tailwindcss/language-server +local util = require 'lspconfig.util' return { cmd = { 'tailwindcss-language-server', '--stdio' }, @@ -103,14 +104,19 @@ return { end end, workspace_required = true, - root_markers = { - 'tailwind.config.js', - 'tailwind.config.cjs', - 'tailwind.config.mjs', - 'tailwind.config.ts', - 'postcss.config.js', - 'postcss.config.cjs', - 'postcss.config.mjs', - 'postcss.config.ts', - }, + root_dir = function(bufnr, on_dir) + local root_files = { + 'tailwind.config.js', + 'tailwind.config.cjs', + 'tailwind.config.mjs', + 'tailwind.config.ts', + 'postcss.config.js', + 'postcss.config.cjs', + 'postcss.config.mjs', + 'postcss.config.ts', + } + local fname = vim.api.nvim_buf_get_name(bufnr) + root_files = util.insert_package_json(root_files, 'tailwindcss', fname) + on_dir(vim.fs.dirname(vim.fs.find(root_files, { path = fname, upward = true })[1])) + end, } -- cgit v1.2.3-70-g09d2