@enjoys/context-engine 1.2.0 → 1.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/data/codeActions/css.json +111 -0
- package/data/codeActions/tailwindcss.json +76 -0
- package/data/codeLens/css.json +68 -0
- package/data/codeLens/tailwindcss.json +47 -0
- package/data/color/css.json +124 -0
- package/data/color/tailwindcss.json +53 -0
- package/data/commands/css.json +41 -0
- package/data/commands/manifest.json +729 -727
- package/data/commands/tailwindcss.json +53 -0
- package/data/completion/css.json +383 -0
- package/data/completion/javascript.json +27 -0
- package/data/completion/redis-cli.json +1 -1
- package/data/completion/tailwindcss.json +284 -0
- package/data/completion/typescript.json +27 -0
- package/data/declaration/css.json +59 -0
- package/data/declaration/tailwindcss.json +65 -0
- package/data/definition/css.json +115 -0
- package/data/definition/redis-cli.json +1 -1
- package/data/definition/tailwindcss.json +115 -0
- package/data/documentHighlight/css.json +50 -0
- package/data/documentHighlight/tailwindcss.json +65 -0
- package/data/documentRangeFormatting/css.json +101 -0
- package/data/documentRangeFormatting/tailwindcss.json +55 -0
- package/data/documentSymbol/css.json +96 -0
- package/data/documentSymbol/tailwindcss.json +61 -0
- package/data/foldingRange/css.json +66 -0
- package/data/foldingRange/tailwindcss.json +60 -0
- package/data/formatting/css.json +73 -0
- package/data/formatting/tailwindcss.json +48 -0
- package/data/hover/css.json +68 -0
- package/data/hover/redis-cli.json +1 -1
- package/data/hover/tailwindcss.json +968 -0
- package/data/implementation/css.json +65 -0
- package/data/implementation/tailwindcss.json +59 -0
- package/data/inlayHints/css.json +87 -0
- package/data/inlayHints/tailwindcss.json +111 -0
- package/data/inlineCompletions/css.json +125 -0
- package/data/inlineCompletions/javascript.json +12 -0
- package/data/inlineCompletions/tailwindcss.json +411 -0
- package/data/inlineCompletions/typescript.json +12 -0
- package/data/linkedEditingRange/css.json +40 -0
- package/data/linkedEditingRange/tailwindcss.json +30 -0
- package/data/links/css.json +55 -0
- package/data/links/tailwindcss.json +40 -0
- package/data/manifest.json +62 -0
- package/data/onTypeFormatting/css.json +82 -0
- package/data/onTypeFormatting/tailwindcss.json +63 -0
- package/data/rangeSemanticTokens/css.json +125 -0
- package/data/rangeSemanticTokens/tailwindcss.json +95 -0
- package/data/references/css.json +65 -0
- package/data/references/tailwindcss.json +59 -0
- package/data/rename/css.json +91 -0
- package/data/rename/tailwindcss.json +58 -0
- package/data/selectionRange/css.json +55 -0
- package/data/selectionRange/tailwindcss.json +35 -0
- package/data/semanticTokens/css.json +107 -0
- package/data/semanticTokens/tailwindcss.json +161 -0
- package/data/signatureHelp/css.json +137 -0
- package/data/signatureHelp/tailwindcss.json +64 -0
- package/data/typeDefinition/css.json +53 -0
- package/data/typeDefinition/tailwindcss.json +47 -0
- package/package.json +1 -1
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
{
|
|
2
|
+
"language": "tailwindcss",
|
|
3
|
+
"renamePatterns": [
|
|
4
|
+
{
|
|
5
|
+
"pattern": "\\.([\\w-]+)\\s*\\{[^}]*@apply",
|
|
6
|
+
"captureGroup": 1,
|
|
7
|
+
"kind": "class",
|
|
8
|
+
"description": "Rename custom component class names that use @apply."
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
"pattern": "@layer\\s+(base|components|utilities)",
|
|
12
|
+
"captureGroup": 1,
|
|
13
|
+
"kind": "module",
|
|
14
|
+
"description": "Rename @layer identifiers across all references."
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
"pattern": "@apply\\s+([\\w:-]+)",
|
|
18
|
+
"captureGroup": 1,
|
|
19
|
+
"kind": "reference",
|
|
20
|
+
"description": "Rename utility class references within @apply directives."
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"pattern": "class\\s*=\\s*[\"'][^\"']*\\b([\\w:-]+)\\b",
|
|
24
|
+
"captureGroup": 1,
|
|
25
|
+
"kind": "reference",
|
|
26
|
+
"description": "Rename custom class names within HTML/JSX class attributes."
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
"pattern": "className\\s*=\\s*[{\"'][^}\"']*\\b([\\w:-]+)\\b",
|
|
30
|
+
"captureGroup": 1,
|
|
31
|
+
"kind": "reference",
|
|
32
|
+
"description": "Rename custom class names within React className attributes."
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"pattern": "@keyframes\\s+([\\w-]+)",
|
|
36
|
+
"captureGroup": 1,
|
|
37
|
+
"kind": "variable",
|
|
38
|
+
"description": "Rename @keyframes animation names and their references."
|
|
39
|
+
}
|
|
40
|
+
],
|
|
41
|
+
"prepareRenamePatterns": [
|
|
42
|
+
{
|
|
43
|
+
"pattern": "\\.([\\w-]+)\\s*\\{",
|
|
44
|
+
"captureGroup": 1,
|
|
45
|
+
"description": "Prepare rename for CSS class selector names."
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"pattern": "@apply\\s+([\\w:-]+)",
|
|
49
|
+
"captureGroup": 1,
|
|
50
|
+
"description": "Prepare rename for utility class names in @apply."
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
"pattern": "@keyframes\\s+([\\w-]+)",
|
|
54
|
+
"captureGroup": 1,
|
|
55
|
+
"description": "Prepare rename for keyframe animation names."
|
|
56
|
+
}
|
|
57
|
+
]
|
|
58
|
+
}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
{
|
|
2
|
+
"language": "css",
|
|
3
|
+
"selectionPatterns": [
|
|
4
|
+
{
|
|
5
|
+
"pattern": "[a-zA-Z0-9#._%+\\-]+",
|
|
6
|
+
"expandTo": "word",
|
|
7
|
+
"description": "Select a CSS token — property name, value keyword, selector segment, or identifier. The smallest meaningful unit."
|
|
8
|
+
},
|
|
9
|
+
{
|
|
10
|
+
"pattern": "([a-z-]+)\\s*:\\s*([^;]+)",
|
|
11
|
+
"expandTo": "property-declaration",
|
|
12
|
+
"description": "Expand to the full property declaration (property: value) excluding the semicolon. Covers name and value as a unit."
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
"pattern": "([a-z-]+)\\s*:\\s*([^;]+);",
|
|
16
|
+
"expandTo": "statement",
|
|
17
|
+
"description": "Expand to the full property statement including the trailing semicolon. One complete CSS declaration."
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
"pattern": "([^{}]+)\\{([^}]*)\\}",
|
|
21
|
+
"expandTo": "rule",
|
|
22
|
+
"description": "Expand to the full CSS rule block — selector(s) plus all declarations within the braces."
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"pattern": "@media\\s+[^{]+\\{[\\s\\S]*?\\n\\}",
|
|
26
|
+
"expandTo": "at-rule-block",
|
|
27
|
+
"description": "Expand to the full @media block including the condition and all nested rules."
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
"pattern": "@keyframes\\s+[a-zA-Z_][a-zA-Z0-9_-]*\\s*\\{[\\s\\S]*?\\n\\}",
|
|
31
|
+
"expandTo": "at-rule-block",
|
|
32
|
+
"description": "Expand to the full @keyframes block including the animation name and all keyframe stops."
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"pattern": "@supports\\s+[^{]+\\{[\\s\\S]*?\\n\\}",
|
|
36
|
+
"expandTo": "at-rule-block",
|
|
37
|
+
"description": "Expand to the full @supports feature query block."
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
"pattern": "@layer\\s+[a-zA-Z_][a-zA-Z0-9_-]*\\s*\\{[\\s\\S]*?\\n\\}",
|
|
41
|
+
"expandTo": "at-rule-block",
|
|
42
|
+
"description": "Expand to the full @layer cascade layer block."
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
"pattern": "/\\*[\\s\\S]*?\\*/",
|
|
46
|
+
"expandTo": "comment",
|
|
47
|
+
"description": "Expand to the full multi-line comment block including /* and */ delimiters."
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
"pattern": "[\\s\\S]+",
|
|
51
|
+
"expandTo": "file",
|
|
52
|
+
"description": "Expand to the entire file content. The outermost selection level."
|
|
53
|
+
}
|
|
54
|
+
]
|
|
55
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
{
|
|
2
|
+
"language": "tailwindcss",
|
|
3
|
+
"selectionPatterns": [
|
|
4
|
+
{
|
|
5
|
+
"pattern": "[\\w:-]+",
|
|
6
|
+
"expandTo": "utility-class",
|
|
7
|
+
"description": "Select a single Tailwind utility class (e.g. 'flex', 'p-4', 'hover:bg-blue-500')."
|
|
8
|
+
},
|
|
9
|
+
{
|
|
10
|
+
"pattern": "[\\w:-]+(?:\\s+[\\w:-]+)*",
|
|
11
|
+
"expandTo": "class-list",
|
|
12
|
+
"description": "Expand selection to the full list of space-separated utility classes."
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
"pattern": "@apply\\s+[\\w\\s:-]+;",
|
|
16
|
+
"expandTo": "apply-rule",
|
|
17
|
+
"description": "Expand selection to the entire @apply rule including directive and semicolon."
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
"pattern": "\\.[\\w-]+\\s*\\{[^}]*\\}",
|
|
21
|
+
"expandTo": "rule-block",
|
|
22
|
+
"description": "Expand selection to the entire CSS rule block including selector and braces."
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"pattern": "@layer\\s+\\w+\\s*\\{[\\s\\S]*?\\}",
|
|
26
|
+
"expandTo": "layer-block",
|
|
27
|
+
"description": "Expand selection to the entire @layer block including contents."
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
"pattern": "class\\s*=\\s*[\"'][^\"']*[\"']",
|
|
31
|
+
"expandTo": "class-attribute",
|
|
32
|
+
"description": "Expand selection to the full class attribute including quotes."
|
|
33
|
+
}
|
|
34
|
+
]
|
|
35
|
+
}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
{
|
|
2
|
+
"language": "css",
|
|
3
|
+
"tokenTypes": ["namespace", "type", "class", "enum", "interface", "struct", "typeParameter", "parameter", "variable", "property", "enumMember", "event", "function", "method", "macro", "keyword", "modifier", "comment", "string", "number", "regexp", "operator", "decorator"],
|
|
4
|
+
"tokenModifiers": ["declaration", "definition", "readonly", "static", "deprecated", "abstract", "async", "modification", "documentation", "defaultLibrary"],
|
|
5
|
+
"tokenLegend": {
|
|
6
|
+
"tokenTypes": ["class", "variable", "property", "keyword", "function", "number", "string", "comment", "operator", "decorator", "enum", "modifier", "namespace"],
|
|
7
|
+
"tokenModifiers": ["declaration", "definition", "readonly", "deprecated", "documentation", "defaultLibrary"]
|
|
8
|
+
},
|
|
9
|
+
"semanticRules": [
|
|
10
|
+
{
|
|
11
|
+
"type": "class",
|
|
12
|
+
"pattern": "\\.[a-zA-Z_][a-zA-Z0-9_-]*",
|
|
13
|
+
"modifiers": [],
|
|
14
|
+
"description": "CSS class selectors (.classname). Styled as class type for visual distinction from other selector types."
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
"type": "class",
|
|
18
|
+
"pattern": "#[a-zA-Z_][a-zA-Z0-9_-]*",
|
|
19
|
+
"modifiers": ["readonly"],
|
|
20
|
+
"description": "CSS ID selectors (#idname). Styled as class with readonly modifier since IDs should be unique."
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"type": "property",
|
|
24
|
+
"pattern": "(?<=^\\s*|;\\s*)[a-z][a-z-]*(?=\\s*:)",
|
|
25
|
+
"modifiers": [],
|
|
26
|
+
"description": "CSS property names (display, margin, color, etc.). Core declarations that assign values to styling properties."
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
"type": "variable",
|
|
30
|
+
"pattern": "--[a-zA-Z_][a-zA-Z0-9_-]*(?=\\s*:)",
|
|
31
|
+
"modifiers": ["declaration", "definition"],
|
|
32
|
+
"description": "CSS custom property definitions (--variable-name: value). Marked as variable declarations."
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"type": "variable",
|
|
36
|
+
"pattern": "var\\(\\s*--[a-zA-Z_][a-zA-Z0-9_-]*",
|
|
37
|
+
"modifiers": [],
|
|
38
|
+
"description": "CSS custom property references inside var(). Styled as variable to match the definition."
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
"type": "keyword",
|
|
42
|
+
"pattern": "@(media|keyframes|supports|layer|container|font-face|import|charset|namespace|page|counter-style|property|scope)\\b",
|
|
43
|
+
"modifiers": [],
|
|
44
|
+
"description": "CSS at-rule keywords (@media, @keyframes, @supports, etc.). Styled as keyword for first-class language constructs."
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
"type": "modifier",
|
|
48
|
+
"pattern": ":(hover|focus|active|visited|first-child|last-child|nth-child|nth-of-type|not|is|where|has|focus-visible|focus-within|checked|disabled|enabled|empty|root|target|lang|any-link|placeholder-shown|required|optional|valid|invalid|in-range|out-of-range|read-only|read-write|default|indeterminate|first-of-type|last-of-type|only-child|only-of-type)\\b",
|
|
49
|
+
"modifiers": [],
|
|
50
|
+
"description": "CSS pseudo-classes (:hover, :focus, :nth-child, etc.). Styled as modifiers since they modify selector matching behavior."
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
"type": "decorator",
|
|
54
|
+
"pattern": "::(before|after|first-line|first-letter|selection|placeholder|marker|backdrop|file-selector-button|cue|part|slotted|highlight|spelling-error|grammar-error|target-text)\\b",
|
|
55
|
+
"modifiers": [],
|
|
56
|
+
"description": "CSS pseudo-elements (::before, ::after, ::placeholder, etc.). Styled as decorators since they create virtual sub-elements."
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
"type": "function",
|
|
60
|
+
"pattern": "(calc|var|min|max|clamp|env|attr|url|linear-gradient|radial-gradient|conic-gradient|repeating-linear-gradient|repeating-radial-gradient|image-set|counter|counters|fit-content|minmax|repeat|translateX?|translateY|translate3d|rotateX?|rotateY|rotateZ|rotate3d|scaleX?|scaleY|scale3d|skewX?|skewY|matrix|matrix3d|perspective|cubic-bezier|steps|rgb|rgba|hsl|hsla|oklch|oklab|lab|lch|color|color-mix|light-dark)\\s*\\(",
|
|
61
|
+
"modifiers": [],
|
|
62
|
+
"description": "CSS function calls (calc(), var(), linear-gradient(), etc.). Styled as functions for identifiable invocations."
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
"type": "enum",
|
|
66
|
+
"pattern": "#[0-9a-fA-F]{3,8}\\b",
|
|
67
|
+
"modifiers": [],
|
|
68
|
+
"description": "CSS hex color values (#fff, #ff0000, #ff000080). Styled as enum for color constant identification."
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
"type": "number",
|
|
72
|
+
"pattern": "-?\\d+(\\.\\d+)?(px|em|rem|%|vw|vh|vmin|vmax|svh|svw|dvh|dvw|ch|ex|lh|rlh|cap|ic|cqw|cqh|cqi|cqb|cqmin|cqmax|deg|rad|grad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx|fr)?\\b",
|
|
73
|
+
"modifiers": [],
|
|
74
|
+
"description": "CSS numeric values with units (16px, 1.5rem, 100%, 360deg, 0.3s, 1fr). Includes all CSS unit types."
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
"type": "string",
|
|
78
|
+
"pattern": "['\"][^'\"]*['\"]",
|
|
79
|
+
"modifiers": [],
|
|
80
|
+
"description": "CSS string literals in quotes. Used in content property, font-family names, url() paths, and attribute selectors."
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
"type": "comment",
|
|
84
|
+
"pattern": "/\\*[\\s\\S]*?\\*/",
|
|
85
|
+
"modifiers": [],
|
|
86
|
+
"description": "CSS comments (/* ... */). CSS only supports block comments, not line comments."
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
"type": "operator",
|
|
90
|
+
"pattern": "[>+~|](?=\\s*[.#a-zA-Z*:\\[])",
|
|
91
|
+
"modifiers": [],
|
|
92
|
+
"description": "CSS selector combinators: > (child), + (adjacent sibling), ~ (general sibling), || (column)."
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
"type": "namespace",
|
|
96
|
+
"pattern": "@media\\s+[^{]+",
|
|
97
|
+
"modifiers": [],
|
|
98
|
+
"description": "Media query conditions. Styled as namespace since they define a contextual scope for enclosed rules."
|
|
99
|
+
},
|
|
100
|
+
{
|
|
101
|
+
"type": "keyword",
|
|
102
|
+
"pattern": "!important\\b",
|
|
103
|
+
"modifiers": ["deprecated"],
|
|
104
|
+
"description": "CSS !important flag. Marked as deprecated modifier to discourage overuse in modern CSS (prefer cascade layers)."
|
|
105
|
+
}
|
|
106
|
+
]
|
|
107
|
+
}
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
{
|
|
2
|
+
"language": "tailwindcss",
|
|
3
|
+
"tokenTypes": ["namespace", "type", "class", "enum", "interface", "struct", "typeParameter", "parameter", "variable", "property", "enumMember", "event", "function", "method", "macro", "keyword", "modifier", "comment", "string", "number", "regexp", "operator", "decorator"],
|
|
4
|
+
"tokenModifiers": ["declaration", "definition", "readonly", "static", "deprecated", "abstract", "async", "modification", "documentation", "defaultLibrary"],
|
|
5
|
+
"tokenLegend": {
|
|
6
|
+
"tokenTypes": ["class", "keyword", "function", "variable", "enum", "number", "modifier", "property", "string", "comment", "operator", "decorator"],
|
|
7
|
+
"tokenModifiers": ["declaration", "definition", "readonly", "modification", "defaultLibrary"]
|
|
8
|
+
},
|
|
9
|
+
"semanticRules": [
|
|
10
|
+
{
|
|
11
|
+
"type": "class",
|
|
12
|
+
"pattern": "\\b(?:flex|grid|block|inline|hidden|table|container|relative|absolute|fixed|sticky|static|inline-block|inline-flex|inline-grid|flow-root|contents)[\\w-]*\\b",
|
|
13
|
+
"modifiers": [],
|
|
14
|
+
"description": "Tailwind utility classes — layout, display, and positioning utilities."
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
"type": "class",
|
|
18
|
+
"pattern": "\\b(?:p|m|px|py|pt|pr|pb|pl|mx|my|mt|mr|mb|ml|gap|gap-x|gap-y|space-[xy])-[\\w/]+\\b",
|
|
19
|
+
"modifiers": [],
|
|
20
|
+
"description": "Tailwind utility classes — spacing utilities (padding, margin, gap, space)."
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"type": "class",
|
|
24
|
+
"pattern": "\\b(?:w|h|min-w|max-w|min-h|max-h|size)-[\\w/]+\\b",
|
|
25
|
+
"modifiers": [],
|
|
26
|
+
"description": "Tailwind utility classes — sizing utilities (width, height, min/max)."
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
"type": "class",
|
|
30
|
+
"pattern": "\\b(?:items|justify|self|content|place-content|place-items|place-self|justify-items|justify-self)-[\\w]+\\b",
|
|
31
|
+
"modifiers": [],
|
|
32
|
+
"description": "Tailwind utility classes — alignment and distribution utilities."
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"type": "class",
|
|
36
|
+
"pattern": "\\b(?:flex-(?:row|col|wrap|nowrap|1|auto|initial|none|row-reverse|col-reverse|wrap-reverse)|grow|grow-0|shrink|shrink-0|order-[\\w]+)\\b",
|
|
37
|
+
"modifiers": [],
|
|
38
|
+
"description": "Tailwind utility classes — flex item properties."
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
"type": "class",
|
|
42
|
+
"pattern": "\\b(?:grid-cols|grid-rows|col-span|col-start|col-end|row-span|row-start|row-end|auto-cols|auto-rows|grid-flow)-[\\w]+\\b",
|
|
43
|
+
"modifiers": [],
|
|
44
|
+
"description": "Tailwind utility classes — CSS Grid properties."
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
"type": "class",
|
|
48
|
+
"pattern": "\\b(?:text-(?:xs|sm|base|lg|xl|2xl|3xl|4xl|5xl|6xl|7xl|8xl|9xl|left|center|right|justify|start|end|ellipsis|clip)|font-(?:thin|extralight|light|normal|medium|semibold|bold|extrabold|black|sans|serif|mono)|leading-[\\w]+|tracking-[\\w]+|uppercase|lowercase|capitalize|normal-case|italic|not-italic|underline|line-through|no-underline|truncate|whitespace-[\\w]+|break-(?:normal|words|all|keep)|line-clamp-[\\w]+|list-(?:none|disc|decimal|inside|outside)|align-[\\w]+)\\b",
|
|
49
|
+
"modifiers": [],
|
|
50
|
+
"description": "Tailwind utility classes — typography utilities."
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
"type": "class",
|
|
54
|
+
"pattern": "\\b(?:rounded|border|ring|outline|divide|shadow|opacity|blur|backdrop-blur|transition|duration|ease|delay|animate|scale|rotate|translate-[xy]|skew-[xy]|origin|cursor|select|pointer-events|resize|scroll|snap|touch|will-change|appearance|object|aspect|overflow|overscroll|isolat|sr-only|not-sr-only|content-\\[)[\\w-]*\\b",
|
|
55
|
+
"modifiers": [],
|
|
56
|
+
"description": "Tailwind utility classes — borders, effects, transforms, interactivity, and accessibility."
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
"type": "modifier",
|
|
60
|
+
"pattern": "\\b(?:sm|md|lg|xl|2xl):",
|
|
61
|
+
"modifiers": [],
|
|
62
|
+
"description": "Responsive breakpoint prefixes."
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
"type": "modifier",
|
|
66
|
+
"pattern": "\\b(?:max-sm|max-md|max-lg|max-xl|max-2xl):",
|
|
67
|
+
"modifiers": [],
|
|
68
|
+
"description": "Max-width responsive breakpoint prefixes."
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
"type": "modifier",
|
|
72
|
+
"pattern": "\\b(?:hover|focus|active|visited|disabled|first|last|odd|even|focus-within|focus-visible|checked|required|invalid|placeholder-shown|autofill|read-only|empty|default|indeterminate|enabled|in-range|out-of-range):",
|
|
73
|
+
"modifiers": [],
|
|
74
|
+
"description": "State variant prefixes — pseudo-class modifiers."
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
"type": "modifier",
|
|
78
|
+
"pattern": "\\b(?:before|after|placeholder|file|marker|selection|first-line|first-letter|backdrop):",
|
|
79
|
+
"modifiers": [],
|
|
80
|
+
"description": "Pseudo-element variant prefixes."
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
"type": "modifier",
|
|
84
|
+
"pattern": "\\b(?:dark|group-hover|group-focus|group-active|group-focus-within|group-focus-visible|peer-focus|peer-checked|peer-hover|peer-disabled|peer-invalid|peer-placeholder-shown|peer-focus-visible):",
|
|
85
|
+
"modifiers": [],
|
|
86
|
+
"description": "Dark mode, group, and peer variant prefixes."
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
"type": "modifier",
|
|
90
|
+
"pattern": "\\b(?:motion-safe|motion-reduce|print|portrait|landscape|rtl|ltr|contrast-more|contrast-less|forced-colors):",
|
|
91
|
+
"modifiers": [],
|
|
92
|
+
"description": "Media query variant prefixes (motion, orientation, direction, accessibility)."
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
"type": "modifier",
|
|
96
|
+
"pattern": "\\baria-(?:checked|disabled|expanded|hidden|pressed|readonly|required|selected):",
|
|
97
|
+
"modifiers": [],
|
|
98
|
+
"description": "ARIA attribute variant prefixes."
|
|
99
|
+
},
|
|
100
|
+
{
|
|
101
|
+
"type": "modifier",
|
|
102
|
+
"pattern": "\\bdata-\\[[^\\]]+\\]:",
|
|
103
|
+
"modifiers": [],
|
|
104
|
+
"description": "Data attribute variant prefixes."
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
"type": "modifier",
|
|
108
|
+
"pattern": "\\b(?:supports|has|min|max)-\\[[^\\]]+\\]:",
|
|
109
|
+
"modifiers": [],
|
|
110
|
+
"description": "Conditional variant prefixes (supports, has, min, max)."
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
"type": "keyword",
|
|
114
|
+
"pattern": "@(?:tailwind|apply|layer|config|screen|responsive|variants)\\b",
|
|
115
|
+
"modifiers": ["declaration"],
|
|
116
|
+
"description": "Tailwind CSS directives as keywords."
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
"type": "function",
|
|
120
|
+
"pattern": "\\b(?:theme|screen)\\s*\\(",
|
|
121
|
+
"modifiers": [],
|
|
122
|
+
"description": "Tailwind CSS functions: theme() and screen()."
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
"type": "enum",
|
|
126
|
+
"pattern": "\\b(?:bg|text|border|ring|shadow|outline|fill|stroke|from|via|to|divide|placeholder|accent|caret|ring-offset|decoration)-(?:slate|gray|zinc|neutral|stone|red|orange|amber|yellow|lime|green|emerald|teal|cyan|sky|blue|indigo|violet|purple|fuchsia|pink|rose)-(?:50|100|200|300|400|500|600|700|800|900|950)\\b",
|
|
127
|
+
"modifiers": [],
|
|
128
|
+
"description": "Color utility classes — resolved from the Tailwind color palette."
|
|
129
|
+
},
|
|
130
|
+
{
|
|
131
|
+
"type": "enum",
|
|
132
|
+
"pattern": "\\b(?:bg|text|border|ring|shadow|divide|fill|stroke|accent|caret|ring-offset|decoration|outline)-(?:white|black|transparent|current|inherit)\\b",
|
|
133
|
+
"modifiers": [],
|
|
134
|
+
"description": "Special color utilities — white, black, transparent, current, inherit."
|
|
135
|
+
},
|
|
136
|
+
{
|
|
137
|
+
"type": "number",
|
|
138
|
+
"pattern": "\\b(?:p|m|w|h|gap|text|border|rounded|ring|shadow|opacity|blur|duration|size|inset|top|right|bottom|left|z|space-[xy]|gap-[xy]|divide-[xy]|ring-offset|outline|outline-offset|columns|order|scale|rotate|skew-[xy]|translate-[xy]|delay|scroll-[mp]|snap-[mpxy]|hue-rotate|brightness|contrast|saturate|backdrop-(?:blur|brightness|contrast|opacity|saturate)|drop-shadow|line-clamp)-\\d+[\\w/]*\\b",
|
|
139
|
+
"modifiers": [],
|
|
140
|
+
"description": "Numeric spacing/sizing utility classes."
|
|
141
|
+
},
|
|
142
|
+
{
|
|
143
|
+
"type": "variable",
|
|
144
|
+
"pattern": "\\b\\w+-\\[[^\\]]+\\]\\b",
|
|
145
|
+
"modifiers": [],
|
|
146
|
+
"description": "Arbitrary value utilities using bracket notation (e.g. w-[200px], bg-[#ff0000])."
|
|
147
|
+
},
|
|
148
|
+
{
|
|
149
|
+
"type": "operator",
|
|
150
|
+
"pattern": "!(?=[\\w-])",
|
|
151
|
+
"modifiers": [],
|
|
152
|
+
"description": "Important modifier prefix (!) on utility classes."
|
|
153
|
+
},
|
|
154
|
+
{
|
|
155
|
+
"type": "decorator",
|
|
156
|
+
"pattern": "-(?=(?:m|mx|my|mt|mr|mb|ml|p|translate|rotate|skew|scale|order|tracking|inset|top|right|bottom|left|z|space|indent|scroll-m|hue-rotate))",
|
|
157
|
+
"modifiers": [],
|
|
158
|
+
"description": "Negative value prefix (-) on applicable utility classes."
|
|
159
|
+
}
|
|
160
|
+
]
|
|
161
|
+
}
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
{
|
|
2
|
+
"language": "css",
|
|
3
|
+
"signatures": [
|
|
4
|
+
{
|
|
5
|
+
"label": "calc(expression)",
|
|
6
|
+
"documentation": "Performs mathematical calculations for CSS property values. Supports +, -, *, / operators. Can mix different units (px, %, rem, vw, vh, em). Spaces required around + and - operators.",
|
|
7
|
+
"parameters": [
|
|
8
|
+
{ "label": "expression", "documentation": "A mathematical expression using +, -, *, / operators. Can mix units: calc(100% - 2rem), calc(1rem + 0.5vw), calc(var(--x) * 2)." }
|
|
9
|
+
]
|
|
10
|
+
},
|
|
11
|
+
{
|
|
12
|
+
"label": "var(--custom-property, fallback)",
|
|
13
|
+
"documentation": "Substitutes the value of a CSS custom property. Custom properties must start with --. Falls back to the second argument if the property is undefined or invalid.",
|
|
14
|
+
"parameters": [
|
|
15
|
+
{ "label": "--custom-property", "documentation": "The name of the CSS custom property to reference. Must include the -- prefix (e.g., --primary-color, --spacing-unit)." },
|
|
16
|
+
{ "label": "fallback", "documentation": "Optional fallback value used when the custom property is not defined. Can itself contain var() references." }
|
|
17
|
+
]
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
"label": "min(value1, value2, ...)",
|
|
21
|
+
"documentation": "Returns the smallest of the comma-separated values. Useful for responsive sizing: min(100%, 600px) ensures an element never exceeds 600px.",
|
|
22
|
+
"parameters": [
|
|
23
|
+
{ "label": "value1", "documentation": "First value to compare. Can be any CSS length, percentage, or calc() expression." },
|
|
24
|
+
{ "label": "value2", "documentation": "Second value (and more) to compare against. Accepts the same types as value1." }
|
|
25
|
+
]
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
"label": "max(value1, value2, ...)",
|
|
29
|
+
"documentation": "Returns the largest of the comma-separated values. Useful for minimum sizing: max(300px, 50%) ensures at least 300px wide.",
|
|
30
|
+
"parameters": [
|
|
31
|
+
{ "label": "value1", "documentation": "First value to compare." },
|
|
32
|
+
{ "label": "value2", "documentation": "Second value (and more) to compare against." }
|
|
33
|
+
]
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
"label": "clamp(min, preferred, max)",
|
|
37
|
+
"documentation": "Clamps a value between a minimum and maximum bound. Equivalent to max(MIN, min(VAL, MAX)). Ideal for fluid typography and responsive sizing.",
|
|
38
|
+
"parameters": [
|
|
39
|
+
{ "label": "min", "documentation": "The minimum allowed value. The result will never be smaller than this." },
|
|
40
|
+
{ "label": "preferred", "documentation": "The preferred/ideal value that will be used if it falls between min and max. Often uses viewport units (vw)." },
|
|
41
|
+
{ "label": "max", "documentation": "The maximum allowed value. The result will never be larger than this." }
|
|
42
|
+
]
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
"label": "rgb(red, green, blue)",
|
|
46
|
+
"documentation": "Specifies a color using the RGB color model. Each channel accepts an integer (0–255) or percentage (0%–100%). Modern syntax uses spaces instead of commas with optional alpha: rgb(R G B / alpha).",
|
|
47
|
+
"parameters": [
|
|
48
|
+
{ "label": "red", "documentation": "Red channel: 0–255 or 0%–100%." },
|
|
49
|
+
{ "label": "green", "documentation": "Green channel: 0–255 or 0%–100%." },
|
|
50
|
+
{ "label": "blue", "documentation": "Blue channel: 0–255 or 0%–100%." }
|
|
51
|
+
]
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
"label": "hsl(hue, saturation, lightness)",
|
|
55
|
+
"documentation": "Specifies a color using the HSL color model. More intuitive than RGB for color manipulation. Modern syntax uses spaces: hsl(H S L / alpha).",
|
|
56
|
+
"parameters": [
|
|
57
|
+
{ "label": "hue", "documentation": "Hue angle: 0–360 (0/360=red, 120=green, 240=blue). Accepts deg, rad, grad, turn units." },
|
|
58
|
+
{ "label": "saturation", "documentation": "Saturation: 0% (gray) to 100% (full color)." },
|
|
59
|
+
{ "label": "lightness", "documentation": "Lightness: 0% (black) to 50% (pure color) to 100% (white)." }
|
|
60
|
+
]
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
"label": "oklch(lightness, chroma, hue)",
|
|
64
|
+
"documentation": "Specifies a color in the OKLCH perceptually uniform color space (CSS Color Level 4). Better for generating consistent palettes than HSL.",
|
|
65
|
+
"parameters": [
|
|
66
|
+
{ "label": "lightness", "documentation": "Perceptual lightness: 0 (black) to 1 (white), or 0%–100%." },
|
|
67
|
+
{ "label": "chroma", "documentation": "Chroma (colorfulness): 0 (gray) to ~0.4 (most vivid). Not bounded like saturation." },
|
|
68
|
+
{ "label": "hue", "documentation": "Hue angle: 0–360. Similar to HSL hue but perceptually uniform." }
|
|
69
|
+
]
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
"label": "linear-gradient(direction, color-stop1, color-stop2, ...)",
|
|
73
|
+
"documentation": "Creates a linear gradient image transitioning between two or more colors along a straight line.",
|
|
74
|
+
"parameters": [
|
|
75
|
+
{ "label": "direction", "documentation": "Gradient direction: angle (e.g., 45deg, 135deg) or keyword (to top, to right, to bottom left). Default: to bottom (180deg)." },
|
|
76
|
+
{ "label": "color-stop1", "documentation": "First color and optional position: color [percentage/length]. E.g., #ff0000 0%, red 50px." },
|
|
77
|
+
{ "label": "color-stop2", "documentation": "Subsequent color stops. Multiple stops create multi-color gradients." }
|
|
78
|
+
]
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
"label": "radial-gradient(shape size at position, color-stop1, color-stop2, ...)",
|
|
82
|
+
"documentation": "Creates a radial (circular/elliptical) gradient image radiating from an origin point.",
|
|
83
|
+
"parameters": [
|
|
84
|
+
{ "label": "shape", "documentation": "Shape: circle or ellipse (default). Affects how the gradient radiates." },
|
|
85
|
+
{ "label": "size", "documentation": "Size keyword: closest-side, closest-corner, farthest-side, farthest-corner (default). Or explicit radius." },
|
|
86
|
+
{ "label": "position", "documentation": "Center position: default is center center. Accepts lengths, percentages, or keywords (top, left, etc.)." },
|
|
87
|
+
{ "label": "color-stops", "documentation": "Two or more color stops with optional position percentages." }
|
|
88
|
+
]
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
"label": "url(path)",
|
|
92
|
+
"documentation": "References an external resource by URL. Used for images, fonts, stylesheets, cursors, and other assets.",
|
|
93
|
+
"parameters": [
|
|
94
|
+
{ "label": "path", "documentation": "URL string — can be absolute, relative, or data URI. Quotes are optional but recommended for URLs with special characters." }
|
|
95
|
+
]
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
"label": "env(variable, fallback)",
|
|
99
|
+
"documentation": "Accesses environment variables defined by the user agent. Commonly used for safe area insets on mobile devices.",
|
|
100
|
+
"parameters": [
|
|
101
|
+
{ "label": "variable", "documentation": "Environment variable name: safe-area-inset-top, safe-area-inset-right, safe-area-inset-bottom, safe-area-inset-left, titlebar-area-x, titlebar-area-y, titlebar-area-width, titlebar-area-height." },
|
|
102
|
+
{ "label": "fallback", "documentation": "Optional fallback value if the environment variable is not available." }
|
|
103
|
+
]
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
"label": "translate(x, y)",
|
|
107
|
+
"documentation": "CSS transform function that repositions an element along the X and Y axes. Does not affect document flow.",
|
|
108
|
+
"parameters": [
|
|
109
|
+
{ "label": "x", "documentation": "Horizontal offset: length or percentage. Positive moves right." },
|
|
110
|
+
{ "label": "y", "documentation": "Optional vertical offset: length or percentage. Positive moves down. If omitted, defaults to 0." }
|
|
111
|
+
]
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
"label": "rotate(angle)",
|
|
115
|
+
"documentation": "CSS transform function that rotates an element around its transform-origin point.",
|
|
116
|
+
"parameters": [
|
|
117
|
+
{ "label": "angle", "documentation": "Rotation angle. Accepts deg, rad, grad, turn units. Positive = clockwise, negative = counter-clockwise." }
|
|
118
|
+
]
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
"label": "scale(x, y)",
|
|
122
|
+
"documentation": "CSS transform function that resizes an element along the X and Y axes.",
|
|
123
|
+
"parameters": [
|
|
124
|
+
{ "label": "x", "documentation": "Horizontal scale factor: 1 = original size, 2 = double, 0.5 = half." },
|
|
125
|
+
{ "label": "y", "documentation": "Optional vertical scale factor. If omitted, defaults to the same value as x (uniform scaling)." }
|
|
126
|
+
]
|
|
127
|
+
},
|
|
128
|
+
{
|
|
129
|
+
"label": "attr(attribute-name)",
|
|
130
|
+
"documentation": "Returns the value of an HTML attribute of the selected element. Currently only works reliably in the content property of pseudo-elements in most browsers.",
|
|
131
|
+
"parameters": [
|
|
132
|
+
{ "label": "attribute-name", "documentation": "The name of the HTML attribute to retrieve (e.g., data-label, href, title)." }
|
|
133
|
+
]
|
|
134
|
+
}
|
|
135
|
+
],
|
|
136
|
+
"triggerCharacters": ["("]
|
|
137
|
+
}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
{
|
|
2
|
+
"language": "tailwindcss",
|
|
3
|
+
"signatures": [
|
|
4
|
+
{
|
|
5
|
+
"label": "theme(path, defaultValue?)",
|
|
6
|
+
"documentation": "Access Tailwind theme configuration values in CSS. Uses dot notation for nested values. Returns the resolved value from your tailwind.config.js theme section.",
|
|
7
|
+
"parameters": [
|
|
8
|
+
{
|
|
9
|
+
"label": "path",
|
|
10
|
+
"documentation": "Dot-notation path to the theme value. E.g. 'colors.blue.500', 'spacing.4', 'fontSize.lg', 'screens.md'."
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
"label": "defaultValue",
|
|
14
|
+
"documentation": "Optional fallback value if the theme path doesn't resolve. E.g. theme('colors.brand', '#3b82f6')."
|
|
15
|
+
}
|
|
16
|
+
]
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"label": "screen(breakpoint)",
|
|
20
|
+
"documentation": "Generate a media query referencing a Tailwind responsive breakpoint by name. Compiles to the corresponding min-width media query.",
|
|
21
|
+
"parameters": [
|
|
22
|
+
{
|
|
23
|
+
"label": "breakpoint",
|
|
24
|
+
"documentation": "Named breakpoint from the theme. Default: 'sm' (640px), 'md' (768px), 'lg' (1024px), 'xl' (1280px), '2xl' (1536px)."
|
|
25
|
+
}
|
|
26
|
+
]
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
"label": "calc(expression)",
|
|
30
|
+
"documentation": "CSS calc() function for mathematical expressions. Can be combined with theme() values.",
|
|
31
|
+
"parameters": [
|
|
32
|
+
{
|
|
33
|
+
"label": "expression",
|
|
34
|
+
"documentation": "Math expression using +, -, *, /. E.g. calc(100% - theme('spacing.4'))."
|
|
35
|
+
}
|
|
36
|
+
]
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"label": "var(--custom-property, fallback?)",
|
|
40
|
+
"documentation": "Access CSS custom properties. Often used with Tailwind's internal custom properties or user-defined ones.",
|
|
41
|
+
"parameters": [
|
|
42
|
+
{
|
|
43
|
+
"label": "--custom-property",
|
|
44
|
+
"documentation": "CSS custom property name. E.g. --tw-ring-color, --tw-shadow, or custom properties."
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
"label": "fallback",
|
|
48
|
+
"documentation": "Optional fallback value if the custom property is not defined."
|
|
49
|
+
}
|
|
50
|
+
]
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
"label": "plugin(function({ addUtilities, addComponents, addBase, matchUtilities, theme }))",
|
|
54
|
+
"documentation": "Tailwind CSS plugin function for extending the framework with custom utilities, components, and base styles.",
|
|
55
|
+
"parameters": [
|
|
56
|
+
{
|
|
57
|
+
"label": "pluginFunction",
|
|
58
|
+
"documentation": "Function receiving helper methods: addUtilities(), addComponents(), addBase(), matchUtilities(), theme(), e(), config(), variants()."
|
|
59
|
+
}
|
|
60
|
+
]
|
|
61
|
+
}
|
|
62
|
+
],
|
|
63
|
+
"triggerCharacters": ["(", "'", "\""]
|
|
64
|
+
}
|