@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,87 @@
1
+ {
2
+ "language": "react",
3
+ "selectionRange": {
4
+ "bracketPairs": [
5
+ ["(", ")"],
6
+ ["{", "}"],
7
+ ["[", "]"],
8
+ ["<", ">"]
9
+ ],
10
+ "stringDelimiters": ["\"", "'", "`"],
11
+ "blockPatterns": [
12
+ {
13
+ "description": "JSX element",
14
+ "startPattern": "<([A-Z][a-zA-Z0-9.]*)",
15
+ "endPattern": "<\\/\\1>"
16
+ },
17
+ {
18
+ "description": "HTML element",
19
+ "startPattern": "<([a-z][a-z0-9]*)",
20
+ "endPattern": "<\\/\\1>"
21
+ },
22
+ {
23
+ "description": "JSX self-closing",
24
+ "startPattern": "<[A-Za-z][a-zA-Z0-9.]*\\s",
25
+ "endPattern": "\\/>"
26
+ },
27
+ {
28
+ "description": "JSX expression",
29
+ "startPattern": "\\{",
30
+ "endPattern": "\\}"
31
+ },
32
+ {
33
+ "description": "Arrow function body",
34
+ "startPattern": "=>\\s*\\{",
35
+ "endPattern": "\\}"
36
+ },
37
+ {
38
+ "description": "Function body",
39
+ "startPattern": "\\)\\s*\\{",
40
+ "endPattern": "\\}"
41
+ },
42
+ {
43
+ "description": "Return statement with parens",
44
+ "startPattern": "return\\s*\\(",
45
+ "endPattern": "\\)"
46
+ },
47
+ {
48
+ "description": "Conditional block",
49
+ "startPattern": "if\\s*\\(",
50
+ "endPattern": "\\}"
51
+ },
52
+ {
53
+ "description": "Ternary expression",
54
+ "startPattern": "\\?\\s",
55
+ "endPattern": ":\\s"
56
+ },
57
+ {
58
+ "description": "Template literal",
59
+ "startPattern": "`",
60
+ "endPattern": "`"
61
+ },
62
+ {
63
+ "description": "Hook call",
64
+ "startPattern": "use[A-Z][a-zA-Z0-9]*\\(",
65
+ "endPattern": "\\)"
66
+ }
67
+ ],
68
+ "expansionHierarchy": [
69
+ "word",
70
+ "string_content",
71
+ "string",
72
+ "jsx_attribute_value",
73
+ "jsx_attribute",
74
+ "jsx_opening_element",
75
+ "jsx_expression",
76
+ "jsx_element",
77
+ "hook_call",
78
+ "statement",
79
+ "block",
80
+ "function_body",
81
+ "function_declaration",
82
+ "component",
83
+ "export_statement",
84
+ "program"
85
+ ]
86
+ }
87
+ }
@@ -0,0 +1,89 @@
1
+ {
2
+ "language": "shadcn",
3
+ "selectionPatterns": [
4
+ {
5
+ "name": "stringLiteral",
6
+ "pattern": "([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*\\1",
7
+ "captureGroup": 0,
8
+ "description": "Select a single or double quoted string literal"
9
+ },
10
+ {
11
+ "name": "templateLiteral",
12
+ "pattern": "`(?:[^`\\\\]|\\\\.)*`",
13
+ "captureGroup": 0,
14
+ "description": "Select a template literal string including backticks"
15
+ },
16
+ {
17
+ "name": "jsxElement",
18
+ "pattern": "<([A-Z][a-zA-Z0-9.]*)[^>]*>(?:[\\s\\S]*?)</\\1>|<([A-Z][a-zA-Z0-9.]*)[^>]*/>",
19
+ "captureGroup": 0,
20
+ "description": "Select an entire JSX element including opening and closing tags"
21
+ },
22
+ {
23
+ "name": "jsxAttributeValue",
24
+ "pattern": "(?<==)(?:\\{[^}]*\\}|\"[^\"]*\"|'[^']*')",
25
+ "captureGroup": 0,
26
+ "description": "Select a JSX attribute value (string or expression)"
27
+ },
28
+ {
29
+ "name": "functionParameters",
30
+ "pattern": "\\(([^()]*)\\)",
31
+ "captureGroup": 1,
32
+ "description": "Select the parameters inside a function's parentheses"
33
+ },
34
+ {
35
+ "name": "classNameString",
36
+ "pattern": "className\\s*=\\s*(?:\"([^\"]*)\"|'([^']*)'|\\{([^}]*)\\})",
37
+ "captureGroup": 0,
38
+ "description": "Select the full className attribute value"
39
+ },
40
+ {
41
+ "name": "cnArguments",
42
+ "pattern": "cn\\(([^)]*)\\)",
43
+ "captureGroup": 1,
44
+ "description": "Select the arguments inside a cn() utility call"
45
+ },
46
+ {
47
+ "name": "cvaVariantValues",
48
+ "pattern": "variants\\s*:\\s*\\{([\\s\\S]*?)\\}(?=\\s*[,}])",
49
+ "captureGroup": 1,
50
+ "description": "Select the variant values object inside a cva() config"
51
+ },
52
+ {
53
+ "name": "objectProperty",
54
+ "pattern": "([a-zA-Z_$][a-zA-Z0-9_$]*)\\s*:\\s*([^,}]+)",
55
+ "captureGroup": 0,
56
+ "description": "Select a single object property (key: value pair)"
57
+ },
58
+ {
59
+ "name": "arrayElement",
60
+ "pattern": "(?<=\\[|,)\\s*([^,\\]]+)",
61
+ "captureGroup": 1,
62
+ "description": "Select a single element within an array literal"
63
+ },
64
+ {
65
+ "name": "typeAnnotation",
66
+ "pattern": ":\\s*([A-Z][a-zA-Z0-9<>,\\s|&\\[\\]]*)",
67
+ "captureGroup": 1,
68
+ "description": "Select a TypeScript type annotation after a colon"
69
+ },
70
+ {
71
+ "name": "genericType",
72
+ "pattern": "<([A-Z][a-zA-Z0-9,\\s<>]*)>",
73
+ "captureGroup": 1,
74
+ "description": "Select the type parameters inside angle brackets"
75
+ },
76
+ {
77
+ "name": "importSpecifiers",
78
+ "pattern": "\\{\\s*([^}]+)\\s*\\}\\s*from",
79
+ "captureGroup": 1,
80
+ "description": "Select the named import specifiers within an import statement"
81
+ },
82
+ {
83
+ "name": "formFieldBlock",
84
+ "pattern": "<FormField[\\s\\S]*?</FormField>|<FormField[^>]*/>",
85
+ "captureGroup": 0,
86
+ "description": "Select an entire FormField component block including children"
87
+ }
88
+ ]
89
+ }
@@ -1,35 +1,65 @@
1
- {
2
- "language": "shell",
3
- "selectionRanges": {
4
- "bracketPairs": [["(", ")"], ["{", "}"], ["[", "]"], ["[[", "]]"]],
5
- "stringDelimiters": ["\"", "'", "`"],
6
- "blockPatterns": [
7
- {
8
- "start": "\\bfunction\\s+\\w+|\\w+\\s*\\(\\)\\s*\\{",
9
- "end": "\\}",
10
- "description": "Function definition"
11
- },
12
- {
13
- "start": "\\bif\\b",
14
- "end": "\\bfi\\b",
15
- "description": "If conditional block"
16
- },
17
- {
18
- "start": "\\bfor\\b|\\bwhile\\b|\\buntil\\b",
19
- "end": "\\bdone\\b",
20
- "description": "Loop block"
21
- },
22
- {
23
- "start": "\\bcase\\b",
24
- "end": "\\besac\\b",
25
- "description": "Case statement block"
26
- },
27
- {
28
- "start": "<<-?\\s*['\"]?(\\w+)['\"]?",
29
- "end": "^\\1$",
30
- "description": "Here-document block"
31
- }
32
- ],
33
- "expansionHierarchy": ["word", "expression", "command", "pipeline", "statement", "block", "function", "file"]
34
- }
35
- }
1
+ {
2
+ "language": "shell",
3
+ "selectionRanges": {
4
+ "bracketPairs": [
5
+ [
6
+ "(",
7
+ ")"
8
+ ],
9
+ [
10
+ "{",
11
+ "}"
12
+ ],
13
+ [
14
+ "[",
15
+ "]"
16
+ ],
17
+ [
18
+ "[[",
19
+ "]]"
20
+ ]
21
+ ],
22
+ "stringDelimiters": [
23
+ "\"",
24
+ "'",
25
+ "`"
26
+ ],
27
+ "blockPatterns": [
28
+ {
29
+ "start": "\\bfunction\\s+\\w+|\\w+\\s*\\(\\)\\s*\\{",
30
+ "end": "\\}",
31
+ "description": "Function definition"
32
+ },
33
+ {
34
+ "start": "\\bif\\b",
35
+ "end": "\\bfi\\b",
36
+ "description": "If conditional block"
37
+ },
38
+ {
39
+ "start": "\\bfor\\b|\\bwhile\\b|\\buntil\\b",
40
+ "end": "\\bdone\\b",
41
+ "description": "Loop block"
42
+ },
43
+ {
44
+ "start": "\\bcase\\b",
45
+ "end": "\\besac\\b",
46
+ "description": "Case statement block"
47
+ },
48
+ {
49
+ "start": "<<-?\\s*['\"]?(\\w+)['\"]?",
50
+ "end": "^\\1$",
51
+ "description": "Here-document block"
52
+ }
53
+ ],
54
+ "expansionHierarchy": [
55
+ "word",
56
+ "expression",
57
+ "command",
58
+ "pipeline",
59
+ "statement",
60
+ "block",
61
+ "function",
62
+ "file"
63
+ ]
64
+ }
65
+ }
@@ -0,0 +1,198 @@
1
+ {
2
+ "language": "angular",
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": "@Component\\b",
43
+ "tokenType": "decorator",
44
+ "tokenModifiers": ["definition"],
45
+ "description": "Angular @Component decorator"
46
+ },
47
+ {
48
+ "pattern": "@Injectable\\b",
49
+ "tokenType": "decorator",
50
+ "tokenModifiers": ["definition"],
51
+ "description": "Angular @Injectable decorator"
52
+ },
53
+ {
54
+ "pattern": "@NgModule\\b",
55
+ "tokenType": "decorator",
56
+ "tokenModifiers": ["definition"],
57
+ "description": "Angular @NgModule decorator"
58
+ },
59
+ {
60
+ "pattern": "@Directive\\b",
61
+ "tokenType": "decorator",
62
+ "tokenModifiers": ["definition"],
63
+ "description": "Angular @Directive decorator"
64
+ },
65
+ {
66
+ "pattern": "@Pipe\\b",
67
+ "tokenType": "decorator",
68
+ "tokenModifiers": ["definition"],
69
+ "description": "Angular @Pipe decorator"
70
+ },
71
+ {
72
+ "pattern": "@Input\\b",
73
+ "tokenType": "decorator",
74
+ "tokenModifiers": ["definition"],
75
+ "description": "Angular @Input property decorator"
76
+ },
77
+ {
78
+ "pattern": "@Output\\b",
79
+ "tokenType": "decorator",
80
+ "tokenModifiers": ["definition"],
81
+ "description": "Angular @Output property decorator"
82
+ },
83
+ {
84
+ "pattern": "@ViewChild\\b|@ViewChildren\\b|@ContentChild\\b|@ContentChildren\\b",
85
+ "tokenType": "decorator",
86
+ "tokenModifiers": ["definition"],
87
+ "description": "Angular query decorators for view and content children"
88
+ },
89
+ {
90
+ "pattern": "\\b(ngOnInit|ngOnDestroy|ngOnChanges|ngAfterViewInit|ngAfterContentInit|ngDoCheck|ngAfterViewChecked|ngAfterContentChecked)\\b",
91
+ "tokenType": "method",
92
+ "tokenModifiers": ["definition"],
93
+ "description": "Angular lifecycle hook methods"
94
+ },
95
+ {
96
+ "pattern": "\\bsignal\\s*(<[^>]*>)?\\s*\\(",
97
+ "tokenType": "function",
98
+ "tokenModifiers": ["defaultLibrary"],
99
+ "description": "Angular signal() creation function"
100
+ },
101
+ {
102
+ "pattern": "\\bcomputed\\s*\\(",
103
+ "tokenType": "function",
104
+ "tokenModifiers": ["defaultLibrary"],
105
+ "description": "Angular computed() signal function"
106
+ },
107
+ {
108
+ "pattern": "\\beffect\\s*\\(",
109
+ "tokenType": "function",
110
+ "tokenModifiers": ["defaultLibrary"],
111
+ "description": "Angular effect() function for reactive side effects"
112
+ },
113
+ {
114
+ "pattern": "\\binput\\s*(<[^>]*>)?\\s*\\(",
115
+ "tokenType": "function",
116
+ "tokenModifiers": ["defaultLibrary"],
117
+ "description": "Angular input() signal-based input function"
118
+ },
119
+ {
120
+ "pattern": "\\boutput\\s*(<[^>]*>)?\\s*\\(",
121
+ "tokenType": "function",
122
+ "tokenModifiers": ["defaultLibrary"],
123
+ "description": "Angular output() signal-based output function"
124
+ },
125
+ {
126
+ "pattern": "\\binject\\s*(<[^>]*>)?\\s*\\(",
127
+ "tokenType": "function",
128
+ "tokenModifiers": ["defaultLibrary"],
129
+ "description": "Angular inject() function for dependency injection"
130
+ },
131
+ {
132
+ "pattern": "\\b(map|filter|switchMap|mergeMap|concatMap|exhaustMap|tap|catchError|takeUntil|debounceTime|distinctUntilChanged|combineLatest|forkJoin|of|from|pipe)\\b",
133
+ "tokenType": "function",
134
+ "tokenModifiers": ["defaultLibrary"],
135
+ "description": "RxJS operators and creation functions"
136
+ },
137
+ {
138
+ "pattern": "@(if|else|for|switch|case|default|defer|placeholder|loading|error|empty)\\b",
139
+ "tokenType": "keyword",
140
+ "tokenModifiers": [],
141
+ "description": "Angular built-in template control flow syntax keywords"
142
+ },
143
+ {
144
+ "pattern": "\\b(InjectionToken|inject|provide|useClass|useValue|useFactory|useExisting)\\b",
145
+ "tokenType": "variable",
146
+ "tokenModifiers": ["defaultLibrary"],
147
+ "description": "Angular dependency injection tokens and provider configuration"
148
+ },
149
+ {
150
+ "pattern": "\\b(CanActivate|CanDeactivate|CanActivateChild|CanMatch|Resolve)\\b",
151
+ "tokenType": "interface",
152
+ "tokenModifiers": [],
153
+ "description": "Angular route guard interfaces"
154
+ },
155
+ {
156
+ "pattern": "\\b\\w+Pipe\\b|\\b(DatePipe|CurrencyPipe|DecimalPipe|PercentPipe|JsonPipe|SlicePipe|AsyncPipe|UpperCasePipe|LowerCasePipe|TitleCasePipe|KeyValuePipe)\\b",
157
+ "tokenType": "class",
158
+ "tokenModifiers": [],
159
+ "description": "Angular pipe class names"
160
+ },
161
+ {
162
+ "pattern": "\\b(Validators\\.required|Validators\\.min|Validators\\.max|Validators\\.minLength|Validators\\.maxLength|Validators\\.pattern|Validators\\.email|Validators\\.compose)\\b",
163
+ "tokenType": "method",
164
+ "tokenModifiers": ["static", "defaultLibrary"],
165
+ "description": "Angular form validators"
166
+ },
167
+ {
168
+ "pattern": "\\bclass\\s+([A-Z][a-zA-Z0-9]*(?:Component|Service|Directive|Module|Pipe|Guard|Interceptor|Resolver))\\b",
169
+ "tokenType": "class",
170
+ "tokenModifiers": ["declaration"],
171
+ "description": "Angular class declarations with conventional suffixes"
172
+ },
173
+ {
174
+ "pattern": "\\binterface\\s+([A-Z][a-zA-Z0-9]*)\\b",
175
+ "tokenType": "interface",
176
+ "tokenModifiers": ["declaration"],
177
+ "description": "Interface declarations"
178
+ },
179
+ {
180
+ "pattern": "\\benum\\s+([A-Z][a-zA-Z0-9]*)\\b",
181
+ "tokenType": "enum",
182
+ "tokenModifiers": ["declaration"],
183
+ "description": "Enum declarations"
184
+ },
185
+ {
186
+ "pattern": "\\b([A-Z][A-Z0-9_]+)\\b",
187
+ "tokenType": "variable",
188
+ "tokenModifiers": ["readonly"],
189
+ "description": "Constant variables in UPPER_SNAKE_CASE"
190
+ },
191
+ {
192
+ "pattern": "<([A-Z]\\w*)>",
193
+ "tokenType": "typeParameter",
194
+ "tokenModifiers": [],
195
+ "description": "Generic type parameters in angle brackets"
196
+ }
197
+ ]
198
+ }
@@ -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
+ }