@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.
Files changed (62) hide show
  1. package/data/codeActions/css.json +111 -0
  2. package/data/codeActions/tailwindcss.json +76 -0
  3. package/data/codeLens/css.json +68 -0
  4. package/data/codeLens/tailwindcss.json +47 -0
  5. package/data/color/css.json +124 -0
  6. package/data/color/tailwindcss.json +53 -0
  7. package/data/commands/css.json +41 -0
  8. package/data/commands/manifest.json +729 -727
  9. package/data/commands/tailwindcss.json +53 -0
  10. package/data/completion/css.json +383 -0
  11. package/data/completion/javascript.json +27 -0
  12. package/data/completion/redis-cli.json +1 -1
  13. package/data/completion/tailwindcss.json +284 -0
  14. package/data/completion/typescript.json +27 -0
  15. package/data/declaration/css.json +59 -0
  16. package/data/declaration/tailwindcss.json +65 -0
  17. package/data/definition/css.json +115 -0
  18. package/data/definition/redis-cli.json +1 -1
  19. package/data/definition/tailwindcss.json +115 -0
  20. package/data/documentHighlight/css.json +50 -0
  21. package/data/documentHighlight/tailwindcss.json +65 -0
  22. package/data/documentRangeFormatting/css.json +101 -0
  23. package/data/documentRangeFormatting/tailwindcss.json +55 -0
  24. package/data/documentSymbol/css.json +96 -0
  25. package/data/documentSymbol/tailwindcss.json +61 -0
  26. package/data/foldingRange/css.json +66 -0
  27. package/data/foldingRange/tailwindcss.json +60 -0
  28. package/data/formatting/css.json +73 -0
  29. package/data/formatting/tailwindcss.json +48 -0
  30. package/data/hover/css.json +68 -0
  31. package/data/hover/redis-cli.json +1 -1
  32. package/data/hover/tailwindcss.json +968 -0
  33. package/data/implementation/css.json +65 -0
  34. package/data/implementation/tailwindcss.json +59 -0
  35. package/data/inlayHints/css.json +87 -0
  36. package/data/inlayHints/tailwindcss.json +111 -0
  37. package/data/inlineCompletions/css.json +125 -0
  38. package/data/inlineCompletions/javascript.json +12 -0
  39. package/data/inlineCompletions/tailwindcss.json +411 -0
  40. package/data/inlineCompletions/typescript.json +12 -0
  41. package/data/linkedEditingRange/css.json +40 -0
  42. package/data/linkedEditingRange/tailwindcss.json +30 -0
  43. package/data/links/css.json +55 -0
  44. package/data/links/tailwindcss.json +40 -0
  45. package/data/manifest.json +62 -0
  46. package/data/onTypeFormatting/css.json +82 -0
  47. package/data/onTypeFormatting/tailwindcss.json +63 -0
  48. package/data/rangeSemanticTokens/css.json +125 -0
  49. package/data/rangeSemanticTokens/tailwindcss.json +95 -0
  50. package/data/references/css.json +65 -0
  51. package/data/references/tailwindcss.json +59 -0
  52. package/data/rename/css.json +91 -0
  53. package/data/rename/tailwindcss.json +58 -0
  54. package/data/selectionRange/css.json +55 -0
  55. package/data/selectionRange/tailwindcss.json +35 -0
  56. package/data/semanticTokens/css.json +107 -0
  57. package/data/semanticTokens/tailwindcss.json +161 -0
  58. package/data/signatureHelp/css.json +137 -0
  59. package/data/signatureHelp/tailwindcss.json +64 -0
  60. package/data/typeDefinition/css.json +53 -0
  61. package/data/typeDefinition/tailwindcss.json +47 -0
  62. package/package.json +1 -1
@@ -437,6 +437,37 @@
437
437
  "rangeSemanticTokens": "rangeSemanticTokens/csharp.json"
438
438
  }
439
439
  },
440
+ {
441
+ "id": "css",
442
+ "name": "CSS",
443
+ "files": {
444
+ "completion": "completion/css.json",
445
+ "definition": "definition/css.json",
446
+ "hover": "hover/css.json",
447
+ "codeActions": "codeActions/css.json",
448
+ "documentHighlight": "documentHighlight/css.json",
449
+ "documentSymbol": "documentSymbol/css.json",
450
+ "links": "links/css.json",
451
+ "typeDefinition": "typeDefinition/css.json",
452
+ "references": "references/css.json",
453
+ "implementation": "implementation/css.json",
454
+ "inlineCompletions": "inlineCompletions/css.json",
455
+ "formatting": "formatting/css.json",
456
+ "codeLens": "codeLens/css.json",
457
+ "color": "color/css.json",
458
+ "declaration": "declaration/css.json",
459
+ "inlayHints": "inlayHints/css.json",
460
+ "signatureHelp": "signatureHelp/css.json",
461
+ "foldingRange": "foldingRange/css.json",
462
+ "rename": "rename/css.json",
463
+ "selectionRange": "selectionRange/css.json",
464
+ "linkedEditingRange": "linkedEditingRange/css.json",
465
+ "onTypeFormatting": "onTypeFormatting/css.json",
466
+ "documentRangeFormatting": "documentRangeFormatting/css.json",
467
+ "semanticTokens": "semanticTokens/css.json",
468
+ "rangeSemanticTokens": "rangeSemanticTokens/css.json"
469
+ }
470
+ },
440
471
  {
441
472
  "id": "cypher",
442
473
  "name": "Cypher",
@@ -2483,6 +2514,37 @@
2483
2514
  "rangeSemanticTokens": "rangeSemanticTokens/systemverilog.json"
2484
2515
  }
2485
2516
  },
2517
+ {
2518
+ "id": "tailwindcss",
2519
+ "name": "Tailwind CSS",
2520
+ "files": {
2521
+ "completion": "completion/tailwindcss.json",
2522
+ "definition": "definition/tailwindcss.json",
2523
+ "hover": "hover/tailwindcss.json",
2524
+ "codeActions": "codeActions/tailwindcss.json",
2525
+ "documentHighlight": "documentHighlight/tailwindcss.json",
2526
+ "documentSymbol": "documentSymbol/tailwindcss.json",
2527
+ "links": "links/tailwindcss.json",
2528
+ "typeDefinition": "typeDefinition/tailwindcss.json",
2529
+ "references": "references/tailwindcss.json",
2530
+ "implementation": "implementation/tailwindcss.json",
2531
+ "inlineCompletions": "inlineCompletions/tailwindcss.json",
2532
+ "formatting": "formatting/tailwindcss.json",
2533
+ "codeLens": "codeLens/tailwindcss.json",
2534
+ "color": "color/tailwindcss.json",
2535
+ "declaration": "declaration/tailwindcss.json",
2536
+ "inlayHints": "inlayHints/tailwindcss.json",
2537
+ "signatureHelp": "signatureHelp/tailwindcss.json",
2538
+ "foldingRange": "foldingRange/tailwindcss.json",
2539
+ "rename": "rename/tailwindcss.json",
2540
+ "selectionRange": "selectionRange/tailwindcss.json",
2541
+ "linkedEditingRange": "linkedEditingRange/tailwindcss.json",
2542
+ "onTypeFormatting": "onTypeFormatting/tailwindcss.json",
2543
+ "documentRangeFormatting": "documentRangeFormatting/tailwindcss.json",
2544
+ "semanticTokens": "semanticTokens/tailwindcss.json",
2545
+ "rangeSemanticTokens": "rangeSemanticTokens/tailwindcss.json"
2546
+ }
2547
+ },
2486
2548
  {
2487
2549
  "id": "tcl",
2488
2550
  "name": "Tcl",
@@ -0,0 +1,82 @@
1
+ {
2
+ "language": "css",
3
+ "triggerCharacters": [";", "}", "\n"],
4
+ "formatRules": [
5
+ {
6
+ "trigger": "{",
7
+ "pattern": "^.*\\{\\s*$",
8
+ "action": "indent",
9
+ "options": {
10
+ "insertNewline": true,
11
+ "indentLevel": 1,
12
+ "description": "Auto-indent after opening brace. When { is typed at the end of a selector or at-rule, insert a newline and increase indentation."
13
+ }
14
+ },
15
+ {
16
+ "trigger": "}",
17
+ "pattern": "^\\s*\\}",
18
+ "action": "outdent",
19
+ "options": {
20
+ "matchIndent": "openingBrace",
21
+ "insertNewline": true,
22
+ "description": "Outdent closing brace to match the indentation of the opening brace, and insert a blank line after the rule block."
23
+ }
24
+ },
25
+ {
26
+ "trigger": ";",
27
+ "pattern": "([a-z-]+)\\s*:\\s*([^;]+);",
28
+ "action": "formatLine",
29
+ "options": {
30
+ "normalizeSpaces": true,
31
+ "ensureSingleSpaceAfterColon": true,
32
+ "description": "On semicolon, normalize the current declaration line: ensure single space after the colon and trim trailing whitespace."
33
+ }
34
+ },
35
+ {
36
+ "trigger": "\n",
37
+ "pattern": "^\\s*$",
38
+ "action": "maintainIndent",
39
+ "options": {
40
+ "matchPreviousIndent": true,
41
+ "description": "On newline, maintain the same indentation level as the previous non-empty line within the current rule block."
42
+ }
43
+ },
44
+ {
45
+ "trigger": "\n",
46
+ "pattern": "\\{\\s*$",
47
+ "action": "indent",
48
+ "options": {
49
+ "indentLevel": 1,
50
+ "description": "On newline after an opening brace, increase indentation by one level for the next line."
51
+ }
52
+ },
53
+ {
54
+ "trigger": ":",
55
+ "pattern": "^\\s*([a-z-]+):\\s*$",
56
+ "action": "insertSpace",
57
+ "options": {
58
+ "ensureSpace": true,
59
+ "description": "When typing a colon after a property name, ensure there is a space after the colon before the value."
60
+ }
61
+ },
62
+ {
63
+ "trigger": ";",
64
+ "pattern": ";\\s*$",
65
+ "action": "newline",
66
+ "options": {
67
+ "cursorOnNewLine": true,
68
+ "maintainIndent": true,
69
+ "description": "After typing semicolon at the end of a declaration, optionally prepare the cursor on a new indented line for the next property."
70
+ }
71
+ },
72
+ {
73
+ "trigger": "\n",
74
+ "pattern": "^\\s*\\}\\s*$",
75
+ "action": "blankLine",
76
+ "options": {
77
+ "insertBlankLineAfterBlock": true,
78
+ "description": "After a closing brace, insert one blank line to visually separate rule blocks."
79
+ }
80
+ }
81
+ ]
82
+ }
@@ -0,0 +1,63 @@
1
+ {
2
+ "language": "tailwindcss",
3
+ "triggerCharacters": [";", "}", "\n"],
4
+ "formatRules": [
5
+ {
6
+ "trigger": "{",
7
+ "pattern": "@layer\\s+\\w+\\s*\\{$",
8
+ "action": "indent",
9
+ "options": {
10
+ "indentSize": 2,
11
+ "insertNewline": true
12
+ }
13
+ },
14
+ {
15
+ "trigger": "{",
16
+ "pattern": "\\.[\\w-]+\\s*\\{$",
17
+ "action": "indent",
18
+ "options": {
19
+ "indentSize": 2,
20
+ "insertNewline": true
21
+ }
22
+ },
23
+ {
24
+ "trigger": ";",
25
+ "pattern": "@apply\\s+[\\w\\s:-]+;$",
26
+ "action": "formatLine",
27
+ "options": {
28
+ "trimTrailingWhitespace": true
29
+ }
30
+ },
31
+ {
32
+ "trigger": ";",
33
+ "pattern": "@tailwind\\s+\\w+;$",
34
+ "action": "formatLine",
35
+ "options": {
36
+ "trimTrailingWhitespace": true,
37
+ "insertNewlineAfter": true
38
+ }
39
+ },
40
+ {
41
+ "trigger": "}",
42
+ "pattern": "^\\s*\\}$",
43
+ "action": "outdent",
44
+ "options": {
45
+ "insertNewlineAfter": true
46
+ }
47
+ },
48
+ {
49
+ "trigger": "\n",
50
+ "pattern": "@layer\\s+\\w+\\s*\\{\\s*$",
51
+ "action": "indent",
52
+ "options": {
53
+ "indentSize": 2
54
+ }
55
+ },
56
+ {
57
+ "trigger": "\n",
58
+ "pattern": "@apply\\s+[\\w\\s:-]+;\\s*$",
59
+ "action": "maintainIndent",
60
+ "options": {}
61
+ }
62
+ ]
63
+ }
@@ -0,0 +1,125 @@
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
+ "rangeTokenRules": [
10
+ {
11
+ "type": "class",
12
+ "pattern": "\\.[a-zA-Z_][a-zA-Z0-9_-]*",
13
+ "modifiers": [],
14
+ "description": "CSS class selectors within the requested range.",
15
+ "rangeScope": "expression"
16
+ },
17
+ {
18
+ "type": "class",
19
+ "pattern": "#[a-zA-Z_][a-zA-Z0-9_-]*",
20
+ "modifiers": ["readonly"],
21
+ "description": "CSS ID selectors within the requested range.",
22
+ "rangeScope": "expression"
23
+ },
24
+ {
25
+ "type": "property",
26
+ "pattern": "(?<=^\\s*|;\\s*)[a-z][a-z-]*(?=\\s*:)",
27
+ "modifiers": [],
28
+ "description": "CSS property names within a declaration range.",
29
+ "rangeScope": "declaration"
30
+ },
31
+ {
32
+ "type": "variable",
33
+ "pattern": "--[a-zA-Z_][a-zA-Z0-9_-]*(?=\\s*:)",
34
+ "modifiers": ["declaration", "definition"],
35
+ "description": "CSS custom property definitions within the range.",
36
+ "rangeScope": "declaration"
37
+ },
38
+ {
39
+ "type": "variable",
40
+ "pattern": "var\\(\\s*--[a-zA-Z_][a-zA-Z0-9_-]*",
41
+ "modifiers": [],
42
+ "description": "CSS custom property references (var(--name)) within the range.",
43
+ "rangeScope": "expression"
44
+ },
45
+ {
46
+ "type": "keyword",
47
+ "pattern": "@(media|keyframes|supports|layer|container|font-face|import|charset|namespace|page|counter-style|property|scope)\\b",
48
+ "modifiers": [],
49
+ "description": "CSS at-rule keywords within the range.",
50
+ "rangeScope": "statement"
51
+ },
52
+ {
53
+ "type": "modifier",
54
+ "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",
55
+ "modifiers": [],
56
+ "description": "CSS pseudo-classes within the range.",
57
+ "rangeScope": "expression"
58
+ },
59
+ {
60
+ "type": "decorator",
61
+ "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",
62
+ "modifiers": [],
63
+ "description": "CSS pseudo-elements within the range.",
64
+ "rangeScope": "expression"
65
+ },
66
+ {
67
+ "type": "function",
68
+ "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*\\(",
69
+ "modifiers": [],
70
+ "description": "CSS function calls within the range.",
71
+ "rangeScope": "expression"
72
+ },
73
+ {
74
+ "type": "enum",
75
+ "pattern": "#[0-9a-fA-F]{3,8}\\b",
76
+ "modifiers": [],
77
+ "description": "CSS hex color values within the range.",
78
+ "rangeScope": "expression"
79
+ },
80
+ {
81
+ "type": "number",
82
+ "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",
83
+ "modifiers": [],
84
+ "description": "CSS numeric values with units within the range.",
85
+ "rangeScope": "expression"
86
+ },
87
+ {
88
+ "type": "string",
89
+ "pattern": "['\"][^'\"]*['\"]",
90
+ "modifiers": [],
91
+ "description": "CSS string literals within the range.",
92
+ "rangeScope": "expression"
93
+ },
94
+ {
95
+ "type": "comment",
96
+ "pattern": "/\\*[\\s\\S]*?\\*/",
97
+ "modifiers": [],
98
+ "description": "CSS block comments within the range. May span multiple lines.",
99
+ "rangeScope": "block"
100
+ },
101
+ {
102
+ "type": "operator",
103
+ "pattern": "[>+~|](?=\\s*[.#a-zA-Z*:\\[])",
104
+ "modifiers": [],
105
+ "description": "CSS selector combinators within the range.",
106
+ "rangeScope": "expression"
107
+ },
108
+ {
109
+ "type": "namespace",
110
+ "pattern": "@media\\s+[^{]+",
111
+ "modifiers": [],
112
+ "description": "Media query conditions within the range.",
113
+ "rangeScope": "statement"
114
+ },
115
+ {
116
+ "type": "keyword",
117
+ "pattern": "!important\\b",
118
+ "modifiers": ["deprecated"],
119
+ "description": "CSS !important flag within the range.",
120
+ "rangeScope": "declaration"
121
+ }
122
+ ],
123
+ "supportedRangeScopes": ["statement", "block", "expression", "declaration"],
124
+ "multilineTokens": ["comment", "string"]
125
+ }
@@ -0,0 +1,95 @@
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
+ "rangeTokenRules": [
10
+ {
11
+ "type": "class",
12
+ "pattern": "\\b(?:flex|grid|block|inline|hidden|table|container|relative|absolute|fixed|sticky)[\\w-]*\\b",
13
+ "modifiers": [],
14
+ "rangeScope": "line",
15
+ "description": "Tailwind layout/display utility classes within the requested range."
16
+ },
17
+ {
18
+ "type": "class",
19
+ "pattern": "\\b(?:p|m|px|py|pt|pr|pb|pl|mx|my|mt|mr|mb|ml|gap|space-[xy])-[\\w/]+\\b",
20
+ "modifiers": [],
21
+ "rangeScope": "line",
22
+ "description": "Tailwind spacing utility classes within the requested range."
23
+ },
24
+ {
25
+ "type": "modifier",
26
+ "pattern": "\\b(?:sm|md|lg|xl|2xl):",
27
+ "modifiers": [],
28
+ "rangeScope": "token",
29
+ "description": "Responsive breakpoint prefix tokens within the requested range."
30
+ },
31
+ {
32
+ "type": "modifier",
33
+ "pattern": "\\b(?:hover|focus|active|visited|disabled|first|last|odd|even|focus-within|focus-visible):",
34
+ "modifiers": [],
35
+ "rangeScope": "token",
36
+ "description": "State variant prefix tokens within the requested range."
37
+ },
38
+ {
39
+ "type": "modifier",
40
+ "pattern": "\\b(?:dark|group-hover|group-focus|peer-focus|peer-checked|peer-hover):",
41
+ "modifiers": [],
42
+ "rangeScope": "token",
43
+ "description": "Dark mode and group/peer variant prefix tokens within the requested range."
44
+ },
45
+ {
46
+ "type": "keyword",
47
+ "pattern": "@(?:tailwind|apply|layer|config|screen|responsive|variants)\\b",
48
+ "modifiers": ["declaration"],
49
+ "rangeScope": "line",
50
+ "description": "Tailwind CSS directive keywords within the requested range."
51
+ },
52
+ {
53
+ "type": "function",
54
+ "pattern": "\\b(?:theme|screen)\\s*\\(",
55
+ "modifiers": [],
56
+ "rangeScope": "expression",
57
+ "description": "Tailwind CSS function calls within the requested range."
58
+ },
59
+ {
60
+ "type": "enum",
61
+ "pattern": "\\b(?:bg|text|border|ring|shadow|outline|fill|stroke|from|via|to|divide|placeholder|accent|caret)-(?: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",
62
+ "modifiers": [],
63
+ "rangeScope": "line",
64
+ "description": "Color utility class tokens within the requested range."
65
+ },
66
+ {
67
+ "type": "number",
68
+ "pattern": "\\b(?:p|m|w|h|gap|text|border|rounded|ring|shadow|opacity|blur|duration|size)-\\d+\\b",
69
+ "modifiers": [],
70
+ "rangeScope": "token",
71
+ "description": "Numeric spacing/sizing utility tokens within the requested range."
72
+ },
73
+ {
74
+ "type": "variable",
75
+ "pattern": "\\b\\w+-\\[[^\\]]+\\]\\b",
76
+ "modifiers": [],
77
+ "rangeScope": "expression",
78
+ "description": "Arbitrary value utility tokens within the requested range."
79
+ },
80
+ {
81
+ "type": "operator",
82
+ "pattern": "!(?=[\\w-])",
83
+ "modifiers": [],
84
+ "rangeScope": "token",
85
+ "description": "Important modifier prefix within the requested range."
86
+ },
87
+ {
88
+ "type": "decorator",
89
+ "pattern": "-(?=(?:m|mx|my|mt|mr|mb|ml|p|translate|rotate|skew|scale|order|tracking|inset|top|right|bottom|left|z))",
90
+ "modifiers": [],
91
+ "rangeScope": "token",
92
+ "description": "Negative value prefix tokens within the requested range."
93
+ }
94
+ ]
95
+ }
@@ -0,0 +1,65 @@
1
+ {
2
+ "language": "css",
3
+ "referencePatterns": [
4
+ {
5
+ "pattern": "var\\(\\s*--(([a-zA-Z_][a-zA-Z0-9_-]*))\\s*(?:,\\s*[^)]*)?\\)",
6
+ "captureGroup": 1,
7
+ "kind": "variable-reference",
8
+ "description": "Custom property reference via var(). Links to the CSS custom property definition (--name: value)."
9
+ },
10
+ {
11
+ "pattern": "animation(?:-name)?\\s*:\\s*([a-zA-Z_][a-zA-Z0-9_-]*)",
12
+ "captureGroup": 1,
13
+ "kind": "animation-reference",
14
+ "description": "Animation name reference. Links to the corresponding @keyframes declaration that defines the animation."
15
+ },
16
+ {
17
+ "pattern": "font-family\\s*:[^;]*['\"]?([a-zA-Z][a-zA-Z0-9 _-]+)['\"]?",
18
+ "captureGroup": 1,
19
+ "kind": "font-reference",
20
+ "description": "Font family reference. Links to @font-face declarations or system font definitions."
21
+ },
22
+ {
23
+ "pattern": "\\.([a-zA-Z_][a-zA-Z0-9_-]*)",
24
+ "captureGroup": 1,
25
+ "kind": "class-reference",
26
+ "description": "Class name reference in selectors. Can be traced across HTML class attributes and other CSS rules."
27
+ },
28
+ {
29
+ "pattern": "#([a-zA-Z_][a-zA-Z0-9_-]*)",
30
+ "captureGroup": 1,
31
+ "kind": "id-reference",
32
+ "description": "ID reference in selectors. Links to HTML elements with matching id attribute."
33
+ },
34
+ {
35
+ "pattern": "@layer\\s+([a-zA-Z_][a-zA-Z0-9_-]*(?:\\s*,\\s*[a-zA-Z_][a-zA-Z0-9_-]*)*)",
36
+ "captureGroup": 1,
37
+ "kind": "layer-reference",
38
+ "description": "Cascade layer reference. Links to the @layer declaration that establishes the layer ordering."
39
+ },
40
+ {
41
+ "pattern": "counter-(?:increment|reset|set)\\s*:\\s*([a-zA-Z_][a-zA-Z0-9_-]*)",
42
+ "captureGroup": 1,
43
+ "kind": "counter-reference",
44
+ "description": "CSS counter reference. Links counter manipulations (increment, reset, set) to counter() and counters() function usage."
45
+ },
46
+ {
47
+ "pattern": "counter\\(\\s*([a-zA-Z_][a-zA-Z0-9_-]*)",
48
+ "captureGroup": 1,
49
+ "kind": "counter-usage",
50
+ "description": "CSS counter() function reference. Displays the current value of a named counter."
51
+ },
52
+ {
53
+ "pattern": "grid-(?:area|row|column)\\s*:\\s*([a-zA-Z_][a-zA-Z0-9_-]*)",
54
+ "captureGroup": 1,
55
+ "kind": "grid-area-reference",
56
+ "description": "Grid area name reference. Links to grid-template-areas definitions in the parent grid container."
57
+ },
58
+ {
59
+ "pattern": "will-change\\s*:\\s*([a-z-]+(?:\\s*,\\s*[a-z-]+)*)",
60
+ "captureGroup": 1,
61
+ "kind": "property-reference",
62
+ "description": "will-change property reference. Indicates which properties are expected to change for browser optimization hints."
63
+ }
64
+ ]
65
+ }
@@ -0,0 +1,59 @@
1
+ {
2
+ "language": "tailwindcss",
3
+ "referencePatterns": [
4
+ {
5
+ "pattern": "@apply\\s+([\\w:-]+)",
6
+ "captureGroup": 1,
7
+ "kind": "reference",
8
+ "description": "References to Tailwind utility classes used within @apply directives."
9
+ },
10
+ {
11
+ "pattern": "theme\\(['\"]([^'\"]+)['\"]\\)",
12
+ "captureGroup": 1,
13
+ "kind": "reference",
14
+ "description": "References to Tailwind theme configuration values via theme() function."
15
+ },
16
+ {
17
+ "pattern": "screen\\(['\"]([^'\"]+)['\"]\\)",
18
+ "captureGroup": 1,
19
+ "kind": "reference",
20
+ "description": "References to responsive breakpoints via screen() function."
21
+ },
22
+ {
23
+ "pattern": "@layer\\s+(base|components|utilities)",
24
+ "captureGroup": 1,
25
+ "kind": "reference",
26
+ "description": "References to Tailwind layer names in @layer directives."
27
+ },
28
+ {
29
+ "pattern": "@tailwind\\s+(base|components|utilities|variants)",
30
+ "captureGroup": 1,
31
+ "kind": "reference",
32
+ "description": "References to Tailwind layer names in @tailwind injection directives."
33
+ },
34
+ {
35
+ "pattern": "@config\\s+['\"]([^'\"]+)['\"]",
36
+ "captureGroup": 1,
37
+ "kind": "reference",
38
+ "description": "References to Tailwind configuration file paths."
39
+ },
40
+ {
41
+ "pattern": "class\\s*=\\s*[\"']([^\"']+)[\"']",
42
+ "captureGroup": 1,
43
+ "kind": "reference",
44
+ "description": "References to Tailwind utility classes in HTML/JSX class attributes."
45
+ },
46
+ {
47
+ "pattern": "className\\s*=\\s*[{\"']([^}\"']+)[}\"']",
48
+ "captureGroup": 1,
49
+ "kind": "reference",
50
+ "description": "References to Tailwind utility classes in React className attributes."
51
+ },
52
+ {
53
+ "pattern": "extend:\\s*\\{[^}]*([\\w]+):",
54
+ "captureGroup": 1,
55
+ "kind": "reference",
56
+ "description": "References to theme keys being extended in tailwind.config.js."
57
+ }
58
+ ]
59
+ }
@@ -0,0 +1,91 @@
1
+ {
2
+ "language": "css",
3
+ "renamePatterns": [
4
+ {
5
+ "pattern": "--(([a-zA-Z_][a-zA-Z0-9_-]*))\\s*:",
6
+ "captureGroup": 1,
7
+ "kind": "variable",
8
+ "description": "Rename CSS custom property definition. Updates the --name declaration and all var(--name) references across stylesheets."
9
+ },
10
+ {
11
+ "pattern": "var\\(\\s*--(([a-zA-Z_][a-zA-Z0-9_-]*))\\s*(?:,\\s*[^)]*)?\\)",
12
+ "captureGroup": 1,
13
+ "kind": "variable-reference",
14
+ "description": "Rename CSS custom property from a var() reference. Propagates the rename to the definition and all other references."
15
+ },
16
+ {
17
+ "pattern": "\\.([a-zA-Z_][a-zA-Z0-9_-]*)\\s*(?=[{,>+~:\\[\\s])",
18
+ "captureGroup": 1,
19
+ "kind": "class",
20
+ "description": "Rename CSS class selector. Updates the class name in CSS rules and optionally in HTML class attributes."
21
+ },
22
+ {
23
+ "pattern": "#([a-zA-Z_][a-zA-Z0-9_-]*)\\s*(?=[{,>+~:\\[\\s])",
24
+ "captureGroup": 1,
25
+ "kind": "id",
26
+ "description": "Rename CSS ID selector. Updates the ID name in CSS rules and optionally in HTML id attributes."
27
+ },
28
+ {
29
+ "pattern": "@keyframes\\s+([a-zA-Z_][a-zA-Z0-9_-]*)\\s*\\{",
30
+ "captureGroup": 1,
31
+ "kind": "animation",
32
+ "description": "Rename @keyframes animation. Updates the keyframes name and all animation-name property references."
33
+ },
34
+ {
35
+ "pattern": "animation(?:-name)?\\s*:\\s*([a-zA-Z_][a-zA-Z0-9_-]*)",
36
+ "captureGroup": 1,
37
+ "kind": "animation-reference",
38
+ "description": "Rename animation name from a usage site. Propagates to the @keyframes definition and all other references."
39
+ },
40
+ {
41
+ "pattern": "@layer\\s+([a-zA-Z_][a-zA-Z0-9_-]*)\\s*[{;]",
42
+ "captureGroup": 1,
43
+ "kind": "layer",
44
+ "description": "Rename cascade layer. Updates the @layer declaration and all layer references including @import layer() assignments."
45
+ },
46
+ {
47
+ "pattern": "@font-face\\s*\\{[^}]*font-family\\s*:\\s*['\"]?([^'\";}]+)",
48
+ "captureGroup": 1,
49
+ "kind": "font",
50
+ "description": "Rename @font-face font-family. Updates the font-face declaration and all font-family property references."
51
+ },
52
+ {
53
+ "pattern": "@counter-style\\s+([a-zA-Z_][a-zA-Z0-9_-]*)\\s*\\{",
54
+ "captureGroup": 1,
55
+ "kind": "counter-style",
56
+ "description": "Rename @counter-style. Updates the counter style definition and all list-style-type references."
57
+ }
58
+ ],
59
+ "prepareRenamePatterns": [
60
+ {
61
+ "pattern": "--(([a-zA-Z_][a-zA-Z0-9_-]*))",
62
+ "captureGroup": 1,
63
+ "description": "Identifies a CSS custom property name (without the -- prefix) as a valid rename target."
64
+ },
65
+ {
66
+ "pattern": "\\.([a-zA-Z_][a-zA-Z0-9_-]*)",
67
+ "captureGroup": 1,
68
+ "description": "Identifies a CSS class name (without the . prefix) as a valid rename target."
69
+ },
70
+ {
71
+ "pattern": "#([a-zA-Z_][a-zA-Z0-9_-]*)",
72
+ "captureGroup": 1,
73
+ "description": "Identifies a CSS ID name (without the # prefix) as a valid rename target."
74
+ },
75
+ {
76
+ "pattern": "@keyframes\\s+([a-zA-Z_][a-zA-Z0-9_-]*)",
77
+ "captureGroup": 1,
78
+ "description": "Identifies a @keyframes animation name as a valid rename target."
79
+ },
80
+ {
81
+ "pattern": "@layer\\s+([a-zA-Z_][a-zA-Z0-9_-]*)",
82
+ "captureGroup": 1,
83
+ "description": "Identifies a cascade layer name as a valid rename target."
84
+ },
85
+ {
86
+ "pattern": "@counter-style\\s+([a-zA-Z_][a-zA-Z0-9_-]*)",
87
+ "captureGroup": 1,
88
+ "description": "Identifies a @counter-style name as a valid rename target."
89
+ }
90
+ ]
91
+ }