@enjoys/context-engine 1.3.1 → 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 (221) hide show
  1. package/data/codeActions/angular.json +126 -0
  2. package/data/codeActions/nestjs.json +124 -0
  3. package/data/codeActions/nextjs.json +198 -0
  4. package/data/codeActions/react.json +154 -0
  5. package/data/codeActions/shadcn.json +112 -0
  6. package/data/codeActions/shell.json +169 -26
  7. package/data/codeLens/angular.json +22 -0
  8. package/data/codeLens/nestjs.json +21 -0
  9. package/data/codeLens/nextjs.json +117 -0
  10. package/data/codeLens/react.json +89 -0
  11. package/data/codeLens/shadcn.json +89 -0
  12. package/data/codeLens/shell.json +59 -17
  13. package/data/codeLens/tailwindcss.json +56 -0
  14. package/data/color/angular.json +21 -0
  15. package/data/color/nestjs.json +18 -0
  16. package/data/color/nextjs.json +22 -0
  17. package/data/color/react.json +93 -0
  18. package/data/color/shadcn.json +66 -0
  19. package/data/color/shell.json +106 -80
  20. package/data/commands/angular.json +312 -0
  21. package/data/commands/manifest.json +5 -0
  22. package/data/commands/nestjs.json +273 -0
  23. package/data/commands/nextjs.json +123 -0
  24. package/data/commands/react.json +210 -0
  25. package/data/commands/shadcn.json +410 -0
  26. package/data/commands/shell.json +571 -41
  27. package/data/completion/angular.json +1490 -0
  28. package/data/completion/css.json +793 -0
  29. package/data/completion/nestjs.json +1454 -0
  30. package/data/completion/nextjs.json +1373 -0
  31. package/data/completion/react.json +1319 -0
  32. package/data/completion/shadcn.json +1202 -0
  33. package/data/completion/shell.json +2446 -510
  34. package/data/declaration/angular.json +46 -0
  35. package/data/declaration/nestjs.json +47 -0
  36. package/data/declaration/nextjs.json +274 -0
  37. package/data/declaration/react.json +199 -0
  38. package/data/declaration/shadcn.json +211 -0
  39. package/data/declaration/shell.json +343 -24
  40. package/data/declaration/tailwindcss.json +72 -0
  41. package/data/definition/angular.json +670 -0
  42. package/data/definition/nestjs.json +684 -0
  43. package/data/definition/nextjs.json +439 -0
  44. package/data/definition/react.json +397 -0
  45. package/data/definition/shadcn.json +99 -0
  46. package/data/definition/shell.json +820 -0
  47. package/data/documentHighlight/angular.json +414 -0
  48. package/data/documentHighlight/css.json +77 -2
  49. package/data/documentHighlight/nestjs.json +115 -0
  50. package/data/documentHighlight/nextjs.json +212 -0
  51. package/data/documentHighlight/react.json +119 -0
  52. package/data/documentHighlight/shadcn.json +168 -0
  53. package/data/documentHighlight/shell.json +664 -334
  54. package/data/documentHighlight/tailwindcss.json +105 -10
  55. package/data/documentRangeFormatting/angular.json +45 -0
  56. package/data/documentRangeFormatting/nestjs.json +17 -0
  57. package/data/documentRangeFormatting/nextjs.json +17 -0
  58. package/data/documentRangeFormatting/react.json +78 -0
  59. package/data/documentRangeFormatting/shadcn.json +45 -0
  60. package/data/documentRangeFormatting/shell.json +120 -53
  61. package/data/documentSymbol/angular.json +180 -0
  62. package/data/documentSymbol/nestjs.json +152 -0
  63. package/data/documentSymbol/nextjs.json +159 -0
  64. package/data/documentSymbol/react.json +145 -0
  65. package/data/documentSymbol/shadcn.json +131 -0
  66. package/data/documentSymbol/shell.json +166 -26
  67. package/data/documentSymbol/tailwindcss.json +49 -0
  68. package/data/foldingRange/angular.json +99 -0
  69. package/data/foldingRange/nestjs.json +26 -0
  70. package/data/foldingRange/nextjs.json +26 -0
  71. package/data/foldingRange/react.json +120 -0
  72. package/data/foldingRange/shadcn.json +93 -0
  73. package/data/foldingRange/shell.json +106 -46
  74. package/data/formatting/angular.json +21 -0
  75. package/data/formatting/nestjs.json +23 -0
  76. package/data/formatting/nextjs.json +23 -0
  77. package/data/formatting/react.json +71 -0
  78. package/data/formatting/shadcn.json +61 -0
  79. package/data/formatting/shell.json +103 -19
  80. package/data/hover/angular.json +455 -0
  81. package/data/hover/css.json +232 -0
  82. package/data/hover/nestjs.json +296 -0
  83. package/data/hover/nextjs.json +305 -0
  84. package/data/hover/react.json +173 -0
  85. package/data/hover/shadcn.json +450 -0
  86. package/data/hover/shell.json +684 -75
  87. package/data/implementation/angular.json +22 -0
  88. package/data/implementation/nestjs.json +24 -0
  89. package/data/implementation/nextjs.json +137 -0
  90. package/data/implementation/react.json +125 -0
  91. package/data/implementation/shadcn.json +89 -0
  92. package/data/implementation/shell.json +59 -3
  93. package/data/inlayHints/angular.json +24 -0
  94. package/data/inlayHints/nestjs.json +24 -0
  95. package/data/inlayHints/nextjs.json +143 -0
  96. package/data/inlayHints/react.json +177 -0
  97. package/data/inlayHints/shadcn.json +109 -0
  98. package/data/inlayHints/shell.json +223 -35
  99. package/data/inlineCompletions/angular.json +135 -0
  100. package/data/inlineCompletions/nestjs.json +25 -0
  101. package/data/inlineCompletions/nextjs.json +179 -0
  102. package/data/inlineCompletions/react.json +203 -0
  103. package/data/inlineCompletions/shadcn.json +115 -0
  104. package/data/inlineCompletions/shell.json +185 -35
  105. package/data/linkedEditingRange/angular.json +23 -0
  106. package/data/linkedEditingRange/nestjs.json +10 -0
  107. package/data/linkedEditingRange/nextjs.json +11 -0
  108. package/data/linkedEditingRange/react.json +75 -0
  109. package/data/linkedEditingRange/shadcn.json +23 -0
  110. package/data/linkedEditingRange/shell.json +25 -25
  111. package/data/links/angular.json +95 -0
  112. package/data/links/nestjs.json +130 -0
  113. package/data/links/nextjs.json +91 -0
  114. package/data/links/react.json +75 -0
  115. package/data/links/shadcn.json +98 -0
  116. package/data/links/shell.json +56 -0
  117. package/data/links/tailwindcss.json +25 -0
  118. package/data/manifest.json +339 -152
  119. package/data/onTypeFormatting/angular.json +14 -0
  120. package/data/onTypeFormatting/nestjs.json +16 -0
  121. package/data/onTypeFormatting/nextjs.json +17 -0
  122. package/data/onTypeFormatting/react.json +127 -0
  123. package/data/onTypeFormatting/shadcn.json +54 -0
  124. package/data/onTypeFormatting/shell.json +72 -68
  125. package/data/rangeSemanticTokens/angular.json +140 -0
  126. package/data/rangeSemanticTokens/nestjs.json +27 -0
  127. package/data/rangeSemanticTokens/nextjs.json +28 -0
  128. package/data/rangeSemanticTokens/react.json +216 -0
  129. package/data/rangeSemanticTokens/shadcn.json +140 -0
  130. package/data/rangeSemanticTokens/shell.json +247 -69
  131. package/data/rangeSemanticTokens/tailwindcss.json +99 -8
  132. package/data/references/angular.json +26 -0
  133. package/data/references/nestjs.json +24 -0
  134. package/data/references/nextjs.json +178 -0
  135. package/data/references/react.json +192 -0
  136. package/data/references/shadcn.json +101 -0
  137. package/data/references/shell.json +323 -92
  138. package/data/references/tailwindcss.json +66 -0
  139. package/data/rename/angular.json +131 -0
  140. package/data/rename/nestjs.json +32 -0
  141. package/data/rename/nextjs.json +31 -0
  142. package/data/rename/react.json +88 -0
  143. package/data/rename/shadcn.json +79 -0
  144. package/data/rename/shell.json +101 -31
  145. package/data/selectionRange/angular.json +95 -0
  146. package/data/selectionRange/nestjs.json +21 -0
  147. package/data/selectionRange/nextjs.json +22 -0
  148. package/data/selectionRange/react.json +87 -0
  149. package/data/selectionRange/shadcn.json +89 -0
  150. package/data/selectionRange/shell.json +65 -35
  151. package/data/semanticTokens/angular.json +198 -0
  152. package/data/semanticTokens/nestjs.json +35 -0
  153. package/data/semanticTokens/nextjs.json +38 -0
  154. package/data/semanticTokens/react.json +215 -0
  155. package/data/semanticTokens/shadcn.json +180 -0
  156. package/data/semanticTokens/shell.json +238 -65
  157. package/data/signatureHelp/angular.json +182 -0
  158. package/data/signatureHelp/nestjs.json +128 -0
  159. package/data/signatureHelp/nextjs.json +127 -0
  160. package/data/signatureHelp/react.json +281 -0
  161. package/data/signatureHelp/shadcn.json +237 -0
  162. package/data/signatureHelp/shell.json +797 -104
  163. package/data/typeDefinition/angular.json +362 -0
  164. package/data/typeDefinition/nestjs.json +334 -0
  165. package/data/typeDefinition/nextjs.json +285 -0
  166. package/data/typeDefinition/react.json +236 -0
  167. package/data/typeDefinition/shadcn.json +292 -0
  168. package/data/typeDefinition/shell.json +104 -40
  169. package/package.json +1 -1
  170. package/data/codeActions/bash.json +0 -169
  171. package/data/codeActions/zsh.json +0 -49
  172. package/data/codeLens/bash.json +0 -75
  173. package/data/codeLens/zsh.json +0 -19
  174. package/data/color/bash.json +0 -100
  175. package/data/color/zsh.json +0 -80
  176. package/data/commands/bash.json +0 -102
  177. package/data/commands/zsh.json +0 -166
  178. package/data/completion/bash.json +0 -1184
  179. package/data/completion/zsh.json +0 -973
  180. package/data/declaration/bash.json +0 -301
  181. package/data/declaration/zsh.json +0 -205
  182. package/data/definition/bash.json +0 -565
  183. package/data/definition/zsh.json +0 -350
  184. package/data/documentHighlight/bash.json +0 -393
  185. package/data/documentHighlight/zsh.json +0 -266
  186. package/data/documentRangeFormatting/bash.json +0 -41
  187. package/data/documentRangeFormatting/zsh.json +0 -59
  188. package/data/documentSymbol/bash.json +0 -124
  189. package/data/documentSymbol/zsh.json +0 -26
  190. package/data/foldingRange/bash.json +0 -76
  191. package/data/foldingRange/zsh.json +0 -46
  192. package/data/formatting/bash.json +0 -88
  193. package/data/formatting/zsh.json +0 -28
  194. package/data/hover/bash.json +0 -579
  195. package/data/hover/zsh.json +0 -96
  196. package/data/implementation/bash.json +0 -44
  197. package/data/implementation/zsh.json +0 -41
  198. package/data/inlayHints/bash.json +0 -207
  199. package/data/inlayHints/zsh.json +0 -43
  200. package/data/inlineCompletions/bash.json +0 -155
  201. package/data/inlineCompletions/zsh.json +0 -17
  202. package/data/linkedEditingRange/bash.json +0 -25
  203. package/data/linkedEditingRange/zsh.json +0 -25
  204. package/data/links/bash.json +0 -56
  205. package/data/links/zsh.json +0 -15
  206. package/data/onTypeFormatting/bash.json +0 -68
  207. package/data/onTypeFormatting/zsh.json +0 -68
  208. package/data/rangeSemanticTokens/bash.json +0 -90
  209. package/data/rangeSemanticTokens/zsh.json +0 -76
  210. package/data/references/bash.json +0 -221
  211. package/data/references/zsh.json +0 -166
  212. package/data/rename/bash.json +0 -37
  213. package/data/rename/zsh.json +0 -31
  214. package/data/selectionRange/bash.json +0 -35
  215. package/data/selectionRange/zsh.json +0 -35
  216. package/data/semanticTokens/bash.json +0 -71
  217. package/data/semanticTokens/zsh.json +0 -71
  218. package/data/signatureHelp/bash.json +0 -111
  219. package/data/signatureHelp/zsh.json +0 -118
  220. package/data/typeDefinition/bash.json +0 -95
  221. package/data/typeDefinition/zsh.json +0 -40
@@ -0,0 +1,180 @@
1
+ {
2
+ "language": "angular",
3
+ "symbolPatterns": [
4
+ {
5
+ "name": "Component",
6
+ "pattern": "@Component\\s*\\([^)]*\\)\\s*(?:export\\s+)?class\\s+(\\w+)",
7
+ "captureGroup": 1,
8
+ "kind": 4,
9
+ "detail": "Angular component class"
10
+ },
11
+ {
12
+ "name": "Injectable Service",
13
+ "pattern": "@Injectable\\s*\\([^)]*\\)\\s*(?:export\\s+)?class\\s+(\\w+)",
14
+ "captureGroup": 1,
15
+ "kind": 4,
16
+ "detail": "Angular injectable service"
17
+ },
18
+ {
19
+ "name": "NgModule",
20
+ "pattern": "@NgModule\\s*\\([^)]*\\)\\s*(?:export\\s+)?class\\s+(\\w+)",
21
+ "captureGroup": 1,
22
+ "kind": 1,
23
+ "detail": "Angular NgModule"
24
+ },
25
+ {
26
+ "name": "Directive",
27
+ "pattern": "@Directive\\s*\\([^)]*\\)\\s*(?:export\\s+)?class\\s+(\\w+)",
28
+ "captureGroup": 1,
29
+ "kind": 4,
30
+ "detail": "Angular directive"
31
+ },
32
+ {
33
+ "name": "Pipe",
34
+ "pattern": "@Pipe\\s*\\([^)]*\\)\\s*(?:export\\s+)?class\\s+(\\w+)",
35
+ "captureGroup": 1,
36
+ "kind": 4,
37
+ "detail": "Angular pipe"
38
+ },
39
+ {
40
+ "name": "Method",
41
+ "pattern": "^\\s*(?:async\\s+)?(\\w+)\\s*\\([^)]*\\)\\s*(?::\\s*[^{]+)?\\s*\\{",
42
+ "captureGroup": 1,
43
+ "kind": 5,
44
+ "detail": "Method declaration"
45
+ },
46
+ {
47
+ "name": "Lifecycle Hook ngOnInit",
48
+ "pattern": "\\bngOnInit\\s*\\(\\s*\\)",
49
+ "captureGroup": 0,
50
+ "kind": 5,
51
+ "detail": "OnInit lifecycle hook"
52
+ },
53
+ {
54
+ "name": "Lifecycle Hook ngOnDestroy",
55
+ "pattern": "\\bngOnDestroy\\s*\\(\\s*\\)",
56
+ "captureGroup": 0,
57
+ "kind": 5,
58
+ "detail": "OnDestroy lifecycle hook"
59
+ },
60
+ {
61
+ "name": "Lifecycle Hook ngOnChanges",
62
+ "pattern": "\\bngOnChanges\\s*\\(",
63
+ "captureGroup": 0,
64
+ "kind": 5,
65
+ "detail": "OnChanges lifecycle hook"
66
+ },
67
+ {
68
+ "name": "Lifecycle Hook ngAfterViewInit",
69
+ "pattern": "\\bngAfterViewInit\\s*\\(\\s*\\)",
70
+ "captureGroup": 0,
71
+ "kind": 5,
72
+ "detail": "AfterViewInit lifecycle hook"
73
+ },
74
+ {
75
+ "name": "Lifecycle Hook ngAfterContentInit",
76
+ "pattern": "\\bngAfterContentInit\\s*\\(\\s*\\)",
77
+ "captureGroup": 0,
78
+ "kind": 5,
79
+ "detail": "AfterContentInit lifecycle hook"
80
+ },
81
+ {
82
+ "name": "@Input Property",
83
+ "pattern": "@Input\\(\\)\\s+(?:readonly\\s+)?(\\w+)",
84
+ "captureGroup": 1,
85
+ "kind": 6,
86
+ "detail": "@Input property"
87
+ },
88
+ {
89
+ "name": "@Output Property",
90
+ "pattern": "@Output\\(\\)\\s+(\\w+)",
91
+ "captureGroup": 1,
92
+ "kind": 6,
93
+ "detail": "@Output event emitter"
94
+ },
95
+ {
96
+ "name": "Signal Declaration",
97
+ "pattern": "(?:readonly\\s+)?(\\w+)\\s*=\\s*signal\\s*[<(]",
98
+ "captureGroup": 1,
99
+ "kind": 12,
100
+ "detail": "Signal property"
101
+ },
102
+ {
103
+ "name": "Computed Declaration",
104
+ "pattern": "(?:readonly\\s+)?(\\w+)\\s*=\\s*computed\\s*\\(",
105
+ "captureGroup": 1,
106
+ "kind": 12,
107
+ "detail": "Computed signal"
108
+ },
109
+ {
110
+ "name": "Effect Call",
111
+ "pattern": "\\beffect\\s*\\(",
112
+ "captureGroup": 0,
113
+ "kind": 11,
114
+ "detail": "Signal effect"
115
+ },
116
+ {
117
+ "name": "Signal Input",
118
+ "pattern": "(?:readonly\\s+)?(\\w+)\\s*=\\s*input(?:\\.required)?\\s*[<(]",
119
+ "captureGroup": 1,
120
+ "kind": 6,
121
+ "detail": "Signal-based input"
122
+ },
123
+ {
124
+ "name": "Signal Output",
125
+ "pattern": "(?:readonly\\s+)?(\\w+)\\s*=\\s*output\\s*[<(]",
126
+ "captureGroup": 1,
127
+ "kind": 6,
128
+ "detail": "Signal-based output"
129
+ },
130
+ {
131
+ "name": "Constructor",
132
+ "pattern": "\\bconstructor\\s*\\(",
133
+ "captureGroup": 0,
134
+ "kind": 8,
135
+ "detail": "Constructor"
136
+ },
137
+ {
138
+ "name": "Interface",
139
+ "pattern": "^\\s*(?:export\\s+)?interface\\s+(\\w+)",
140
+ "captureGroup": 1,
141
+ "kind": 10,
142
+ "detail": "Interface"
143
+ },
144
+ {
145
+ "name": "Enum",
146
+ "pattern": "^\\s*(?:export\\s+)?(?:const\\s+)?enum\\s+(\\w+)",
147
+ "captureGroup": 1,
148
+ "kind": 9,
149
+ "detail": "Enum"
150
+ },
151
+ {
152
+ "name": "Type Alias",
153
+ "pattern": "^\\s*(?:export\\s+)?type\\s+(\\w+)",
154
+ "captureGroup": 1,
155
+ "kind": 4,
156
+ "detail": "Type alias"
157
+ },
158
+ {
159
+ "name": "Route Configuration",
160
+ "pattern": "(?:const|let|var)\\s+(\\w*[Rr]outes?)\\s*:\\s*Routes",
161
+ "captureGroup": 1,
162
+ "kind": 12,
163
+ "detail": "Route configuration"
164
+ },
165
+ {
166
+ "name": "Guard Function",
167
+ "pattern": "(?:export\\s+)?(?:const|let)\\s+(\\w+)\\s*:\\s*(?:CanActivateFn|CanDeactivateFn|CanMatchFn)",
168
+ "captureGroup": 1,
169
+ "kind": 11,
170
+ "detail": "Functional route guard"
171
+ },
172
+ {
173
+ "name": "Interceptor Function",
174
+ "pattern": "(?:export\\s+)?(?:const|let)\\s+(\\w+)\\s*:\\s*HttpInterceptorFn",
175
+ "captureGroup": 1,
176
+ "kind": 11,
177
+ "detail": "Functional HTTP interceptor"
178
+ }
179
+ ]
180
+ }
@@ -0,0 +1,152 @@
1
+ {
2
+ "language": "nestjs",
3
+ "symbolPatterns": [
4
+ {
5
+ "name": "ControllerClass",
6
+ "pattern": "@Controller\\s*\\([^)]*\\)\\s*(?:export\\s+)?class\\s+([A-Za-z][a-zA-Z0-9]*Controller)",
7
+ "captureGroup": 1,
8
+ "kind": 4,
9
+ "detail": "NestJS Controller"
10
+ },
11
+ {
12
+ "name": "InjectableService",
13
+ "pattern": "@Injectable\\s*\\(\\)\\s*(?:export\\s+)?class\\s+([A-Za-z][a-zA-Z0-9]*Service)",
14
+ "captureGroup": 1,
15
+ "kind": 4,
16
+ "detail": "NestJS Injectable Service"
17
+ },
18
+ {
19
+ "name": "ModuleClass",
20
+ "pattern": "@Module\\s*\\([\\s\\S]*?\\)\\s*(?:export\\s+)?class\\s+([A-Za-z][a-zA-Z0-9]*Module)",
21
+ "captureGroup": 1,
22
+ "kind": 1,
23
+ "detail": "NestJS Module"
24
+ },
25
+ {
26
+ "name": "GetHandler",
27
+ "pattern": "@Get\\s*\\([^)]*\\)\\s*(?:@[\\w]+\\s*\\([^)]*\\)\\s*)*(?:async\\s+)?([a-zA-Z][a-zA-Z0-9]*)\\s*\\(",
28
+ "captureGroup": 1,
29
+ "kind": 5,
30
+ "detail": "GET route handler"
31
+ },
32
+ {
33
+ "name": "PostHandler",
34
+ "pattern": "@Post\\s*\\([^)]*\\)\\s*(?:@[\\w]+\\s*\\([^)]*\\)\\s*)*(?:async\\s+)?([a-zA-Z][a-zA-Z0-9]*)\\s*\\(",
35
+ "captureGroup": 1,
36
+ "kind": 5,
37
+ "detail": "POST route handler"
38
+ },
39
+ {
40
+ "name": "PutHandler",
41
+ "pattern": "@Put\\s*\\([^)]*\\)\\s*(?:@[\\w]+\\s*\\([^)]*\\)\\s*)*(?:async\\s+)?([a-zA-Z][a-zA-Z0-9]*)\\s*\\(",
42
+ "captureGroup": 1,
43
+ "kind": 5,
44
+ "detail": "PUT route handler"
45
+ },
46
+ {
47
+ "name": "PatchHandler",
48
+ "pattern": "@Patch\\s*\\([^)]*\\)\\s*(?:@[\\w]+\\s*\\([^)]*\\)\\s*)*(?:async\\s+)?([a-zA-Z][a-zA-Z0-9]*)\\s*\\(",
49
+ "captureGroup": 1,
50
+ "kind": 5,
51
+ "detail": "PATCH route handler"
52
+ },
53
+ {
54
+ "name": "DeleteHandler",
55
+ "pattern": "@Delete\\s*\\([^)]*\\)\\s*(?:@[\\w]+\\s*\\([^)]*\\)\\s*)*(?:async\\s+)?([a-zA-Z][a-zA-Z0-9]*)\\s*\\(",
56
+ "captureGroup": 1,
57
+ "kind": 5,
58
+ "detail": "DELETE route handler"
59
+ },
60
+ {
61
+ "name": "GuardClass",
62
+ "pattern": "@Injectable\\s*\\(\\)\\s*(?:export\\s+)?class\\s+([A-Za-z][a-zA-Z0-9]*Guard)\\s+implements\\s+CanActivate",
63
+ "captureGroup": 1,
64
+ "kind": 4,
65
+ "detail": "NestJS Guard"
66
+ },
67
+ {
68
+ "name": "PipeClass",
69
+ "pattern": "@Injectable\\s*\\(\\)\\s*(?:export\\s+)?class\\s+([A-Za-z][a-zA-Z0-9]*Pipe)\\s+implements\\s+PipeTransform",
70
+ "captureGroup": 1,
71
+ "kind": 4,
72
+ "detail": "NestJS Pipe"
73
+ },
74
+ {
75
+ "name": "InterceptorClass",
76
+ "pattern": "@Injectable\\s*\\(\\)\\s*(?:export\\s+)?class\\s+([A-Za-z][a-zA-Z0-9]*Interceptor)\\s+implements\\s+NestInterceptor",
77
+ "captureGroup": 1,
78
+ "kind": 4,
79
+ "detail": "NestJS Interceptor"
80
+ },
81
+ {
82
+ "name": "ExceptionFilter",
83
+ "pattern": "@Catch\\s*\\([^)]*\\)\\s*(?:export\\s+)?class\\s+([A-Za-z][a-zA-Z0-9]*Filter)\\s+implements\\s+ExceptionFilter",
84
+ "captureGroup": 1,
85
+ "kind": 4,
86
+ "detail": "NestJS Exception Filter"
87
+ },
88
+ {
89
+ "name": "WebSocketGateway",
90
+ "pattern": "@WebSocketGateway\\s*\\([^)]*\\)\\s*(?:export\\s+)?class\\s+([A-Za-z][a-zA-Z0-9]*Gateway)",
91
+ "captureGroup": 1,
92
+ "kind": 4,
93
+ "detail": "NestJS WebSocket Gateway"
94
+ },
95
+ {
96
+ "name": "MiddlewareClass",
97
+ "pattern": "@Injectable\\s*\\(\\)\\s*(?:export\\s+)?class\\s+([A-Za-z][a-zA-Z0-9]*Middleware)\\s+implements\\s+NestMiddleware",
98
+ "captureGroup": 1,
99
+ "kind": 4,
100
+ "detail": "NestJS Middleware"
101
+ },
102
+ {
103
+ "name": "Interface",
104
+ "pattern": "(?:export\\s+)?interface\\s+([A-Z][a-zA-Z0-9]*)",
105
+ "captureGroup": 1,
106
+ "kind": 10,
107
+ "detail": "TypeScript interface"
108
+ },
109
+ {
110
+ "name": "Enum",
111
+ "pattern": "(?:export\\s+)?enum\\s+([A-Z][a-zA-Z0-9]*)",
112
+ "captureGroup": 1,
113
+ "kind": 9,
114
+ "detail": "TypeScript enum"
115
+ },
116
+ {
117
+ "name": "TypeAlias",
118
+ "pattern": "(?:export\\s+)?type\\s+([A-Z][a-zA-Z0-9]*)\\s*=",
119
+ "captureGroup": 1,
120
+ "kind": 14,
121
+ "detail": "TypeScript type alias"
122
+ },
123
+ {
124
+ "name": "ConstantDeclaration",
125
+ "pattern": "(?:export\\s+)?const\\s+([A-Z][A-Z0-9_]+)\\s*=",
126
+ "captureGroup": 1,
127
+ "kind": 13,
128
+ "detail": "Constant declaration"
129
+ },
130
+ {
131
+ "name": "EntityClass",
132
+ "pattern": "@Entity\\s*\\([^)]*\\)\\s*(?:export\\s+)?class\\s+([A-Za-z][a-zA-Z0-9]*)",
133
+ "captureGroup": 1,
134
+ "kind": 4,
135
+ "detail": "TypeORM Entity"
136
+ },
137
+ {
138
+ "name": "DtoClass",
139
+ "pattern": "(?:export\\s+)?class\\s+([A-Za-z][a-zA-Z0-9]*Dto)",
140
+ "captureGroup": 1,
141
+ "kind": 4,
142
+ "detail": "Data Transfer Object"
143
+ },
144
+ {
145
+ "name": "UseGuardsDecorator",
146
+ "pattern": "@UseGuards\\s*\\(([A-Za-z][a-zA-Z0-9]*)\\)",
147
+ "captureGroup": 1,
148
+ "kind": 11,
149
+ "detail": "Applied Guard"
150
+ }
151
+ ]
152
+ }
@@ -0,0 +1,159 @@
1
+ {
2
+ "language": "nextjs",
3
+ "symbolPatterns": [
4
+ {
5
+ "name": "Default Export Function",
6
+ "pattern": "export\\s+default\\s+function\\s+([A-Z][a-zA-Z0-9]*)",
7
+ "captureGroup": 1,
8
+ "kind": 11,
9
+ "detail": "Page/Layout/Component default export"
10
+ },
11
+ {
12
+ "name": "Default Export Async Function",
13
+ "pattern": "export\\s+default\\s+async\\s+function\\s+([A-Z][a-zA-Z0-9]*)",
14
+ "captureGroup": 1,
15
+ "kind": 11,
16
+ "detail": "Async page/layout component"
17
+ },
18
+ {
19
+ "name": "generateStaticParams",
20
+ "pattern": "export\\s+async\\s+function\\s+(generateStaticParams)\\s*\\(",
21
+ "captureGroup": 1,
22
+ "kind": 11,
23
+ "detail": "Static params generation function"
24
+ },
25
+ {
26
+ "name": "generateMetadata",
27
+ "pattern": "export\\s+async\\s+function\\s+(generateMetadata)\\s*\\(",
28
+ "captureGroup": 1,
29
+ "kind": 11,
30
+ "detail": "Dynamic metadata generation function"
31
+ },
32
+ {
33
+ "name": "Metadata Export",
34
+ "pattern": "export\\s+const\\s+(metadata)\\s*[=:]",
35
+ "captureGroup": 1,
36
+ "kind": 13,
37
+ "detail": "Static metadata configuration"
38
+ },
39
+ {
40
+ "name": "Viewport Export",
41
+ "pattern": "export\\s+const\\s+(viewport)\\s*[=:]",
42
+ "captureGroup": 1,
43
+ "kind": 13,
44
+ "detail": "Viewport configuration"
45
+ },
46
+ {
47
+ "name": "Revalidate Config",
48
+ "pattern": "export\\s+const\\s+(revalidate)\\s*=",
49
+ "captureGroup": 1,
50
+ "kind": 13,
51
+ "detail": "Revalidation time configuration"
52
+ },
53
+ {
54
+ "name": "Dynamic Config",
55
+ "pattern": "export\\s+const\\s+(dynamic)\\s*=",
56
+ "captureGroup": 1,
57
+ "kind": 13,
58
+ "detail": "Dynamic rendering configuration"
59
+ },
60
+ {
61
+ "name": "Runtime Config",
62
+ "pattern": "export\\s+const\\s+(runtime)\\s*=",
63
+ "captureGroup": 1,
64
+ "kind": 13,
65
+ "detail": "Runtime (nodejs/edge) configuration"
66
+ },
67
+ {
68
+ "name": "Route Handler Method",
69
+ "pattern": "export\\s+(?:async\\s+)?function\\s+(GET|POST|PUT|PATCH|DELETE|HEAD|OPTIONS)\\s*\\(",
70
+ "captureGroup": 1,
71
+ "kind": 5,
72
+ "detail": "Route Handler HTTP method"
73
+ },
74
+ {
75
+ "name": "Server Action",
76
+ "pattern": "(?:'use server'[\\s\\S]*?)async\\s+function\\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\\s*\\(",
77
+ "captureGroup": 1,
78
+ "kind": 11,
79
+ "detail": "Server Action function"
80
+ },
81
+ {
82
+ "name": "Middleware Function",
83
+ "pattern": "export\\s+(?:async\\s+)?function\\s+(middleware)\\s*\\(",
84
+ "captureGroup": 1,
85
+ "kind": 11,
86
+ "detail": "Next.js middleware function"
87
+ },
88
+ {
89
+ "name": "API Route Handler",
90
+ "pattern": "export\\s+default\\s+(?:async\\s+)?function\\s+(handler)\\s*\\(",
91
+ "captureGroup": 1,
92
+ "kind": 11,
93
+ "detail": "Pages Router API route handler"
94
+ },
95
+ {
96
+ "name": "React Component Function",
97
+ "pattern": "(?:export\\s+)?function\\s+([A-Z][a-zA-Z0-9]*)\\s*\\([^)]*\\)\\s*(?::\\s*[^{]*)?\\{",
98
+ "captureGroup": 1,
99
+ "kind": 11,
100
+ "detail": "React component function"
101
+ },
102
+ {
103
+ "name": "Arrow Function Component",
104
+ "pattern": "(?:export\\s+)?const\\s+([A-Z][a-zA-Z0-9]*)\\s*(?::\\s*React\\.FC[^=]*)?=\\s*(?:async\\s+)?\\(",
105
+ "captureGroup": 1,
106
+ "kind": 11,
107
+ "detail": "Arrow function component"
108
+ },
109
+ {
110
+ "name": "Interface Declaration",
111
+ "pattern": "(?:export\\s+)?interface\\s+([A-Z][a-zA-Z0-9]*)",
112
+ "captureGroup": 1,
113
+ "kind": 10,
114
+ "detail": "TypeScript interface"
115
+ },
116
+ {
117
+ "name": "Type Alias",
118
+ "pattern": "(?:export\\s+)?type\\s+([A-Z][a-zA-Z0-9]*)\\s*=",
119
+ "captureGroup": 1,
120
+ "kind": 4,
121
+ "detail": "TypeScript type alias"
122
+ },
123
+ {
124
+ "name": "Custom Hook",
125
+ "pattern": "(?:export\\s+)?(?:const|function)\\s+(use[A-Z][a-zA-Z0-9]*)\\s*[=(]",
126
+ "captureGroup": 1,
127
+ "kind": 11,
128
+ "detail": "Custom React hook"
129
+ },
130
+ {
131
+ "name": "Config Matcher",
132
+ "pattern": "export\\s+const\\s+(config)\\s*=",
133
+ "captureGroup": 1,
134
+ "kind": 13,
135
+ "detail": "Middleware or route config"
136
+ },
137
+ {
138
+ "name": "getServerSideProps",
139
+ "pattern": "export\\s+(?:const|async\\s+function)\\s+(getServerSideProps)",
140
+ "captureGroup": 1,
141
+ "kind": 11,
142
+ "detail": "Pages Router server-side data fetching"
143
+ },
144
+ {
145
+ "name": "getStaticProps",
146
+ "pattern": "export\\s+(?:const|async\\s+function)\\s+(getStaticProps)",
147
+ "captureGroup": 1,
148
+ "kind": 11,
149
+ "detail": "Pages Router static generation data fetching"
150
+ },
151
+ {
152
+ "name": "getStaticPaths",
153
+ "pattern": "export\\s+(?:const|async\\s+function)\\s+(getStaticPaths)",
154
+ "captureGroup": 1,
155
+ "kind": 11,
156
+ "detail": "Pages Router dynamic route paths"
157
+ }
158
+ ]
159
+ }
@@ -0,0 +1,145 @@
1
+ {
2
+ "language": "react",
3
+ "symbolPatterns": [
4
+ {
5
+ "name": "FunctionalComponentExport",
6
+ "pattern": "export\\s+(?:default\\s+)?function\\s+([A-Z][a-zA-Z0-9]*)",
7
+ "captureGroup": 1,
8
+ "kind": 11,
9
+ "detail": "Exported React functional component"
10
+ },
11
+ {
12
+ "name": "ConstComponentExport",
13
+ "pattern": "export\\s+(?:default\\s+)?const\\s+([A-Z][a-zA-Z0-9]*)\\s*(?::\\s*React\\.FC)?\\s*=",
14
+ "captureGroup": 1,
15
+ "kind": 12,
16
+ "detail": "Exported const React component"
17
+ },
18
+ {
19
+ "name": "ArrowComponentConst",
20
+ "pattern": "const\\s+([A-Z][a-zA-Z0-9]*)\\s*(?::\\s*React\\.FC[^=]*)?\\s*=\\s*(?:\\([^)]*\\)|[a-zA-Z_$][a-zA-Z0-9_$]*)\\s*=>",
21
+ "captureGroup": 1,
22
+ "kind": 12,
23
+ "detail": "Arrow function React component"
24
+ },
25
+ {
26
+ "name": "ClassComponent",
27
+ "pattern": "class\\s+([A-Z][a-zA-Z0-9]*)\\s+extends\\s+(?:React\\.)?(?:Component|PureComponent)",
28
+ "captureGroup": 1,
29
+ "kind": 4,
30
+ "detail": "Class-based React component"
31
+ },
32
+ {
33
+ "name": "CustomHook",
34
+ "pattern": "(?:export\\s+)?(?:function|const)\\s+(use[A-Z][a-zA-Z0-9]*)\\s*(?:=|\\()",
35
+ "captureGroup": 1,
36
+ "kind": 11,
37
+ "detail": "Custom React hook"
38
+ },
39
+ {
40
+ "name": "CreateContext",
41
+ "pattern": "(?:export\\s+)?const\\s+([A-Za-z][a-zA-Z0-9]*Context)\\s*=\\s*(?:React\\.)?createContext",
42
+ "captureGroup": 1,
43
+ "kind": 12,
44
+ "detail": "React Context"
45
+ },
46
+ {
47
+ "name": "MemoComponent",
48
+ "pattern": "(?:export\\s+)?const\\s+([A-Z][a-zA-Z0-9]*)\\s*=\\s*(?:React\\.)?memo\\s*\\(",
49
+ "captureGroup": 1,
50
+ "kind": 12,
51
+ "detail": "Memoized React component"
52
+ },
53
+ {
54
+ "name": "ForwardRefComponent",
55
+ "pattern": "(?:export\\s+)?const\\s+([A-Z][a-zA-Z0-9]*)\\s*=\\s*(?:React\\.)?forwardRef\\s*[<(]",
56
+ "captureGroup": 1,
57
+ "kind": 12,
58
+ "detail": "forwardRef React component"
59
+ },
60
+ {
61
+ "name": "LazyComponent",
62
+ "pattern": "const\\s+([A-Z][a-zA-Z0-9]*)\\s*=\\s*(?:React\\.)?lazy\\s*\\(",
63
+ "captureGroup": 1,
64
+ "kind": 12,
65
+ "detail": "Lazy-loaded React component"
66
+ },
67
+ {
68
+ "name": "ReducerFunction",
69
+ "pattern": "(?:export\\s+)?(?:function|const)\\s+([a-z][a-zA-Z0-9]*Reducer)\\s*(?:=|\\()",
70
+ "captureGroup": 1,
71
+ "kind": 11,
72
+ "detail": "Reducer function"
73
+ },
74
+ {
75
+ "name": "ActionType",
76
+ "pattern": "type\\s+([A-Z][a-zA-Z0-9]*Action)\\s*=",
77
+ "captureGroup": 1,
78
+ "kind": 12,
79
+ "detail": "TypeScript action type"
80
+ },
81
+ {
82
+ "name": "HOCFunction",
83
+ "pattern": "(?:export\\s+)?(?:function|const)\\s+(with[A-Z][a-zA-Z0-9]*)\\s*(?:=|\\(|<)",
84
+ "captureGroup": 1,
85
+ "kind": 11,
86
+ "detail": "Higher-Order Component"
87
+ },
88
+ {
89
+ "name": "PropsInterface",
90
+ "pattern": "(?:export\\s+)?interface\\s+([A-Z][a-zA-Z0-9]*Props)\\s*(?:<[^>]*>)?\\s*\\{",
91
+ "captureGroup": 1,
92
+ "kind": 4,
93
+ "detail": "Component props interface"
94
+ },
95
+ {
96
+ "name": "StateInterface",
97
+ "pattern": "(?:export\\s+)?interface\\s+([A-Z][a-zA-Z0-9]*State)\\s*\\{",
98
+ "captureGroup": 1,
99
+ "kind": 4,
100
+ "detail": "Component state interface"
101
+ },
102
+ {
103
+ "name": "TypeAlias",
104
+ "pattern": "(?:export\\s+)?type\\s+([A-Z][a-zA-Z0-9]*)\\s*(?:<[^>]*>)?\\s*=",
105
+ "captureGroup": 1,
106
+ "kind": 12,
107
+ "detail": "TypeScript type alias"
108
+ },
109
+ {
110
+ "name": "ContextProvider",
111
+ "pattern": "(?:export\\s+)?(?:function|const)\\s+([A-Z][a-zA-Z0-9]*Provider)\\s*(?:=|\\(|:)",
112
+ "captureGroup": 1,
113
+ "kind": 11,
114
+ "detail": "Context Provider component"
115
+ },
116
+ {
117
+ "name": "EventHandler",
118
+ "pattern": "const\\s+(handle[A-Z][a-zA-Z0-9]*)\\s*=\\s*(?:useCallback\\()?",
119
+ "captureGroup": 1,
120
+ "kind": 11,
121
+ "detail": "Event handler function"
122
+ },
123
+ {
124
+ "name": "DefaultExport",
125
+ "pattern": "export\\s+default\\s+([A-Z][a-zA-Z0-9]*)",
126
+ "captureGroup": 1,
127
+ "kind": 1,
128
+ "detail": "Default exported component"
129
+ },
130
+ {
131
+ "name": "ConstantDeclaration",
132
+ "pattern": "(?:export\\s+)?const\\s+([A-Z_][A-Z_0-9]*)\\s*=",
133
+ "captureGroup": 1,
134
+ "kind": 13,
135
+ "detail": "Constant declaration"
136
+ },
137
+ {
138
+ "name": "EnumDeclaration",
139
+ "pattern": "(?:export\\s+)?enum\\s+([A-Z][a-zA-Z0-9]*)\\s*\\{",
140
+ "captureGroup": 1,
141
+ "kind": 12,
142
+ "detail": "TypeScript enum"
143
+ }
144
+ ]
145
+ }