@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,35 @@
1
+ {
2
+ "language": "nestjs",
3
+ "semanticTokens": {
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
+ "tokenRules": [
11
+ { "pattern": "\\b(import|export|from|default|as|const|let|var|function|return|if|else|for|while|do|switch|case|break|continue|throw|try|catch|finally|new|delete|typeof|instanceof|in|of|void|yield|await|async|class|extends|super|this|static|get|set|implements|abstract|private|protected|public|readonly)\\b", "tokenType": "keyword", "tokenModifiers": [], "description": "Language keywords" },
12
+ { "pattern": "@(Controller|Injectable|Module|Inject|Optional|Global|Catch|UseGuards|UseInterceptors|UsePipes|UseFilters|SetMetadata|Get|Post|Put|Patch|Delete|Head|Options|All|Body|Param|Query|Headers|Req|Res|HttpCode|Header|Redirect|Render|Sse|WebSocketGateway|SubscribeMessage|ConnectedSocket|WebSocketServer|Cron|Interval|Timeout|EventPattern|MessagePattern)\\b", "tokenType": "decorator", "tokenModifiers": ["defaultLibrary"], "description": "NestJS decorators" },
13
+ { "pattern": "@(ApiTags|ApiOperation|ApiResponse|ApiProperty|ApiBody|ApiBearerAuth|ApiQuery|ApiParam|ApiHeader|ApiExcludeEndpoint|ApiProduces|ApiConsumes)\\b", "tokenType": "decorator", "tokenModifiers": ["defaultLibrary"], "description": "Swagger decorators" },
14
+ { "pattern": "@(Entity|Column|PrimaryGeneratedColumn|PrimaryColumn|CreateDateColumn|UpdateDateColumn|DeleteDateColumn|ManyToOne|OneToMany|ManyToMany|OneToOne|JoinColumn|JoinTable|Index|Unique|BeforeInsert|AfterInsert|BeforeUpdate|AfterUpdate)\\b", "tokenType": "decorator", "tokenModifiers": ["defaultLibrary"], "description": "TypeORM decorators" },
15
+ { "pattern": "@(IsString|IsNumber|IsBoolean|IsEmail|IsNotEmpty|IsOptional|IsArray|IsEnum|IsDate|IsUUID|MinLength|MaxLength|Min|Max|Matches|ValidateNested|Type|Transform)\\b", "tokenType": "decorator", "tokenModifiers": ["defaultLibrary"], "description": "class-validator decorators" },
16
+ { "pattern": "\\b(NestFactory|ModuleRef|Reflector|DiscoveryService|LazyModuleLoader)\\b", "tokenType": "class", "tokenModifiers": ["defaultLibrary"], "description": "NestJS core classes" },
17
+ { "pattern": "\\b(ConfigModule|TypeOrmModule|MongooseModule|JwtModule|PassportModule|ThrottlerModule|CacheModule|ScheduleModule|BullModule|EventEmitterModule|ServeStaticModule|GraphQLModule)\\b", "tokenType": "class", "tokenModifiers": ["defaultLibrary"], "description": "NestJS modules" },
18
+ { "pattern": "\\b(ValidationPipe|ParseIntPipe|ParseBoolPipe|ParseArrayPipe|ParseUUIDPipe|ParseEnumPipe|ParseFloatPipe|DefaultValuePipe)\\b", "tokenType": "class", "tokenModifiers": ["defaultLibrary"], "description": "NestJS pipes" },
19
+ { "pattern": "\\b(HttpException|BadRequestException|UnauthorizedException|ForbiddenException|NotFoundException|ConflictException|InternalServerErrorException|NotImplementedException|BadGatewayException|ServiceUnavailableException|GatewayTimeoutException|UnprocessableEntityException)\\b", "tokenType": "class", "tokenModifiers": ["defaultLibrary"], "description": "NestJS exceptions" },
20
+ { "pattern": "\\b(INestApplication|INestMicroservice|DynamicModule|ModuleMetadata|CanActivate|PipeTransform|NestInterceptor|ExceptionFilter|NestMiddleware|ExecutionContext|ArgumentsHost|CallHandler|OnModuleInit|OnModuleDestroy|OnApplicationBootstrap|OnApplicationShutdown)\\b", "tokenType": "interface", "tokenModifiers": ["defaultLibrary"], "description": "NestJS interfaces" },
21
+ { "pattern": "\\bclass\\s+(\\w+)", "tokenType": "class", "tokenModifiers": ["declaration"], "description": "Class declarations" },
22
+ { "pattern": "\\binterface\\s+(\\w+)", "tokenType": "interface", "tokenModifiers": ["declaration"], "description": "Interface declarations" },
23
+ { "pattern": "\\benum\\s+(\\w+)", "tokenType": "enum", "tokenModifiers": ["declaration"], "description": "Enum declarations" },
24
+ { "pattern": "\\btype\\s+(\\w+)\\s*=", "tokenType": "type", "tokenModifiers": ["declaration"], "description": "Type aliases" },
25
+ { "pattern": "(?:async\\s+)?(\\w+)\\s*\\([^)]*\\)\\s*(?::\\s*[^{]+)?\\s*\\{", "tokenType": "method", "tokenModifiers": [], "description": "Method definitions" },
26
+ { "pattern": "constructor\\s*\\(", "tokenType": "method", "tokenModifiers": ["declaration"], "description": "Constructor" },
27
+ { "pattern": "(?:'[^']*'|\"[^\"]*\"|`[^`]*`)", "tokenType": "string", "tokenModifiers": [], "description": "String literals" },
28
+ { "pattern": "\\b\\d+(\\.\\d+)?\\b", "tokenType": "number", "tokenModifiers": [], "description": "Numeric literals" },
29
+ { "pattern": "\\/(?!\\/|\\*)[^\\/\\n]+\\/[gimsuy]*", "tokenType": "regexp", "tokenModifiers": [], "description": "Regular expressions" },
30
+ { "pattern": "(?:^|\\s)(?:\\/\\/.*|\\/\\*[\\s\\S]*?\\*\\/)", "tokenType": "comment", "tokenModifiers": [], "description": "Comments" },
31
+ { "pattern": "\\b(describe|it|expect|beforeEach|afterEach|beforeAll|afterAll|jest|Test|TestingModule)\\b", "tokenType": "function", "tokenModifiers": ["defaultLibrary"], "description": "Testing functions" },
32
+ { "pattern": "\\bprocess\\.env\\.(\\w+)", "tokenType": "variable", "tokenModifiers": ["readonly"], "description": "Environment variables" }
33
+ ]
34
+ }
35
+ }
@@ -0,0 +1,38 @@
1
+ {
2
+ "language": "nextjs",
3
+ "semanticTokens": {
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
+ "tokenRules": [
11
+ { "pattern": "\\b(import|export|from|default|as)\\b", "tokenType": "keyword", "tokenModifiers": [], "description": "Module keywords" },
12
+ { "pattern": "\\b(function|return|const|let|var|if|else|for|while|do|switch|case|break|continue|throw|try|catch|finally|new|delete|typeof|instanceof|in|of|void|yield|await|async|class|extends|super|this|static|get|set)\\b", "tokenType": "keyword", "tokenModifiers": [], "description": "Language keywords" },
13
+ { "pattern": "\\b(use(?:State|Effect|Context|Reducer|Callback|Memo|Ref|ImperativeHandle|LayoutEffect|DebugValue|DeferredValue|Transition|Id|SyncExternalStore|FormStatus|FormState|Optimistic|Router|Pathname|SearchParams|Params|SelectedLayoutSegment|SelectedLayoutSegments|ReportWebVitals))\\b", "tokenType": "function", "tokenModifiers": ["defaultLibrary"], "description": "React/Next.js hooks" },
14
+ { "pattern": "\\b(Image|Link|Script|Head|NextScript|NextDocument|Main|Html)\\b", "tokenType": "class", "tokenModifiers": ["defaultLibrary"], "description": "Next.js built-in components" },
15
+ { "pattern": "\\b(NextRequest|NextResponse|NextMiddleware)\\b", "tokenType": "class", "tokenModifiers": ["defaultLibrary"], "description": "Next.js server types" },
16
+ { "pattern": "\\b(NextPage|NextApiRequest|NextApiResponse|GetServerSideProps|GetStaticProps|GetStaticPaths|Metadata|MetadataRoute|Viewport)\\b", "tokenType": "type", "tokenModifiers": ["defaultLibrary"], "description": "Next.js type definitions" },
17
+ { "pattern": "\\bexport\\s+default\\s+function\\s+(\\w+)", "tokenType": "function", "tokenModifiers": ["declaration", "definition"], "description": "Default-exported component" },
18
+ { "pattern": "\\bexport\\s+async\\s+function\\s+(GET|POST|PUT|PATCH|DELETE|HEAD|OPTIONS)\\b", "tokenType": "method", "tokenModifiers": ["declaration", "async"], "description": "Route handler methods" },
19
+ { "pattern": "\\bexport\\s+async\\s+function\\s+(generateStaticParams|generateMetadata)\\b", "tokenType": "function", "tokenModifiers": ["declaration", "async"], "description": "Next.js generation functions" },
20
+ { "pattern": "\\bexport\\s+const\\s+(metadata|revalidate|dynamic|runtime|fetchCache|preferredRegion)\\b", "tokenType": "variable", "tokenModifiers": ["declaration", "readonly"], "description": "Route segment config exports" },
21
+ { "pattern": "\"use (client|server)\"", "tokenType": "macro", "tokenModifiers": [], "description": "React directives" },
22
+ { "pattern": "\\b(React\\.(?:FC|Component|PureComponent|Fragment|Suspense|StrictMode|Profiler|createElement|cloneElement|createContext|forwardRef|lazy|memo|startTransition))\\b", "tokenType": "function", "tokenModifiers": ["defaultLibrary"], "description": "React namespace APIs" },
23
+ { "pattern": "\\binterface\\s+(\\w+)", "tokenType": "interface", "tokenModifiers": ["declaration"], "description": "Interface declarations" },
24
+ { "pattern": "\\btype\\s+(\\w+)\\s*=", "tokenType": "type", "tokenModifiers": ["declaration"], "description": "Type alias declarations" },
25
+ { "pattern": "\\benum\\s+(\\w+)", "tokenType": "enum", "tokenModifiers": ["declaration"], "description": "Enum declarations" },
26
+ { "pattern": "\\bclass\\s+(\\w+)", "tokenType": "class", "tokenModifiers": ["declaration"], "description": "Class declarations" },
27
+ { "pattern": "<([A-Z][a-zA-Z0-9.]*)", "tokenType": "class", "tokenModifiers": [], "description": "JSX component references" },
28
+ { "pattern": "\\b(redirect|notFound|revalidatePath|revalidateTag|unstable_cache|unstable_noStore|headers|cookies|fetch)\\b", "tokenType": "function", "tokenModifiers": ["defaultLibrary"], "description": "Next.js server functions" },
29
+ { "pattern": "\\b(params|searchParams|children|className)\\b", "tokenType": "parameter", "tokenModifiers": [], "description": "Common Next.js props" },
30
+ { "pattern": "@(\\w+)", "tokenType": "decorator", "tokenModifiers": [], "description": "Decorators" },
31
+ { "pattern": "(?:^|\\s)(?:\\/\\/.*|\\/\\*[\\s\\S]*?\\*\\/)", "tokenType": "comment", "tokenModifiers": [], "description": "Comments" },
32
+ { "pattern": "(?:'[^']*'|\"[^\"]*\"|`[^`]*`)", "tokenType": "string", "tokenModifiers": [], "description": "String literals" },
33
+ { "pattern": "\\b\\d+(\\.\\d+)?\\b", "tokenType": "number", "tokenModifiers": [], "description": "Numeric literals" },
34
+ { "pattern": "\\/(?!\\/|\\*)[^\\/\\n]+\\/[gimsuy]*", "tokenType": "regexp", "tokenModifiers": [], "description": "Regular expressions" },
35
+ { "pattern": "\\b(process\\.env\\.\\w+|NEXT_PUBLIC_\\w+)\\b", "tokenType": "variable", "tokenModifiers": ["readonly"], "description": "Environment variables" }
36
+ ]
37
+ }
38
+ }
@@ -0,0 +1,215 @@
1
+ {
2
+ "language": "react",
3
+ "semanticTokens": {
4
+ "tokenTypes": [
5
+ "namespace",
6
+ "type",
7
+ "class",
8
+ "enum",
9
+ "interface",
10
+ "struct",
11
+ "typeParameter",
12
+ "parameter",
13
+ "variable",
14
+ "property",
15
+ "enumMember",
16
+ "event",
17
+ "function",
18
+ "method",
19
+ "macro",
20
+ "keyword",
21
+ "modifier",
22
+ "comment",
23
+ "string",
24
+ "number",
25
+ "regexp",
26
+ "operator",
27
+ "decorator"
28
+ ],
29
+ "tokenModifiers": [
30
+ "declaration",
31
+ "definition",
32
+ "readonly",
33
+ "static",
34
+ "deprecated",
35
+ "async",
36
+ "modification",
37
+ "documentation",
38
+ "defaultLibrary",
39
+ "local"
40
+ ],
41
+ "semanticRules": [
42
+ {
43
+ "pattern": "(?:React|ReactDOM|ReactDOMServer)",
44
+ "tokenType": "namespace",
45
+ "tokenModifiers": ["defaultLibrary"],
46
+ "description": "React namespace identifiers"
47
+ },
48
+ {
49
+ "pattern": "(?:Component|PureComponent)",
50
+ "tokenType": "class",
51
+ "tokenModifiers": ["defaultLibrary"],
52
+ "description": "React base classes"
53
+ },
54
+ {
55
+ "pattern": "[A-Z][a-zA-Z0-9]*(?=\\s*(?:<[^>]*>)?\\s*(?:=\\s*(?:React\\.)?(?:memo|forwardRef|lazy)\\s*\\(|\\(|:\\s*React\\.FC))",
56
+ "tokenType": "function",
57
+ "tokenModifiers": ["declaration"],
58
+ "description": "React component declarations"
59
+ },
60
+ {
61
+ "pattern": "<([A-Z][a-zA-Z0-9.]*)",
62
+ "tokenType": "class",
63
+ "tokenModifiers": [],
64
+ "description": "JSX component tags in usage"
65
+ },
66
+ {
67
+ "pattern": "<([a-z][a-z0-9-]*)",
68
+ "tokenType": "keyword",
69
+ "tokenModifiers": [],
70
+ "description": "JSX HTML element tags"
71
+ },
72
+ {
73
+ "pattern": "use(?:State|Effect|Context|Reducer|Memo|Callback|Ref|Id|Transition|DeferredValue|SyncExternalStore|InsertionEffect|LayoutEffect|ImperativeHandle|DebugValue|OptimisticState|FormStatus|ActionState)",
74
+ "tokenType": "function",
75
+ "tokenModifiers": ["defaultLibrary"],
76
+ "description": "React built-in hooks"
77
+ },
78
+ {
79
+ "pattern": "use[A-Z][a-zA-Z0-9]*",
80
+ "tokenType": "function",
81
+ "tokenModifiers": [],
82
+ "description": "Custom hooks"
83
+ },
84
+ {
85
+ "pattern": "(?:className|style|key|ref|dangerouslySetInnerHTML|suppressHydrationWarning|suppressContentEditableWarning)(?=\\s*=)",
86
+ "tokenType": "property",
87
+ "tokenModifiers": ["defaultLibrary"],
88
+ "description": "React-specific JSX attributes"
89
+ },
90
+ {
91
+ "pattern": "(?:on[A-Z][a-zA-Z]*)(?=\\s*=)",
92
+ "tokenType": "event",
93
+ "tokenModifiers": [],
94
+ "description": "Event handler props"
95
+ },
96
+ {
97
+ "pattern": "(?:aria-[a-z-]+|data-[a-z-]+)(?=\\s*=)",
98
+ "tokenType": "property",
99
+ "tokenModifiers": [],
100
+ "description": "ARIA and data attributes"
101
+ },
102
+ {
103
+ "pattern": "(?:interface|type)\\s+([A-Z][a-zA-Z0-9]*(?:Props|State|Context|Config|Options|Params|Result|Data|Response|Payload))",
104
+ "tokenType": "interface",
105
+ "tokenModifiers": ["declaration"],
106
+ "description": "React-related type/interface declarations"
107
+ },
108
+ {
109
+ "pattern": "(?:React\\.)?(?:FC|FunctionComponent|ComponentType|ReactNode|ReactElement|JSX\\.Element|PropsWithChildren|HTMLAttributes|RefObject|MutableRefObject|Dispatch|SetStateAction|Context|Reducer|CSSProperties)",
110
+ "tokenType": "type",
111
+ "tokenModifiers": ["defaultLibrary"],
112
+ "description": "React built-in types"
113
+ },
114
+ {
115
+ "pattern": "(?:React\\.)?(?:ChangeEvent|FormEvent|MouseEvent|KeyboardEvent|FocusEvent|TouchEvent|PointerEvent|DragEvent|ClipboardEvent|AnimationEvent|TransitionEvent|SyntheticEvent)",
116
+ "tokenType": "type",
117
+ "tokenModifiers": ["defaultLibrary"],
118
+ "description": "React event types"
119
+ },
120
+ {
121
+ "pattern": "(?:Fragment|StrictMode|Suspense|Profiler)",
122
+ "tokenType": "class",
123
+ "tokenModifiers": ["defaultLibrary"],
124
+ "description": "React built-in components"
125
+ },
126
+ {
127
+ "pattern": "(?:createContext|createElement|cloneElement|createPortal|createRoot|hydrateRoot|forwardRef|memo|lazy|startTransition|flushSync|act)",
128
+ "tokenType": "function",
129
+ "tokenModifiers": ["defaultLibrary"],
130
+ "description": "React API functions"
131
+ },
132
+ {
133
+ "pattern": "handle[A-Z][a-zA-Z0-9]*",
134
+ "tokenType": "function",
135
+ "tokenModifiers": ["local"],
136
+ "description": "Event handler functions"
137
+ },
138
+ {
139
+ "pattern": "(?:render|componentDidMount|componentDidUpdate|componentWillUnmount|shouldComponentUpdate|getSnapshotBeforeUpdate|getDerivedStateFromProps|getDerivedStateFromError|componentDidCatch)",
140
+ "tokenType": "method",
141
+ "tokenModifiers": [],
142
+ "description": "React lifecycle methods"
143
+ },
144
+ {
145
+ "pattern": "(?:children|props|state|context|refs|defaultProps|displayName|propTypes|contextType|contextTypes)",
146
+ "tokenType": "property",
147
+ "tokenModifiers": ["defaultLibrary"],
148
+ "description": "React component properties"
149
+ },
150
+ {
151
+ "pattern": "(?:dispatch|setState|forceUpdate)",
152
+ "tokenType": "method",
153
+ "tokenModifiers": [],
154
+ "description": "State update methods"
155
+ },
156
+ {
157
+ "pattern": "(?:Children\\.map|Children\\.forEach|Children\\.count|Children\\.only|Children\\.toArray)",
158
+ "tokenType": "method",
159
+ "tokenModifiers": ["defaultLibrary"],
160
+ "description": "React.Children utility methods"
161
+ },
162
+ {
163
+ "pattern": "(?:isValidElement|cloneElement|createElement)",
164
+ "tokenType": "function",
165
+ "tokenModifiers": ["defaultLibrary"],
166
+ "description": "React element utility functions"
167
+ },
168
+ {
169
+ "pattern": "\\b(?:const|let|var)\\s+([A-Z_][A-Z0-9_]*)\\s*=",
170
+ "tokenType": "variable",
171
+ "tokenModifiers": ["readonly"],
172
+ "description": "Constant declarations (UPPER_CASE)"
173
+ }
174
+ ],
175
+ "legend": {
176
+ "tokenTypes": [
177
+ "namespace",
178
+ "type",
179
+ "class",
180
+ "enum",
181
+ "interface",
182
+ "struct",
183
+ "typeParameter",
184
+ "parameter",
185
+ "variable",
186
+ "property",
187
+ "enumMember",
188
+ "event",
189
+ "function",
190
+ "method",
191
+ "macro",
192
+ "keyword",
193
+ "modifier",
194
+ "comment",
195
+ "string",
196
+ "number",
197
+ "regexp",
198
+ "operator",
199
+ "decorator"
200
+ ],
201
+ "tokenModifiers": [
202
+ "declaration",
203
+ "definition",
204
+ "readonly",
205
+ "static",
206
+ "deprecated",
207
+ "async",
208
+ "modification",
209
+ "documentation",
210
+ "defaultLibrary",
211
+ "local"
212
+ ]
213
+ }
214
+ }
215
+ }
@@ -0,0 +1,180 @@
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
+ "tokenRules": [
41
+ {
42
+ "pattern": "<([A-Z][a-zA-Z0-9]*)(?:\\s|>|/)",
43
+ "tokenType": "class",
44
+ "tokenModifiers": ["defaultLibrary"],
45
+ "description": "shadcn/ui component names used as PascalCase JSX tags (e.g. Button, Card, Dialog)"
46
+ },
47
+ {
48
+ "pattern": "<([A-Z][a-zA-Z0-9]*\\.[A-Z][a-zA-Z0-9]*)(?:\\s|>|/)",
49
+ "tokenType": "class",
50
+ "tokenModifiers": ["defaultLibrary"],
51
+ "description": "Radix UI namespaced primitives (e.g. Dialog.Root, Accordion.Item)"
52
+ },
53
+ {
54
+ "pattern": "\\bcn\\s*\\(",
55
+ "tokenType": "function",
56
+ "tokenModifiers": ["defaultLibrary"],
57
+ "description": "cn() utility function call for Tailwind class merging"
58
+ },
59
+ {
60
+ "pattern": "\\bcva\\s*\\(",
61
+ "tokenType": "function",
62
+ "tokenModifiers": ["defaultLibrary"],
63
+ "description": "cva() class-variance-authority definition call"
64
+ },
65
+ {
66
+ "pattern": "variant\\s*:\\s*[\"']([a-zA-Z]+)[\"']",
67
+ "tokenType": "enumMember",
68
+ "tokenModifiers": [],
69
+ "description": "Variant prop string values (e.g. variant=\"destructive\")"
70
+ },
71
+ {
72
+ "pattern": "var\\(--([a-zA-Z][a-zA-Z0-9-]*)\\)",
73
+ "tokenType": "variable",
74
+ "tokenModifiers": ["readonly"],
75
+ "description": "CSS custom property variable references (e.g. var(--primary))"
76
+ },
77
+ {
78
+ "pattern": "(?<=[\"'`\\s])([a-z][a-z0-9]*(?:-[a-z0-9]+)*(?:/[a-z0-9]+)?(?:\\[[^\\]]*\\])?)(?=[\"'`\\s])",
79
+ "tokenType": "string",
80
+ "tokenModifiers": [],
81
+ "description": "Tailwind CSS utility class names within className strings"
82
+ },
83
+ {
84
+ "pattern": "\\b(use[A-Z][a-zA-Z0-9]*)\\s*\\(",
85
+ "tokenType": "function",
86
+ "tokenModifiers": ["defaultLibrary"],
87
+ "description": "React hook calls (useState, useEffect, useToast, useForm, etc.)"
88
+ },
89
+ {
90
+ "pattern": "React\\.forwardRef\\s*(?:<[^>]*>)?\\s*\\(",
91
+ "tokenType": "function",
92
+ "tokenModifiers": ["defaultLibrary"],
93
+ "description": "React.forwardRef wrapper call"
94
+ },
95
+ {
96
+ "pattern": "([A-Z][a-zA-Z0-9]*)\\.displayName\\s*=",
97
+ "tokenType": "property",
98
+ "tokenModifiers": ["definition"],
99
+ "description": "Component displayName assignment for DevTools"
100
+ },
101
+ {
102
+ "pattern": "\\bz\\.(?:object|string|number|boolean|enum|array|union|optional|nullable|literal|record|tuple|lazy|nativeEnum|discriminatedUnion|intersection)\\s*\\(",
103
+ "tokenType": "function",
104
+ "tokenModifiers": ["defaultLibrary"],
105
+ "description": "Zod schema validator method calls"
106
+ },
107
+ {
108
+ "pattern": "\\bfield\\.([a-zA-Z][a-zA-Z0-9]*)\\b",
109
+ "tokenType": "property",
110
+ "tokenModifiers": [],
111
+ "description": "Form field accessor properties (field.value, field.onChange, field.name)"
112
+ },
113
+ {
114
+ "pattern": ":\\s*([A-Z][a-zA-Z0-9]*(?:<[^>]*>)?(?:\\[\\])?)",
115
+ "tokenType": "type",
116
+ "tokenModifiers": [],
117
+ "description": "TypeScript type annotations after colons"
118
+ },
119
+ {
120
+ "pattern": "(?:interface|type)\\s+([A-Z][a-zA-Z0-9]*)",
121
+ "tokenType": "interface",
122
+ "tokenModifiers": ["declaration"],
123
+ "description": "Interface and type alias declarations"
124
+ },
125
+ {
126
+ "pattern": "([a-zA-Z_$][a-zA-Z0-9_$]*)\\s*(?::\\s*[^,}]+)?\\s*(?=[,}])",
127
+ "tokenType": "property",
128
+ "tokenModifiers": [],
129
+ "description": "Interface and type property names"
130
+ },
131
+ {
132
+ "pattern": "import\\s+\\{\\s*([^}]+)\\s*\\}",
133
+ "tokenType": "variable",
134
+ "tokenModifiers": [],
135
+ "description": "Named import specifiers within import statements"
136
+ },
137
+ {
138
+ "pattern": "(?<=<[A-Z][a-zA-Z0-9]*\\s[^>]*)([a-zA-Z][a-zA-Z0-9]*)(?==)",
139
+ "tokenType": "property",
140
+ "tokenModifiers": [],
141
+ "description": "JSX attribute names on components"
142
+ },
143
+ {
144
+ "pattern": "\\b(on[A-Z][a-zA-Z0-9]*)\\s*(?:=|\\()",
145
+ "tokenType": "event",
146
+ "tokenModifiers": [],
147
+ "description": "Event handler props and callbacks (onClick, onChange, onSubmit)"
148
+ },
149
+ {
150
+ "pattern": "ref\\s*=\\s*\\{([a-zA-Z][a-zA-Z0-9]*)\\}",
151
+ "tokenType": "variable",
152
+ "tokenModifiers": ["modification"],
153
+ "description": "Ref forwarding patterns passing ref prop"
154
+ },
155
+ {
156
+ "pattern": "\\bconst\\s+([a-zA-Z][a-zA-Z0-9]*Variants?)\\s*=\\s*cva\\b",
157
+ "tokenType": "variable",
158
+ "tokenModifiers": ["declaration", "readonly"],
159
+ "description": "cva variant definition const declarations"
160
+ },
161
+ {
162
+ "pattern": "\\bclsx\\s*\\(",
163
+ "tokenType": "function",
164
+ "tokenModifiers": ["defaultLibrary"],
165
+ "description": "clsx() utility function call for class concatenation"
166
+ },
167
+ {
168
+ "pattern": "\\bzodResolver\\s*\\(",
169
+ "tokenType": "function",
170
+ "tokenModifiers": ["defaultLibrary"],
171
+ "description": "zodResolver() call for react-hook-form integration"
172
+ },
173
+ {
174
+ "pattern": "\\basChild\\b",
175
+ "tokenType": "property",
176
+ "tokenModifiers": [],
177
+ "description": "Radix UI asChild prop for component composition"
178
+ }
179
+ ]
180
+ }