Repository navigation
Comparing changes
Open a pull request
base repository: luckasRanarison/tailwind-tools.nvim
base: master
head repository: Eingin/tailwind-tools.nvim
compare: master
- 6 commits
- 56 files changed
- 1 contributor
Commits on Mar 5, 2026
-
refactor: require Neovim 0.11, drop nvim-lspconfig dependency
Use the native vim.lsp.config/vim.lsp.enable API for server setup instead of going through nvim-lspconfig. This is the recommended approach since 0.11 and removes a runtime dependency. Along the way, clean up several things that the 0.11 floor makes possible or that were broken: - Remove compat shim for vim.lsp.get_active_clients (deprecated) - Remove version guard around parser:parse(true) and the redundant { all = true } arg to iter_captures (both defaults since 0.10+) - Replace vim.loop with vim.uv in tests - Move namespace/augroup IDs from vim.g into the Lua state module to avoid msgpack serialization on every access - Fix highlight cache check in utils.set_hl_from (nvim_get_hl returns a dict, not an array, so the guard was a no-op) - Rewrite color debounce with a single persistent vim.uv timer instead of creating and leaking timers via vim.defer_fn - Register conceal autocmds once at setup and gate on state flag instead of re-registering on every enable() call - Add vim.validate checks on user config in setup() - Use ipairs for array iteration throughout - Remove nvim-lspconfig from health check - Fix tresitter -> treesitter typo in classes.luaConfiguration menu - View commit details
-
Copy full SHA for 6b542bf - Browse repository at this point
Copy the full SHA 6b542bfView commit details -
feat: handle LSP server notifications for project lifecycle and warnings
Listen for custom notifications from tailwindcss-language-server: - @/tailwindCSS/projectInitialized: fire color requests when project is ready - @/tailwindCSS/projectReset / projectsDestroyed: clear state on reload - @/tailwindCSS/clearColors: clear stale extmarks on settings change - @/tailwindCSS/warn: surface config errors via vim.notify Guard on_attach color request behind project.initialized to fix race condition where colors were requested before the server was ready. Reset project state on LspDetach for clean crash/restart handling.
Configuration menu - View commit details
-
Copy full SHA for 4f1921c - Browse repository at this point
Copy the full SHA 4f1921cView commit details -
fix: test version assertion and development commands
Replace exact version match in LSP tests with major version prefix check. The test verifies the correct project type (v3 vs v4) was detected, not an exact patch version. Fix CLAUDE.md test commands: add init='tests/init.lua' to plenary opts so child processes load plugins (parsers become discoverable). Add prerequisite install steps for npm deps and treesitter parsers.
Configuration menu - View commit details
-
Copy full SHA for df13ef1 - Browse repository at this point
Copy the full SHA df13ef1View commit details -
docs: add fork changes section to README
Document Neovim 0.11 modernization, LSP notification handlers, and bug fixes specific to this fork.
Configuration menu - View commit details
-
Copy full SHA for 930bbd6 - Browse repository at this point
Copy the full SHA 930bbd6View commit details
Commits on Aug 15, 2026
-
feat: support multiple Tailwind projects per session
Upstream keeps one global project state. In a monorepo with more than one Tailwind config, this state is wrong. The first client of the session replies for every buffer, and the notifications of one project clear the state of another project. A project identity is now the client id together with the config path that the server reports. The plugin asks for `@/tailwindCSS/projectDetails`. It records each project under its own config path. It then resolves a buffer to a client, and the client to a project. Each server notification applies only to the client that sent it, and to the buffers of that client. A request goes to the client attached to the buffer. If more than one client is attached, the plugin selects the deepest root. The plugin never falls back to an arbitrary client, because a client with a root outside the file describes a different project. The plugin also groups the root markers into tiers. The closest Tailwind config now has precedence over `package.json`. Other changes: - Require Neovim 0.12 and drop the `nvim-lspconfig` dependency. Server setup uses `vim.lsp.config`, and color hints use the native `vim.lsp.document_color`. Conceal mode keeps its own renderer, because the native renderer draws the whole buffer. - Cancel each in-flight `textDocument/documentColor` request before the plugin sends a new one. A generation token stops a superseded callback, so that callback draws nothing. - Clear the color extmarks of every tracked buffer, and not only of the buffers that received conceals. - Resolve the modules of the remote plugin with the resolver of Node. Hoisted layouts, nested layouts and pnpm layouts now behave like the tools of the project. Each RPC function replies with one result shape that names the failure. - Pin the Telescope picker to the project of the buffer that opened it. At preview time, the current buffer belongs to Telescope. - Resolve the positions of a pattern match with one shared offset table and a binary search. The plugin no longer builds a table for each match. A range that ends on the last line of the buffer now reports the correct start line. - Apply the count of `<c-a>`, `<c-x>` and the class motions as one step. - Add tests for monorepos, the color lifecycle, offsets, counts and filetypes.
Configuration menu - View commit details
-
Copy full SHA for 70edf6d - Browse repository at this point
Copy the full SHA 70edf6dView commit details -
docs: generate the help file for Neovim 0.12
The help file was 15 months old. It still told the reader to configure the server with `nvim-lspconfig`, which this plugin no longer uses. GitHub Actions does not run on this fork, so the `Docs` workflow cannot generate the file. This commit holds the output of panvimdoc for the current README. The workflow now declares `NVIM v0.12.0`, which is the version that the plugin requires.
Configuration menu - View commit details
-
Copy full SHA for 8ffceb0 - Browse repository at this point
Copy the full SHA 8ffceb0View commit details
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff master...master