From c540b9ada3eb63f7954d19b65835ad8c188d4690 Mon Sep 17 00:00:00 2001 From: Sedana Yoga <9g.yoga27@gmail.com> Date: Sat, 12 Jul 2025 18:41:16 +0800 Subject: [PATCH 1/3] fix(lang): support indirect tailwindcss for lsp detection --- lua/lazyvim/plugins/extras/lang/tailwind.lua | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/lua/lazyvim/plugins/extras/lang/tailwind.lua b/lua/lazyvim/plugins/extras/lang/tailwind.lua index cbdd612e..b1ac903e 100644 --- a/lua/lazyvim/plugins/extras/lang/tailwind.lua +++ b/lua/lazyvim/plugins/extras/lang/tailwind.lua @@ -24,6 +24,14 @@ return { filetypes_include = {}, -- to fully override the default_config, change the below -- filetypes = {} + root_dir = function(fname) + local node_modules = vim.fs.dirname(vim.fs.find("node_modules", { path = fname, upward = true })[1]) + if not node_modules then + return nil + else + return node_modules + end + end, }, }, setup = { From 1563e3ab14a78d19f6b97b31e7dfc0796aef27b4 Mon Sep 17 00:00:00 2001 From: Sedana Yoga <9g.yoga27@gmail.com> Date: Wed, 16 Jul 2025 19:01:40 +0800 Subject: [PATCH 2/3] fix: add more accurate way to detect tailwindcss inside node_modules --- lua/lazyvim/plugins/extras/lang/tailwind.lua | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/lua/lazyvim/plugins/extras/lang/tailwind.lua b/lua/lazyvim/plugins/extras/lang/tailwind.lua index b1ac903e..76aab720 100644 --- a/lua/lazyvim/plugins/extras/lang/tailwind.lua +++ b/lua/lazyvim/plugins/extras/lang/tailwind.lua @@ -18,18 +18,21 @@ return { opts = { servers = { tailwindcss = { - -- exclude a filetype from the default_config - filetypes_exclude = { "markdown" }, - -- add additional filetypes to the default_config - filetypes_include = {}, - -- to fully override the default_config, change the below - -- filetypes = {} root_dir = function(fname) - local node_modules = vim.fs.dirname(vim.fs.find("node_modules", { path = fname, upward = true })[1]) + local node_modules = vim.fs.find("node_modules", { path = fname, upward = true })[1] + local root = vim.fs.dirname(node_modules) if not node_modules then return nil else - return node_modules + local tailwind_path = node_modules .. "/tailwindcss" + print("TailwindCSS root path: " .. tailwind_path) + print(vim.inspect(vim.fn.isdirectory(tailwind_path))) + + if vim.fn.isdirectory(tailwind_path) ~= 0 then + return root + else + return nil + end end end, }, From 277780eaa7d021080b4e01b698e43a7128fb834e Mon Sep 17 00:00:00 2001 From: Sedana Yoga <9g.yoga27@gmail.com> Date: Wed, 16 Jul 2025 19:05:28 +0800 Subject: [PATCH 3/3] fix: revert other fields that accidently removed --- lua/lazyvim/plugins/extras/lang/tailwind.lua | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/lua/lazyvim/plugins/extras/lang/tailwind.lua b/lua/lazyvim/plugins/extras/lang/tailwind.lua index 76aab720..4494d8f5 100644 --- a/lua/lazyvim/plugins/extras/lang/tailwind.lua +++ b/lua/lazyvim/plugins/extras/lang/tailwind.lua @@ -18,6 +18,12 @@ return { opts = { servers = { tailwindcss = { + -- exclude a filetype from the default_config + filetypes_exclude = { "markdown" }, + -- add additional filetypes to the default_config + filetypes_include = {}, + -- to fully override the default_config, change the below + -- filetypes = {} root_dir = function(fname) local node_modules = vim.fs.find("node_modules", { path = fname, upward = true })[1] local root = vim.fs.dirname(node_modules) @@ -25,8 +31,6 @@ return { return nil else local tailwind_path = node_modules .. "/tailwindcss" - print("TailwindCSS root path: " .. tailwind_path) - print(vim.inspect(vim.fn.isdirectory(tailwind_path))) if vim.fn.isdirectory(tailwind_path) ~= 0 then return root