@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,21 @@
1
+ {
2
+ "language": "nestjs",
3
+ "selectionRange": {
4
+ "patterns": [
5
+ { "description": "String content", "pattern": "(?<=['\"`])([^'\"`]*?)(?=['\"`])", "priority": 1 },
6
+ { "description": "String with quotes", "pattern": "['\"`][^'\"`]*['\"`]", "priority": 2 },
7
+ { "description": "Decorator arguments", "pattern": "@\\w+\\(([^)]*)\\)", "priority": 1 },
8
+ { "description": "Full decorator", "pattern": "@\\w+\\([^)]*\\)", "priority": 2 },
9
+ { "description": "Function parameters", "pattern": "\\(([^)]*)\\)", "priority": 1 },
10
+ { "description": "Generic type params", "pattern": "<([^>]+)>", "priority": 1 },
11
+ { "description": "Method signature", "pattern": "(?:async\\s+)?\\w+\\s*\\([^)]*\\)(?:\\s*:\\s*[^{]+)?", "priority": 2 },
12
+ { "description": "Method body", "pattern": "(?:async\\s+)?\\w+\\s*\\([^)]*\\)[^{]*\\{[\\s\\S]*?\\}", "priority": 3 },
13
+ { "description": "Class body", "pattern": "class\\s+\\w+[^{]*\\{[\\s\\S]*?\\n\\}", "priority": 4 },
14
+ { "description": "Object literal", "pattern": "\\{[\\s\\S]*?\\}", "priority": 2 },
15
+ { "description": "Array literal", "pattern": "\\[[\\s\\S]*?\\]", "priority": 2 },
16
+ { "description": "Import statement", "pattern": "import\\s+(?:\\{[^}]*\\}|\\w+(?:\\s*,\\s*\\{[^}]*\\})?)\\s+from\\s+['\"][^'\"]+['\"];?", "priority": 3 },
17
+ { "description": "Template literal expression", "pattern": "\\$\\{([^}]+)\\}", "priority": 1 },
18
+ { "description": "Arrow function", "pattern": "\\([^)]*\\)\\s*=>\\s*(?:\\{[\\s\\S]*?\\}|[^;,]+)", "priority": 2 }
19
+ ]
20
+ }
21
+ }
@@ -0,0 +1,22 @@
1
+ {
2
+ "language": "nextjs",
3
+ "selectionRange": {
4
+ "patterns": [
5
+ { "description": "String content", "pattern": "(?<=['\"`])([^'\"`]*?)(?=['\"`])", "priority": 1 },
6
+ { "description": "String with quotes", "pattern": "['\"`][^'\"`]*['\"`]", "priority": 2 },
7
+ { "description": "JSX attribute value", "pattern": "\\{([^}]+)\\}", "priority": 1 },
8
+ { "description": "JSX attribute", "pattern": "\\b\\w+=(?:\\{[^}]+\\}|\"[^\"]*\"|'[^']*')", "priority": 2 },
9
+ { "description": "JSX opening tag", "pattern": "<([A-Z][a-zA-Z0-9.]*)[^>]*>", "priority": 3 },
10
+ { "description": "JSX element", "pattern": "<([A-Z][a-zA-Z0-9.]*)[^>]*>[\\s\\S]*?<\\/\\1>", "priority": 4 },
11
+ { "description": "Function parameters", "pattern": "\\(([^)]*)\\)", "priority": 1 },
12
+ { "description": "Function signature", "pattern": "(?:async\\s+)?function\\s+\\w+\\s*\\([^)]*\\)", "priority": 2 },
13
+ { "description": "Function body", "pattern": "(?:async\\s+)?function\\s+\\w+\\s*\\([^)]*\\)\\s*(?::\\s*\\w+)?\\s*\\{[\\s\\S]*?\\}", "priority": 3 },
14
+ { "description": "Arrow function", "pattern": "\\([^)]*\\)\\s*=>\\s*(?:\\{[\\s\\S]*?\\}|[^;,]+)", "priority": 2 },
15
+ { "description": "Object literal", "pattern": "\\{[\\s\\S]*?\\}", "priority": 2 },
16
+ { "description": "Array literal", "pattern": "\\[[\\s\\S]*?\\]", "priority": 2 },
17
+ { "description": "Import statement", "pattern": "import\\s+(?:\\{[^}]*\\}|\\w+(?:\\s*,\\s*\\{[^}]*\\})?)\\s+from\\s+['\"][^'\"]+['\"];?", "priority": 3 },
18
+ { "description": "Template literal expression", "pattern": "\\$\\{([^}]+)\\}", "priority": 1 },
19
+ { "description": "Ternary expression", "pattern": "[^?]+\\?[^:]+:[^;,)]+", "priority": 2 }
20
+ ]
21
+ }
22
+ }
@@ -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,35 @@
1
+ {
2
+ "language": "tailwindcss",
3
+ "selectionPatterns": [
4
+ {
5
+ "pattern": "[\\w:-]+",
6
+ "expandTo": "utility-class",
7
+ "description": "Select a single Tailwind utility class (e.g. 'flex', 'p-4', 'hover:bg-blue-500')."
8
+ },
9
+ {
10
+ "pattern": "[\\w:-]+(?:\\s+[\\w:-]+)*",
11
+ "expandTo": "class-list",
12
+ "description": "Expand selection to the full list of space-separated utility classes."
13
+ },
14
+ {
15
+ "pattern": "@apply\\s+[\\w\\s:-]+;",
16
+ "expandTo": "apply-rule",
17
+ "description": "Expand selection to the entire @apply rule including directive and semicolon."
18
+ },
19
+ {
20
+ "pattern": "\\.[\\w-]+\\s*\\{[^}]*\\}",
21
+ "expandTo": "rule-block",
22
+ "description": "Expand selection to the entire CSS rule block including selector and braces."
23
+ },
24
+ {
25
+ "pattern": "@layer\\s+\\w+\\s*\\{[\\s\\S]*?\\}",
26
+ "expandTo": "layer-block",
27
+ "description": "Expand selection to the entire @layer block including contents."
28
+ },
29
+ {
30
+ "pattern": "class\\s*=\\s*[\"'][^\"']*[\"']",
31
+ "expandTo": "class-attribute",
32
+ "description": "Expand selection to the full class attribute including quotes."
33
+ }
34
+ ]
35
+ }
@@ -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,107 @@
1
+ {
2
+ "language": "css",
3
+ "tokenTypes": ["namespace", "type", "class", "enum", "interface", "struct", "typeParameter", "parameter", "variable", "property", "enumMember", "event", "function", "method", "macro", "keyword", "modifier", "comment", "string", "number", "regexp", "operator", "decorator"],
4
+ "tokenModifiers": ["declaration", "definition", "readonly", "static", "deprecated", "abstract", "async", "modification", "documentation", "defaultLibrary"],
5
+ "tokenLegend": {
6
+ "tokenTypes": ["class", "variable", "property", "keyword", "function", "number", "string", "comment", "operator", "decorator", "enum", "modifier", "namespace"],
7
+ "tokenModifiers": ["declaration", "definition", "readonly", "deprecated", "documentation", "defaultLibrary"]
8
+ },
9
+ "semanticRules": [
10
+ {
11
+ "type": "class",
12
+ "pattern": "\\.[a-zA-Z_][a-zA-Z0-9_-]*",
13
+ "modifiers": [],
14
+ "description": "CSS class selectors (.classname). Styled as class type for visual distinction from other selector types."
15
+ },
16
+ {
17
+ "type": "class",
18
+ "pattern": "#[a-zA-Z_][a-zA-Z0-9_-]*",
19
+ "modifiers": ["readonly"],
20
+ "description": "CSS ID selectors (#idname). Styled as class with readonly modifier since IDs should be unique."
21
+ },
22
+ {
23
+ "type": "property",
24
+ "pattern": "(?<=^\\s*|;\\s*)[a-z][a-z-]*(?=\\s*:)",
25
+ "modifiers": [],
26
+ "description": "CSS property names (display, margin, color, etc.). Core declarations that assign values to styling properties."
27
+ },
28
+ {
29
+ "type": "variable",
30
+ "pattern": "--[a-zA-Z_][a-zA-Z0-9_-]*(?=\\s*:)",
31
+ "modifiers": ["declaration", "definition"],
32
+ "description": "CSS custom property definitions (--variable-name: value). Marked as variable declarations."
33
+ },
34
+ {
35
+ "type": "variable",
36
+ "pattern": "var\\(\\s*--[a-zA-Z_][a-zA-Z0-9_-]*",
37
+ "modifiers": [],
38
+ "description": "CSS custom property references inside var(). Styled as variable to match the definition."
39
+ },
40
+ {
41
+ "type": "keyword",
42
+ "pattern": "@(media|keyframes|supports|layer|container|font-face|import|charset|namespace|page|counter-style|property|scope)\\b",
43
+ "modifiers": [],
44
+ "description": "CSS at-rule keywords (@media, @keyframes, @supports, etc.). Styled as keyword for first-class language constructs."
45
+ },
46
+ {
47
+ "type": "modifier",
48
+ "pattern": ":(hover|focus|active|visited|first-child|last-child|nth-child|nth-of-type|not|is|where|has|focus-visible|focus-within|checked|disabled|enabled|empty|root|target|lang|any-link|placeholder-shown|required|optional|valid|invalid|in-range|out-of-range|read-only|read-write|default|indeterminate|first-of-type|last-of-type|only-child|only-of-type)\\b",
49
+ "modifiers": [],
50
+ "description": "CSS pseudo-classes (:hover, :focus, :nth-child, etc.). Styled as modifiers since they modify selector matching behavior."
51
+ },
52
+ {
53
+ "type": "decorator",
54
+ "pattern": "::(before|after|first-line|first-letter|selection|placeholder|marker|backdrop|file-selector-button|cue|part|slotted|highlight|spelling-error|grammar-error|target-text)\\b",
55
+ "modifiers": [],
56
+ "description": "CSS pseudo-elements (::before, ::after, ::placeholder, etc.). Styled as decorators since they create virtual sub-elements."
57
+ },
58
+ {
59
+ "type": "function",
60
+ "pattern": "(calc|var|min|max|clamp|env|attr|url|linear-gradient|radial-gradient|conic-gradient|repeating-linear-gradient|repeating-radial-gradient|image-set|counter|counters|fit-content|minmax|repeat|translateX?|translateY|translate3d|rotateX?|rotateY|rotateZ|rotate3d|scaleX?|scaleY|scale3d|skewX?|skewY|matrix|matrix3d|perspective|cubic-bezier|steps|rgb|rgba|hsl|hsla|oklch|oklab|lab|lch|color|color-mix|light-dark)\\s*\\(",
61
+ "modifiers": [],
62
+ "description": "CSS function calls (calc(), var(), linear-gradient(), etc.). Styled as functions for identifiable invocations."
63
+ },
64
+ {
65
+ "type": "enum",
66
+ "pattern": "#[0-9a-fA-F]{3,8}\\b",
67
+ "modifiers": [],
68
+ "description": "CSS hex color values (#fff, #ff0000, #ff000080). Styled as enum for color constant identification."
69
+ },
70
+ {
71
+ "type": "number",
72
+ "pattern": "-?\\d+(\\.\\d+)?(px|em|rem|%|vw|vh|vmin|vmax|svh|svw|dvh|dvw|ch|ex|lh|rlh|cap|ic|cqw|cqh|cqi|cqb|cqmin|cqmax|deg|rad|grad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx|fr)?\\b",
73
+ "modifiers": [],
74
+ "description": "CSS numeric values with units (16px, 1.5rem, 100%, 360deg, 0.3s, 1fr). Includes all CSS unit types."
75
+ },
76
+ {
77
+ "type": "string",
78
+ "pattern": "['\"][^'\"]*['\"]",
79
+ "modifiers": [],
80
+ "description": "CSS string literals in quotes. Used in content property, font-family names, url() paths, and attribute selectors."
81
+ },
82
+ {
83
+ "type": "comment",
84
+ "pattern": "/\\*[\\s\\S]*?\\*/",
85
+ "modifiers": [],
86
+ "description": "CSS comments (/* ... */). CSS only supports block comments, not line comments."
87
+ },
88
+ {
89
+ "type": "operator",
90
+ "pattern": "[>+~|](?=\\s*[.#a-zA-Z*:\\[])",
91
+ "modifiers": [],
92
+ "description": "CSS selector combinators: > (child), + (adjacent sibling), ~ (general sibling), || (column)."
93
+ },
94
+ {
95
+ "type": "namespace",
96
+ "pattern": "@media\\s+[^{]+",
97
+ "modifiers": [],
98
+ "description": "Media query conditions. Styled as namespace since they define a contextual scope for enclosed rules."
99
+ },
100
+ {
101
+ "type": "keyword",
102
+ "pattern": "!important\\b",
103
+ "modifiers": ["deprecated"],
104
+ "description": "CSS !important flag. Marked as deprecated modifier to discourage overuse in modern CSS (prefer cascade layers)."
105
+ }
106
+ ]
107
+ }