aboutsummaryrefslogtreecommitdiffstats
path: root/lua/lspconfig/configs/stylua3p_ls.lua
diff options
context:
space:
mode:
authorOmar Elhawary <oedotme@gmail.com>2026-04-05 16:33:03 +0200
committerGitHub <noreply@github.com>2026-04-05 10:33:03 -0400
commit8caef47d1ddcdf0fef4c3ebb863e6591ed312b54 (patch)
treed60b95ede51080fd393dfbb2669a25887871af10 /lua/lspconfig/configs/stylua3p_ls.lua
parentdocs: update configs.md (diff)
downloadnvim-lspconfig-8caef47d1ddcdf0fef4c3ebb863e6591ed312b54.tar
nvim-lspconfig-8caef47d1ddcdf0fef4c3ebb863e6591ed312b54.tar.gz
nvim-lspconfig-8caef47d1ddcdf0fef4c3ebb863e6591ed312b54.tar.bz2
nvim-lspconfig-8caef47d1ddcdf0fef4c3ebb863e6591ed312b54.tar.lz
nvim-lspconfig-8caef47d1ddcdf0fef4c3ebb863e6591ed312b54.tar.xz
nvim-lspconfig-8caef47d1ddcdf0fef4c3ebb863e6591ed312b54.tar.zst
nvim-lspconfig-8caef47d1ddcdf0fef4c3ebb863e6591ed312b54.zip
fix(tailwindcss): revert broken config detection #4376
Problem: `find_tailwind_global_css` attempted to address #4204, where `experimental.configFile` was set using the return value of `vim.fs.find()`. The language server rejected this with `Invalid experimental.configFile configuration, not initializing` because `configFile` expects either a string or a key-value record (object), not an array/list. This was a syntax issue, not a detection issue. Using the correct syntax for `configFile` in Lua should be sufficient to address the original issue. Right now, `find_tailwind_global_css` always runs for users who haven't explicitly set `configFile` — overriding the LSP's native detection and **forcing anyone who wants to opt out to manually set all entry-points by hand.** Solution: - Remove `find_tailwind_global_css` entirely and restores `configFile` to its default `nil` so the `tailwindcss` LSP handles project detection natively. - Simplify `before_init` based on [this suggestion from the initial PR](https://github.com/neovim/nvim-lspconfig/pull/4222#discussion_r3018499628). The following syntax worked for me while testing to explicitly set the `configFile` based on the [official docs](https://github.com/tailwindlabs/tailwindcss-intellisense#tailwindcssexperimentalconfigfile) for single entry-point: > [!NOTE] > Single entry-point is resolved relative to the workspace root (`root_dir` — verify with `:checkhealth vim.lsp`) ```lua vim.lsp.config('tailwindcss', { settings = { tailwindCSS = { experimental = { -- v3: config file configFile = 'tailwind.config.js', -- v4: CSS entry-point -- configFile = 'src/styles/app.css', }, }, }, }) ``` For projects with multiple entry-points, or different projects, the following syntax can be used for multiple entry-points: > [!NOTE] > Keys are relative to `root_dir` as above, but from my testing on macOS, absolute paths worked better ```lua vim.lsp.config('tailwindcss', { settings = { tailwindCSS = { experimental = { configFile = { ['tailwind.config.js'] = '/Users/username/path/to/project-a/**', ['src/main.css'] = '/Users/username/path/to/project-b/**', }, }, }, }, }) ``` #### Project or Local Configuration For project-specific settings without modifying your global Neovim config: 1. Enable in your Neovim config: ```lua vim.o.exrc = true ``` 2. Create `.nvim.lua` in the project root: ```lua vim.lsp.config('tailwindcss', { settings = { tailwindCSS = { experimental = { configFile = 'tailwind.config.ts', }, }, }, }) ``` 3. Open `.nvim.lua` and run `:trust` to allow the file, then restart Neovim. 4. Verify with `:checkhealth vim.lsp`.
Diffstat (limited to 'lua/lspconfig/configs/stylua3p_ls.lua')
0 files changed, 0 insertions, 0 deletions