CNLS
Class Name Language Server.
Features:
- Hover
- Go To Definition
- Completions
Demo
https://github.com/Gnarus-G/cnls/assets/37311893/84af54c0-1695-492c-8081-4bd5d437c901
Install
Usage (nvim)
local nvim_lsp = require;
local configs = require
-- cnls setup
if not configs.
nvim_lsp..
About Scopes
You may have tailwind classes in other places besides className="...", or even cva(...).
For examples, the classes prop in mui components.
You can define places for cnls to look for classes with the cnls.scopes settings.
The syntax for a scope is :<...values>
Variants are:
fnto target a function call (e.g 'fn:cva')attto target a jsx attribute (e.g. 'att:className')propto target a jsx attribute (e.g. 'prop:className')
Values are strings, and you can use a wildcard * at the begining or the end.
For example 'att:className att:*ClassName' will find classes all of these attributes
By default cnls uses 'att:className,class fn:createElement'.