Files
dotfiles/docs/superpowers/specs/2026-06-27-neovim-tailwind-language-server-design.md
T

1.4 KiB

Neovim Tailwind Language Server Design

Goal

Add Tailwind CSS language-server support for the Laravel, Vue, and Inertia workflow without custom class extraction.

Design

  • Enable nvim-lspconfig's tailwindcss configuration with Neovim's current vim.lsp.enable() API.
  • Keep the server's default project-root detection, filetypes, and language mappings.
  • Let Mason install the tailwindcss-language-server package.
  • Extend the local Mason health check to report the Tailwind executable and include Tailwind in the Node runtime description.
  • Preserve the existing PHP, Vue, TypeScript, ESLint, HTML, CSS, JSON, and Emmet configuration.
  • Do not configure custom class helpers such as clsx or cn.

Files

  • Update nvim/lua/tracer/plugins/lspconfig.lua to enable tailwindcss.
  • Update nvim/lua/mason/health.lua to report tailwindcss-language-server.

Verification

  • Confirm the server is not enabled before the change.
  • Confirm Neovim loads the updated configuration without errors.
  • Confirm tailwindcss and the existing vue_ls and ts_ls configurations are enabled.
  • Confirm Mason installs the Tailwind language server and its executable is available.
  • Confirm the repository diff contains only the intended files.

Constraints

  • Preserve unrelated working-tree changes.
  • Do not use the tutorial's deprecated require("lspconfig").tailwindcss.setup({}) API.