@enjoys/context-engine 1.2.0 → 1.4.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 (270) hide show
  1. package/data/codeActions/angular.json +126 -0
  2. package/data/codeActions/css.json +111 -0
  3. package/data/codeActions/nestjs.json +124 -0
  4. package/data/codeActions/nextjs.json +198 -0
  5. package/data/codeActions/react.json +154 -0
  6. package/data/codeActions/shadcn.json +112 -0
  7. package/data/codeActions/shell.json +169 -26
  8. package/data/codeActions/tailwindcss.json +76 -0
  9. package/data/codeLens/angular.json +22 -0
  10. package/data/codeLens/css.json +68 -0
  11. package/data/codeLens/nestjs.json +21 -0
  12. package/data/codeLens/nextjs.json +117 -0
  13. package/data/codeLens/react.json +89 -0
  14. package/data/codeLens/shadcn.json +89 -0
  15. package/data/codeLens/shell.json +59 -17
  16. package/data/codeLens/tailwindcss.json +103 -0
  17. package/data/color/angular.json +21 -0
  18. package/data/color/css.json +124 -0
  19. package/data/color/nestjs.json +18 -0
  20. package/data/color/nextjs.json +22 -0
  21. package/data/color/react.json +93 -0
  22. package/data/color/shadcn.json +66 -0
  23. package/data/color/shell.json +106 -80
  24. package/data/color/tailwindcss.json +53 -0
  25. package/data/commands/angular.json +312 -0
  26. package/data/commands/css.json +41 -0
  27. package/data/commands/manifest.json +734 -727
  28. package/data/commands/nestjs.json +273 -0
  29. package/data/commands/nextjs.json +123 -0
  30. package/data/commands/react.json +210 -0
  31. package/data/commands/shadcn.json +410 -0
  32. package/data/commands/shell.json +571 -41
  33. package/data/commands/tailwindcss.json +53 -0
  34. package/data/completion/angular.json +1490 -0
  35. package/data/completion/css.json +1176 -0
  36. package/data/completion/javascript.json +27 -0
  37. package/data/completion/nestjs.json +1454 -0
  38. package/data/completion/nextjs.json +1373 -0
  39. package/data/completion/react.json +1319 -0
  40. package/data/completion/redis-cli.json +1 -1
  41. package/data/completion/shadcn.json +1202 -0
  42. package/data/completion/shell.json +2446 -510
  43. package/data/completion/tailwindcss.json +284 -0
  44. package/data/completion/typescript.json +27 -0
  45. package/data/declaration/angular.json +46 -0
  46. package/data/declaration/css.json +59 -0
  47. package/data/declaration/nestjs.json +47 -0
  48. package/data/declaration/nextjs.json +274 -0
  49. package/data/declaration/react.json +199 -0
  50. package/data/declaration/shadcn.json +211 -0
  51. package/data/declaration/shell.json +343 -24
  52. package/data/declaration/tailwindcss.json +137 -0
  53. package/data/definition/angular.json +670 -0
  54. package/data/definition/css.json +115 -0
  55. package/data/definition/nestjs.json +684 -0
  56. package/data/definition/nextjs.json +439 -0
  57. package/data/definition/react.json +397 -0
  58. package/data/definition/redis-cli.json +1 -1
  59. package/data/definition/shadcn.json +99 -0
  60. package/data/definition/shell.json +820 -0
  61. package/data/definition/tailwindcss.json +115 -0
  62. package/data/documentHighlight/angular.json +414 -0
  63. package/data/documentHighlight/css.json +125 -0
  64. package/data/documentHighlight/nestjs.json +115 -0
  65. package/data/documentHighlight/nextjs.json +212 -0
  66. package/data/documentHighlight/react.json +119 -0
  67. package/data/documentHighlight/shadcn.json +168 -0
  68. package/data/documentHighlight/shell.json +664 -334
  69. package/data/documentHighlight/tailwindcss.json +160 -0
  70. package/data/documentRangeFormatting/angular.json +45 -0
  71. package/data/documentRangeFormatting/css.json +101 -0
  72. package/data/documentRangeFormatting/nestjs.json +17 -0
  73. package/data/documentRangeFormatting/nextjs.json +17 -0
  74. package/data/documentRangeFormatting/react.json +78 -0
  75. package/data/documentRangeFormatting/shadcn.json +45 -0
  76. package/data/documentRangeFormatting/shell.json +120 -53
  77. package/data/documentRangeFormatting/tailwindcss.json +55 -0
  78. package/data/documentSymbol/angular.json +180 -0
  79. package/data/documentSymbol/css.json +96 -0
  80. package/data/documentSymbol/nestjs.json +152 -0
  81. package/data/documentSymbol/nextjs.json +159 -0
  82. package/data/documentSymbol/react.json +145 -0
  83. package/data/documentSymbol/shadcn.json +131 -0
  84. package/data/documentSymbol/shell.json +166 -26
  85. package/data/documentSymbol/tailwindcss.json +110 -0
  86. package/data/foldingRange/angular.json +99 -0
  87. package/data/foldingRange/css.json +66 -0
  88. package/data/foldingRange/nestjs.json +26 -0
  89. package/data/foldingRange/nextjs.json +26 -0
  90. package/data/foldingRange/react.json +120 -0
  91. package/data/foldingRange/shadcn.json +93 -0
  92. package/data/foldingRange/shell.json +106 -46
  93. package/data/foldingRange/tailwindcss.json +60 -0
  94. package/data/formatting/angular.json +21 -0
  95. package/data/formatting/css.json +73 -0
  96. package/data/formatting/nestjs.json +23 -0
  97. package/data/formatting/nextjs.json +23 -0
  98. package/data/formatting/react.json +71 -0
  99. package/data/formatting/shadcn.json +61 -0
  100. package/data/formatting/shell.json +103 -19
  101. package/data/formatting/tailwindcss.json +48 -0
  102. package/data/hover/angular.json +455 -0
  103. package/data/hover/css.json +300 -0
  104. package/data/hover/nestjs.json +296 -0
  105. package/data/hover/nextjs.json +305 -0
  106. package/data/hover/react.json +173 -0
  107. package/data/hover/redis-cli.json +1 -1
  108. package/data/hover/shadcn.json +450 -0
  109. package/data/hover/shell.json +684 -75
  110. package/data/hover/tailwindcss.json +968 -0
  111. package/data/implementation/angular.json +22 -0
  112. package/data/implementation/css.json +65 -0
  113. package/data/implementation/nestjs.json +24 -0
  114. package/data/implementation/nextjs.json +137 -0
  115. package/data/implementation/react.json +125 -0
  116. package/data/implementation/shadcn.json +89 -0
  117. package/data/implementation/shell.json +59 -3
  118. package/data/implementation/tailwindcss.json +59 -0
  119. package/data/inlayHints/angular.json +24 -0
  120. package/data/inlayHints/css.json +87 -0
  121. package/data/inlayHints/nestjs.json +24 -0
  122. package/data/inlayHints/nextjs.json +143 -0
  123. package/data/inlayHints/react.json +177 -0
  124. package/data/inlayHints/shadcn.json +109 -0
  125. package/data/inlayHints/shell.json +223 -35
  126. package/data/inlayHints/tailwindcss.json +111 -0
  127. package/data/inlineCompletions/angular.json +135 -0
  128. package/data/inlineCompletions/css.json +125 -0
  129. package/data/inlineCompletions/javascript.json +12 -0
  130. package/data/inlineCompletions/nestjs.json +25 -0
  131. package/data/inlineCompletions/nextjs.json +179 -0
  132. package/data/inlineCompletions/react.json +203 -0
  133. package/data/inlineCompletions/shadcn.json +115 -0
  134. package/data/inlineCompletions/shell.json +185 -35
  135. package/data/inlineCompletions/tailwindcss.json +411 -0
  136. package/data/inlineCompletions/typescript.json +12 -0
  137. package/data/linkedEditingRange/angular.json +23 -0
  138. package/data/linkedEditingRange/css.json +40 -0
  139. package/data/linkedEditingRange/nestjs.json +10 -0
  140. package/data/linkedEditingRange/nextjs.json +11 -0
  141. package/data/linkedEditingRange/react.json +75 -0
  142. package/data/linkedEditingRange/shadcn.json +23 -0
  143. package/data/linkedEditingRange/shell.json +25 -25
  144. package/data/linkedEditingRange/tailwindcss.json +30 -0
  145. package/data/links/angular.json +95 -0
  146. package/data/links/css.json +55 -0
  147. package/data/links/nestjs.json +130 -0
  148. package/data/links/nextjs.json +91 -0
  149. package/data/links/react.json +75 -0
  150. package/data/links/shadcn.json +98 -0
  151. package/data/links/shell.json +56 -0
  152. package/data/links/tailwindcss.json +65 -0
  153. package/data/manifest.json +399 -150
  154. package/data/onTypeFormatting/angular.json +14 -0
  155. package/data/onTypeFormatting/css.json +82 -0
  156. package/data/onTypeFormatting/nestjs.json +16 -0
  157. package/data/onTypeFormatting/nextjs.json +17 -0
  158. package/data/onTypeFormatting/react.json +127 -0
  159. package/data/onTypeFormatting/shadcn.json +54 -0
  160. package/data/onTypeFormatting/shell.json +72 -68
  161. package/data/onTypeFormatting/tailwindcss.json +63 -0
  162. package/data/rangeSemanticTokens/angular.json +140 -0
  163. package/data/rangeSemanticTokens/css.json +125 -0
  164. package/data/rangeSemanticTokens/nestjs.json +27 -0
  165. package/data/rangeSemanticTokens/nextjs.json +28 -0
  166. package/data/rangeSemanticTokens/react.json +216 -0
  167. package/data/rangeSemanticTokens/shadcn.json +140 -0
  168. package/data/rangeSemanticTokens/shell.json +247 -69
  169. package/data/rangeSemanticTokens/tailwindcss.json +186 -0
  170. package/data/references/angular.json +26 -0
  171. package/data/references/css.json +65 -0
  172. package/data/references/nestjs.json +24 -0
  173. package/data/references/nextjs.json +178 -0
  174. package/data/references/react.json +192 -0
  175. package/data/references/shadcn.json +101 -0
  176. package/data/references/shell.json +323 -92
  177. package/data/references/tailwindcss.json +125 -0
  178. package/data/rename/angular.json +131 -0
  179. package/data/rename/css.json +91 -0
  180. package/data/rename/nestjs.json +32 -0
  181. package/data/rename/nextjs.json +31 -0
  182. package/data/rename/react.json +88 -0
  183. package/data/rename/shadcn.json +79 -0
  184. package/data/rename/shell.json +101 -31
  185. package/data/rename/tailwindcss.json +58 -0
  186. package/data/selectionRange/angular.json +95 -0
  187. package/data/selectionRange/css.json +55 -0
  188. package/data/selectionRange/nestjs.json +21 -0
  189. package/data/selectionRange/nextjs.json +22 -0
  190. package/data/selectionRange/react.json +87 -0
  191. package/data/selectionRange/shadcn.json +89 -0
  192. package/data/selectionRange/shell.json +65 -35
  193. package/data/selectionRange/tailwindcss.json +35 -0
  194. package/data/semanticTokens/angular.json +198 -0
  195. package/data/semanticTokens/css.json +107 -0
  196. package/data/semanticTokens/nestjs.json +35 -0
  197. package/data/semanticTokens/nextjs.json +38 -0
  198. package/data/semanticTokens/react.json +215 -0
  199. package/data/semanticTokens/shadcn.json +180 -0
  200. package/data/semanticTokens/shell.json +238 -65
  201. package/data/semanticTokens/tailwindcss.json +161 -0
  202. package/data/signatureHelp/angular.json +182 -0
  203. package/data/signatureHelp/css.json +137 -0
  204. package/data/signatureHelp/nestjs.json +128 -0
  205. package/data/signatureHelp/nextjs.json +127 -0
  206. package/data/signatureHelp/react.json +281 -0
  207. package/data/signatureHelp/shadcn.json +237 -0
  208. package/data/signatureHelp/shell.json +797 -104
  209. package/data/signatureHelp/tailwindcss.json +64 -0
  210. package/data/typeDefinition/angular.json +362 -0
  211. package/data/typeDefinition/css.json +53 -0
  212. package/data/typeDefinition/nestjs.json +334 -0
  213. package/data/typeDefinition/nextjs.json +285 -0
  214. package/data/typeDefinition/react.json +236 -0
  215. package/data/typeDefinition/shadcn.json +292 -0
  216. package/data/typeDefinition/shell.json +104 -40
  217. package/data/typeDefinition/tailwindcss.json +47 -0
  218. package/package.json +1 -1
  219. package/data/codeActions/bash.json +0 -169
  220. package/data/codeActions/zsh.json +0 -49
  221. package/data/codeLens/bash.json +0 -75
  222. package/data/codeLens/zsh.json +0 -19
  223. package/data/color/bash.json +0 -100
  224. package/data/color/zsh.json +0 -80
  225. package/data/commands/bash.json +0 -102
  226. package/data/commands/zsh.json +0 -166
  227. package/data/completion/bash.json +0 -1184
  228. package/data/completion/zsh.json +0 -973
  229. package/data/declaration/bash.json +0 -301
  230. package/data/declaration/zsh.json +0 -205
  231. package/data/definition/bash.json +0 -565
  232. package/data/definition/zsh.json +0 -350
  233. package/data/documentHighlight/bash.json +0 -393
  234. package/data/documentHighlight/zsh.json +0 -266
  235. package/data/documentRangeFormatting/bash.json +0 -41
  236. package/data/documentRangeFormatting/zsh.json +0 -59
  237. package/data/documentSymbol/bash.json +0 -124
  238. package/data/documentSymbol/zsh.json +0 -26
  239. package/data/foldingRange/bash.json +0 -76
  240. package/data/foldingRange/zsh.json +0 -46
  241. package/data/formatting/bash.json +0 -88
  242. package/data/formatting/zsh.json +0 -28
  243. package/data/hover/bash.json +0 -579
  244. package/data/hover/zsh.json +0 -96
  245. package/data/implementation/bash.json +0 -44
  246. package/data/implementation/zsh.json +0 -41
  247. package/data/inlayHints/bash.json +0 -207
  248. package/data/inlayHints/zsh.json +0 -43
  249. package/data/inlineCompletions/bash.json +0 -155
  250. package/data/inlineCompletions/zsh.json +0 -17
  251. package/data/linkedEditingRange/bash.json +0 -25
  252. package/data/linkedEditingRange/zsh.json +0 -25
  253. package/data/links/bash.json +0 -56
  254. package/data/links/zsh.json +0 -15
  255. package/data/onTypeFormatting/bash.json +0 -68
  256. package/data/onTypeFormatting/zsh.json +0 -68
  257. package/data/rangeSemanticTokens/bash.json +0 -90
  258. package/data/rangeSemanticTokens/zsh.json +0 -76
  259. package/data/references/bash.json +0 -221
  260. package/data/references/zsh.json +0 -166
  261. package/data/rename/bash.json +0 -37
  262. package/data/rename/zsh.json +0 -31
  263. package/data/selectionRange/bash.json +0 -35
  264. package/data/selectionRange/zsh.json +0 -35
  265. package/data/semanticTokens/bash.json +0 -71
  266. package/data/semanticTokens/zsh.json +0 -71
  267. package/data/signatureHelp/bash.json +0 -111
  268. package/data/signatureHelp/zsh.json +0 -118
  269. package/data/typeDefinition/bash.json +0 -95
  270. package/data/typeDefinition/zsh.json +0 -40
@@ -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,27 @@
1
+ {
2
+ "language": "nestjs",
3
+ "rangeSemanticTokens": {
4
+ "tokenTypes": ["namespace", "type", "class", "enum", "interface", "struct", "typeParameter", "parameter", "variable", "property", "enumMember", "event", "function", "method", "macro", "keyword", "modifier", "comment", "string", "number", "regexp", "operator", "decorator"],
5
+ "tokenModifiers": ["declaration", "definition", "readonly", "static", "deprecated", "async", "modification", "documentation", "defaultLibrary", "abstract"],
6
+ "tokenLegend": {
7
+ "tokenTypes": ["namespace", "type", "class", "enum", "interface", "struct", "typeParameter", "parameter", "variable", "property", "enumMember", "event", "function", "method", "macro", "keyword", "modifier", "comment", "string", "number", "regexp", "operator", "decorator"],
8
+ "tokenModifiers": ["declaration", "definition", "readonly", "static", "deprecated", "async", "modification", "documentation", "defaultLibrary", "abstract"]
9
+ },
10
+ "rangeTokenRules": [
11
+ { "pattern": "\\b(import|export|from|default|as|const|let|var|function|return|if|else|for|while|switch|case|break|continue|throw|try|catch|finally|new|typeof|instanceof|async|await|class|extends|this|implements|abstract|private|protected|public|readonly)\\b", "tokenType": "keyword", "tokenModifiers": [], "description": "Keywords" },
12
+ { "pattern": "@(Controller|Injectable|Module|Get|Post|Put|Patch|Delete|Body|Param|Query|Headers|UseGuards|UseInterceptors|UsePipes|UseFilters|Inject|Catch|SetMetadata)\\b", "tokenType": "decorator", "tokenModifiers": ["defaultLibrary"], "description": "NestJS decorators" },
13
+ { "pattern": "@(Entity|Column|PrimaryGeneratedColumn|ManyToOne|OneToMany|ManyToMany|OneToOne|JoinColumn)\\b", "tokenType": "decorator", "tokenModifiers": ["defaultLibrary"], "description": "TypeORM decorators" },
14
+ { "pattern": "@(IsString|IsNumber|IsNotEmpty|IsOptional|IsEmail|IsArray|IsEnum|ValidateNested)\\b", "tokenType": "decorator", "tokenModifiers": ["defaultLibrary"], "description": "Validator decorators" },
15
+ { "pattern": "\\b(NestFactory|ModuleRef|ConfigModule|TypeOrmModule|JwtModule|ValidationPipe)\\b", "tokenType": "class", "tokenModifiers": ["defaultLibrary"], "description": "NestJS classes" },
16
+ { "pattern": "\\b(HttpException|BadRequestException|UnauthorizedException|ForbiddenException|NotFoundException)\\b", "tokenType": "class", "tokenModifiers": ["defaultLibrary"], "description": "Exceptions" },
17
+ { "pattern": "\\b(CanActivate|PipeTransform|NestInterceptor|ExceptionFilter|NestMiddleware|ExecutionContext|ArgumentsHost)\\b", "tokenType": "interface", "tokenModifiers": ["defaultLibrary"], "description": "Interfaces" },
18
+ { "pattern": "\\bclass\\s+(\\w+)", "tokenType": "class", "tokenModifiers": ["declaration"], "description": "Class declarations" },
19
+ { "pattern": "\\binterface\\s+(\\w+)", "tokenType": "interface", "tokenModifiers": ["declaration"], "description": "Interface declarations" },
20
+ { "pattern": "\\benum\\s+(\\w+)", "tokenType": "enum", "tokenModifiers": ["declaration"], "description": "Enum declarations" },
21
+ { "pattern": "(?:'[^']*'|\"[^\"]*\"|`[^`]*`)", "tokenType": "string", "tokenModifiers": [], "description": "Strings" },
22
+ { "pattern": "\\b\\d+(\\.\\d+)?\\b", "tokenType": "number", "tokenModifiers": [], "description": "Numbers" },
23
+ { "pattern": "(?:^|\\s)\\/\\/.*", "tokenType": "comment", "tokenModifiers": [], "description": "Comments" },
24
+ { "pattern": "\\b(describe|it|expect|beforeEach|afterEach|Test)\\b", "tokenType": "function", "tokenModifiers": ["defaultLibrary"], "description": "Testing" }
25
+ ]
26
+ }
27
+ }
@@ -0,0 +1,28 @@
1
+ {
2
+ "language": "nextjs",
3
+ "rangeSemanticTokens": {
4
+ "tokenTypes": ["namespace", "type", "class", "enum", "interface", "struct", "typeParameter", "parameter", "variable", "property", "enumMember", "event", "function", "method", "macro", "keyword", "modifier", "comment", "string", "number", "regexp", "operator", "decorator"],
5
+ "tokenModifiers": ["declaration", "definition", "readonly", "static", "deprecated", "async", "modification", "documentation", "defaultLibrary", "abstract"],
6
+ "tokenLegend": {
7
+ "tokenTypes": ["namespace", "type", "class", "enum", "interface", "struct", "typeParameter", "parameter", "variable", "property", "enumMember", "event", "function", "method", "macro", "keyword", "modifier", "comment", "string", "number", "regexp", "operator", "decorator"],
8
+ "tokenModifiers": ["declaration", "definition", "readonly", "static", "deprecated", "async", "modification", "documentation", "defaultLibrary", "abstract"]
9
+ },
10
+ "rangeTokenRules": [
11
+ { "pattern": "\\b(import|export|from|default|as|const|let|var|function|return|if|else|for|while|switch|case|break|continue|throw|try|catch|finally|new|typeof|instanceof|async|await|class|extends|this)\\b", "tokenType": "keyword", "tokenModifiers": [], "description": "Keywords" },
12
+ { "pattern": "\\b(use(?:State|Effect|Context|Reducer|Callback|Memo|Ref|Router|Pathname|SearchParams|Params|FormStatus|FormState|Optimistic))\\b", "tokenType": "function", "tokenModifiers": ["defaultLibrary"], "description": "Hooks" },
13
+ { "pattern": "\\b(Image|Link|Script|Head)\\b", "tokenType": "class", "tokenModifiers": ["defaultLibrary"], "description": "Next.js components" },
14
+ { "pattern": "\\b(NextRequest|NextResponse|NextPage|Metadata|Viewport)\\b", "tokenType": "type", "tokenModifiers": ["defaultLibrary"], "description": "Next.js types" },
15
+ { "pattern": "\\b(redirect|notFound|revalidatePath|revalidateTag|headers|cookies|fetch)\\b", "tokenType": "function", "tokenModifiers": ["defaultLibrary"], "description": "Server functions" },
16
+ { "pattern": "\"use (client|server)\"", "tokenType": "macro", "tokenModifiers": [], "description": "Directives" },
17
+ { "pattern": "\\bexport\\s+async\\s+function\\s+(GET|POST|PUT|PATCH|DELETE)\\b", "tokenType": "method", "tokenModifiers": ["async"], "description": "Route handlers" },
18
+ { "pattern": "\\bexport\\s+const\\s+(metadata|revalidate|dynamic|runtime)\\b", "tokenType": "variable", "tokenModifiers": ["readonly"], "description": "Config exports" },
19
+ { "pattern": "<([A-Z][a-zA-Z0-9.]*)", "tokenType": "class", "tokenModifiers": [], "description": "JSX components" },
20
+ { "pattern": "\\binterface\\s+(\\w+)", "tokenType": "interface", "tokenModifiers": ["declaration"], "description": "Interfaces" },
21
+ { "pattern": "\\btype\\s+(\\w+)\\s*=", "tokenType": "type", "tokenModifiers": ["declaration"], "description": "Type aliases" },
22
+ { "pattern": "\\b(process\\.env\\.\\w+)\\b", "tokenType": "variable", "tokenModifiers": ["readonly"], "description": "Env vars" },
23
+ { "pattern": "(?:'[^']*'|\"[^\"]*\"|`[^`]*`)", "tokenType": "string", "tokenModifiers": [], "description": "Strings" },
24
+ { "pattern": "\\b\\d+(\\.\\d+)?\\b", "tokenType": "number", "tokenModifiers": [], "description": "Numbers" },
25
+ { "pattern": "(?:^|\\s)\\/\\/.*", "tokenType": "comment", "tokenModifiers": [], "description": "Comments" }
26
+ ]
27
+ }
28
+ }
@@ -0,0 +1,216 @@
1
+ {
2
+ "language": "react",
3
+ "rangeSemanticTokens": {
4
+ "rangeScope": "visible",
5
+ "tokenTypes": [
6
+ "namespace",
7
+ "type",
8
+ "class",
9
+ "enum",
10
+ "interface",
11
+ "struct",
12
+ "typeParameter",
13
+ "parameter",
14
+ "variable",
15
+ "property",
16
+ "enumMember",
17
+ "event",
18
+ "function",
19
+ "method",
20
+ "macro",
21
+ "keyword",
22
+ "modifier",
23
+ "comment",
24
+ "string",
25
+ "number",
26
+ "regexp",
27
+ "operator",
28
+ "decorator"
29
+ ],
30
+ "tokenModifiers": [
31
+ "declaration",
32
+ "definition",
33
+ "readonly",
34
+ "static",
35
+ "deprecated",
36
+ "async",
37
+ "modification",
38
+ "documentation",
39
+ "defaultLibrary",
40
+ "local"
41
+ ],
42
+ "semanticRules": [
43
+ {
44
+ "pattern": "(?:React|ReactDOM|ReactDOMServer)",
45
+ "tokenType": "namespace",
46
+ "tokenModifiers": ["defaultLibrary"],
47
+ "description": "React namespace identifiers"
48
+ },
49
+ {
50
+ "pattern": "(?:Component|PureComponent)",
51
+ "tokenType": "class",
52
+ "tokenModifiers": ["defaultLibrary"],
53
+ "description": "React base classes"
54
+ },
55
+ {
56
+ "pattern": "[A-Z][a-zA-Z0-9]*(?=\\s*(?:<[^>]*>)?\\s*(?:=\\s*(?:React\\.)?(?:memo|forwardRef|lazy)\\s*\\(|\\(|:\\s*React\\.FC))",
57
+ "tokenType": "function",
58
+ "tokenModifiers": ["declaration"],
59
+ "description": "React component declarations"
60
+ },
61
+ {
62
+ "pattern": "<([A-Z][a-zA-Z0-9.]*)",
63
+ "tokenType": "class",
64
+ "tokenModifiers": [],
65
+ "description": "JSX component tags in usage"
66
+ },
67
+ {
68
+ "pattern": "<([a-z][a-z0-9-]*)",
69
+ "tokenType": "keyword",
70
+ "tokenModifiers": [],
71
+ "description": "JSX HTML element tags"
72
+ },
73
+ {
74
+ "pattern": "use(?:State|Effect|Context|Reducer|Memo|Callback|Ref|Id|Transition|DeferredValue|SyncExternalStore|InsertionEffect|LayoutEffect|ImperativeHandle|DebugValue|OptimisticState|FormStatus|ActionState)",
75
+ "tokenType": "function",
76
+ "tokenModifiers": ["defaultLibrary"],
77
+ "description": "React built-in hooks"
78
+ },
79
+ {
80
+ "pattern": "use[A-Z][a-zA-Z0-9]*",
81
+ "tokenType": "function",
82
+ "tokenModifiers": [],
83
+ "description": "Custom hooks"
84
+ },
85
+ {
86
+ "pattern": "(?:className|style|key|ref|dangerouslySetInnerHTML|suppressHydrationWarning|suppressContentEditableWarning)(?=\\s*=)",
87
+ "tokenType": "property",
88
+ "tokenModifiers": ["defaultLibrary"],
89
+ "description": "React-specific JSX attributes"
90
+ },
91
+ {
92
+ "pattern": "(?:on[A-Z][a-zA-Z]*)(?=\\s*=)",
93
+ "tokenType": "event",
94
+ "tokenModifiers": [],
95
+ "description": "Event handler props"
96
+ },
97
+ {
98
+ "pattern": "(?:aria-[a-z-]+|data-[a-z-]+)(?=\\s*=)",
99
+ "tokenType": "property",
100
+ "tokenModifiers": [],
101
+ "description": "ARIA and data attributes"
102
+ },
103
+ {
104
+ "pattern": "(?:interface|type)\\s+([A-Z][a-zA-Z0-9]*(?:Props|State|Context|Config|Options|Params|Result|Data|Response|Payload))",
105
+ "tokenType": "interface",
106
+ "tokenModifiers": ["declaration"],
107
+ "description": "React-related type/interface declarations"
108
+ },
109
+ {
110
+ "pattern": "(?:React\\.)?(?:FC|FunctionComponent|ComponentType|ReactNode|ReactElement|JSX\\.Element|PropsWithChildren|HTMLAttributes|RefObject|MutableRefObject|Dispatch|SetStateAction|Context|Reducer|CSSProperties)",
111
+ "tokenType": "type",
112
+ "tokenModifiers": ["defaultLibrary"],
113
+ "description": "React built-in types"
114
+ },
115
+ {
116
+ "pattern": "(?:React\\.)?(?:ChangeEvent|FormEvent|MouseEvent|KeyboardEvent|FocusEvent|TouchEvent|PointerEvent|DragEvent|ClipboardEvent|AnimationEvent|TransitionEvent|SyntheticEvent)",
117
+ "tokenType": "type",
118
+ "tokenModifiers": ["defaultLibrary"],
119
+ "description": "React event types"
120
+ },
121
+ {
122
+ "pattern": "(?:Fragment|StrictMode|Suspense|Profiler)",
123
+ "tokenType": "class",
124
+ "tokenModifiers": ["defaultLibrary"],
125
+ "description": "React built-in components"
126
+ },
127
+ {
128
+ "pattern": "(?:createContext|createElement|cloneElement|createPortal|createRoot|hydrateRoot|forwardRef|memo|lazy|startTransition|flushSync|act)",
129
+ "tokenType": "function",
130
+ "tokenModifiers": ["defaultLibrary"],
131
+ "description": "React API functions"
132
+ },
133
+ {
134
+ "pattern": "handle[A-Z][a-zA-Z0-9]*",
135
+ "tokenType": "function",
136
+ "tokenModifiers": ["local"],
137
+ "description": "Event handler functions"
138
+ },
139
+ {
140
+ "pattern": "(?:render|componentDidMount|componentDidUpdate|componentWillUnmount|shouldComponentUpdate|getSnapshotBeforeUpdate|getDerivedStateFromProps|getDerivedStateFromError|componentDidCatch)",
141
+ "tokenType": "method",
142
+ "tokenModifiers": [],
143
+ "description": "React lifecycle methods"
144
+ },
145
+ {
146
+ "pattern": "(?:children|props|state|context|refs|defaultProps|displayName|propTypes|contextType|contextTypes)",
147
+ "tokenType": "property",
148
+ "tokenModifiers": ["defaultLibrary"],
149
+ "description": "React component properties"
150
+ },
151
+ {
152
+ "pattern": "(?:dispatch|setState|forceUpdate)",
153
+ "tokenType": "method",
154
+ "tokenModifiers": [],
155
+ "description": "State update methods"
156
+ },
157
+ {
158
+ "pattern": "(?:Children\\.map|Children\\.forEach|Children\\.count|Children\\.only|Children\\.toArray)",
159
+ "tokenType": "method",
160
+ "tokenModifiers": ["defaultLibrary"],
161
+ "description": "React.Children utility methods"
162
+ },
163
+ {
164
+ "pattern": "(?:isValidElement|cloneElement|createElement)",
165
+ "tokenType": "function",
166
+ "tokenModifiers": ["defaultLibrary"],
167
+ "description": "React element utility functions"
168
+ },
169
+ {
170
+ "pattern": "\\b(?:const|let|var)\\s+([A-Z_][A-Z0-9_]*)\\s*=",
171
+ "tokenType": "variable",
172
+ "tokenModifiers": ["readonly"],
173
+ "description": "Constant declarations (UPPER_CASE)"
174
+ }
175
+ ],
176
+ "legend": {
177
+ "tokenTypes": [
178
+ "namespace",
179
+ "type",
180
+ "class",
181
+ "enum",
182
+ "interface",
183
+ "struct",
184
+ "typeParameter",
185
+ "parameter",
186
+ "variable",
187
+ "property",
188
+ "enumMember",
189
+ "event",
190
+ "function",
191
+ "method",
192
+ "macro",
193
+ "keyword",
194
+ "modifier",
195
+ "comment",
196
+ "string",
197
+ "number",
198
+ "regexp",
199
+ "operator",
200
+ "decorator"
201
+ ],
202
+ "tokenModifiers": [
203
+ "declaration",
204
+ "definition",
205
+ "readonly",
206
+ "static",
207
+ "deprecated",
208
+ "async",
209
+ "modification",
210
+ "documentation",
211
+ "defaultLibrary",
212
+ "local"
213
+ ]
214
+ }
215
+ }
216
+ }
@@ -0,0 +1,140 @@
1
+ {
2
+ "language": "shadcn",
3
+ "tokenTypes": [
4
+ "namespace",
5
+ "type",
6
+ "class",
7
+ "enum",
8
+ "interface",
9
+ "struct",
10
+ "typeParameter",
11
+ "parameter",
12
+ "variable",
13
+ "property",
14
+ "enumMember",
15
+ "event",
16
+ "function",
17
+ "method",
18
+ "macro",
19
+ "keyword",
20
+ "modifier",
21
+ "comment",
22
+ "string",
23
+ "number",
24
+ "regexp",
25
+ "operator",
26
+ "decorator"
27
+ ],
28
+ "tokenModifiers": [
29
+ "declaration",
30
+ "definition",
31
+ "readonly",
32
+ "static",
33
+ "deprecated",
34
+ "abstract",
35
+ "async",
36
+ "modification",
37
+ "documentation",
38
+ "defaultLibrary"
39
+ ],
40
+ "rangeTokenRules": [
41
+ {
42
+ "pattern": "<([A-Z][a-zA-Z0-9]*)[\\s\\S]*?(?:<\\/\\1>|\\/>)",
43
+ "tokenType": "class",
44
+ "tokenModifiers": ["defaultLibrary"],
45
+ "scope": "block",
46
+ "description": "Tokenize shadcn/ui component JSX blocks including children"
47
+ },
48
+ {
49
+ "pattern": "\\bcva\\s*\\([\\s\\S]*?\\)\\s*;?",
50
+ "tokenType": "function",
51
+ "tokenModifiers": ["defaultLibrary", "definition"],
52
+ "scope": "block",
53
+ "description": "Tokenize entire cva() definition blocks with base and variants"
54
+ },
55
+ {
56
+ "pattern": "^import\\s[\\s\\S]*?from\\s+[\"'][^\"']+[\"'];?$",
57
+ "tokenType": "namespace",
58
+ "tokenModifiers": [],
59
+ "scope": "line",
60
+ "description": "Tokenize import statement lines"
61
+ },
62
+ {
63
+ "pattern": "(?:function|const)\\s+([a-z][a-zA-Z0-9]*)\\s*(?:=\\s*(?:async\\s*)?\\([\\s\\S]*?\\)\\s*=>|\\([\\s\\S]*?\\))\\s*\\{[\\s\\S]*?\\}",
64
+ "tokenType": "function",
65
+ "tokenModifiers": ["definition"],
66
+ "scope": "block",
67
+ "description": "Tokenize utility function and custom hook definition blocks"
68
+ },
69
+ {
70
+ "pattern": "(?:const\\s+\\w+Schema|z\\.object)\\s*(?:=\\s*)?\\(?\\s*\\{[\\s\\S]*?\\}\\s*\\)?",
71
+ "tokenType": "variable",
72
+ "tokenModifiers": ["declaration", "readonly"],
73
+ "scope": "block",
74
+ "description": "Tokenize Zod form schema definition blocks"
75
+ },
76
+ {
77
+ "pattern": "(?:const\\s+)?columns\\s*(?::\\s*ColumnDef[^=]*)?=\\s*\\[[\\s\\S]*?\\]",
78
+ "tokenType": "variable",
79
+ "tokenModifiers": ["declaration", "readonly"],
80
+ "scope": "block",
81
+ "description": "Tokenize column definition array blocks for DataTable"
82
+ },
83
+ {
84
+ "pattern": "(?:interface|type)\\s+[A-Z][a-zA-Z0-9]*(?:<[^>]*>)?\\s*(?:=\\s*)?\\{[\\s\\S]*?\\}",
85
+ "tokenType": "interface",
86
+ "tokenModifiers": ["declaration"],
87
+ "scope": "block",
88
+ "description": "Tokenize TypeScript interface and type definition blocks"
89
+ },
90
+ {
91
+ "pattern": "className\\s*=\\s*\\{?\\s*cn\\([\\s\\S]*?\\)\\s*\\}?",
92
+ "tokenType": "function",
93
+ "tokenModifiers": ["defaultLibrary"],
94
+ "scope": "line",
95
+ "description": "Tokenize className expressions using cn() utility"
96
+ },
97
+ {
98
+ "pattern": "variants\\s*:\\s*\\{[\\s\\S]*?\\}(?=\\s*[,}])",
99
+ "tokenType": "property",
100
+ "tokenModifiers": ["definition"],
101
+ "scope": "block",
102
+ "description": "Tokenize variant objects within cva configuration"
103
+ },
104
+ {
105
+ "pattern": "(?<=<[A-Z][a-zA-Z0-9]*)\\s+[a-zA-Z][a-zA-Z0-9]*\\s*=\\s*(?:\\{[^}]*\\}|\"[^\"]*\"|'[^']*')",
106
+ "tokenType": "property",
107
+ "tokenModifiers": [],
108
+ "scope": "line",
109
+ "description": "Tokenize JSX attribute assignments on components"
110
+ },
111
+ {
112
+ "pattern": "React\\.forwardRef\\s*(?:<[^>]*>)?\\s*\\([\\s\\S]*?\\)\\s*;?",
113
+ "tokenType": "function",
114
+ "tokenModifiers": ["defaultLibrary", "definition"],
115
+ "scope": "block",
116
+ "description": "Tokenize React.forwardRef wrapper blocks"
117
+ },
118
+ {
119
+ "pattern": "\\b(?:describe|it|test)\\s*\\([\\s\\S]*?\\}\\s*\\)",
120
+ "tokenType": "function",
121
+ "tokenModifiers": [],
122
+ "scope": "block",
123
+ "description": "Tokenize test describe/it/test blocks"
124
+ },
125
+ {
126
+ "pattern": "<FormField[\\s\\S]*?(?:<\\/FormField>|\\/>)",
127
+ "tokenType": "class",
128
+ "tokenModifiers": ["defaultLibrary"],
129
+ "scope": "block",
130
+ "description": "Tokenize FormField component blocks with render props"
131
+ },
132
+ {
133
+ "pattern": "(?:function|const)\\s+([A-Z][a-zA-Z0-9]*)\\s*(?:=\\s*(?:React\\.forwardRef|\\()|\\()[\\s\\S]*?(?:^\\}\\s*\\)?\\s*;?$)",
134
+ "tokenType": "class",
135
+ "tokenModifiers": ["declaration", "definition"],
136
+ "scope": "block",
137
+ "description": "Tokenize full component definition blocks"
138
+ }
139
+ ]
140
+ }