@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
@@ -1,65 +1,238 @@
1
- {
2
- "language": "shell",
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": ["variable", "parameter", "function", "keyword", "comment", "string", "number", "operator"],
7
- "tokenModifiers": ["declaration", "definition", "readonly", "defaultLibrary"]
8
- },
9
- "semanticRules": [
10
- {
11
- "type": "function",
12
- "pattern": "\\bfunction\\s+([a-zA-Z_][a-zA-Z0-9_]*)\\b|([a-zA-Z_][a-zA-Z0-9_]*)\\s*\\(\\s*\\)\\s*\\{",
13
- "modifiers": ["declaration"],
14
- "description": "Function declarations with function keyword or name() syntax"
15
- },
16
- {
17
- "type": "variable",
18
- "pattern": "\\$\\{([a-zA-Z_][a-zA-Z0-9_]*)([:#%/][^}]*)?\\}",
19
- "modifiers": [],
20
- "description": "Variable expansion with parameter substitution ${VAR}"
21
- },
22
- {
23
- "type": "variable",
24
- "pattern": "\\$([a-zA-Z_][a-zA-Z0-9_]*)",
25
- "modifiers": [],
26
- "description": "Simple variable references $VAR"
27
- },
28
- {
29
- "type": "variable",
30
- "pattern": "\\b([a-zA-Z_][a-zA-Z0-9_]*)=",
31
- "modifiers": ["declaration"],
32
- "description": "Variable assignments"
33
- },
34
- {
35
- "type": "function",
36
- "pattern": "\\b(echo|printf|cd|test|read|export|source|exec|eval|trap|wait|kill|exit|return|shift|unset|set)\\b",
37
- "modifiers": ["defaultLibrary"],
38
- "description": "Shell built-in commands"
39
- },
40
- {
41
- "type": "variable",
42
- "pattern": "\\$(\\?|\\$|!|#|@|\\*|-|0|[1-9])",
43
- "modifiers": ["readonly", "defaultLibrary"],
44
- "description": "Special shell variables ($?, $$, $!, $#, $@, $*)"
45
- },
46
- {
47
- "type": "keyword",
48
- "pattern": "\\b(if|then|else|elif|fi|for|while|until|do|done|case|esac|in|select)\\b",
49
- "modifiers": [],
50
- "description": "Control flow keywords"
51
- },
52
- {
53
- "type": "operator",
54
- "pattern": "(\\|\\||&&|;;|\\|&|>>|<<|<|>|&>|2>&1)",
55
- "modifiers": [],
56
- "description": "Shell redirection and logical operators"
57
- },
58
- {
59
- "type": "comment",
60
- "pattern": "#[^\\n]*",
61
- "modifiers": [],
62
- "description": "Line comments starting with #"
63
- }
64
- ]
65
- }
1
+ {
2
+ "language": "shell",
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
+ "tokenLegend": {
41
+ "tokenTypes": [
42
+ "variable",
43
+ "parameter",
44
+ "function",
45
+ "keyword",
46
+ "comment",
47
+ "string",
48
+ "number",
49
+ "operator"
50
+ ],
51
+ "tokenModifiers": [
52
+ "declaration",
53
+ "definition",
54
+ "readonly",
55
+ "defaultLibrary",
56
+ "modification"
57
+ ]
58
+ },
59
+ "semanticRules": [
60
+ {
61
+ "type": "function",
62
+ "pattern": "\\bfunction\\s+([a-zA-Z_][a-zA-Z0-9_]*)\\b|([a-zA-Z_][a-zA-Z0-9_]*)\\s*\\(\\s*\\)\\s*\\{",
63
+ "modifiers": [
64
+ "declaration"
65
+ ],
66
+ "description": "Function declarations with function keyword or name() syntax"
67
+ },
68
+ {
69
+ "type": "variable",
70
+ "pattern": "\\$\\{([a-zA-Z_][a-zA-Z0-9_]*)([:#%/][^}]*)?\\}",
71
+ "modifiers": [],
72
+ "description": "Variable expansion with parameter substitution ${VAR}"
73
+ },
74
+ {
75
+ "type": "variable",
76
+ "pattern": "\\$([a-zA-Z_][a-zA-Z0-9_]*)",
77
+ "modifiers": [],
78
+ "description": "Simple variable references $VAR"
79
+ },
80
+ {
81
+ "type": "variable",
82
+ "pattern": "\\b([a-zA-Z_][a-zA-Z0-9_]*)=",
83
+ "modifiers": [
84
+ "declaration"
85
+ ],
86
+ "description": "Variable assignments"
87
+ },
88
+ {
89
+ "type": "function",
90
+ "pattern": "\\b(echo|printf|cd|test|read|export|source|exec|eval|trap|wait|kill|exit|return|shift|unset|set)\\b",
91
+ "modifiers": [
92
+ "defaultLibrary"
93
+ ],
94
+ "description": "Shell built-in commands"
95
+ },
96
+ {
97
+ "type": "variable",
98
+ "pattern": "\\$(\\?|\\$|!|#|@|\\*|-|0|[1-9])",
99
+ "modifiers": [
100
+ "readonly",
101
+ "defaultLibrary"
102
+ ],
103
+ "description": "Special shell variables ($?, $$, $!, $#, $@, $*)"
104
+ },
105
+ {
106
+ "type": "keyword",
107
+ "pattern": "\\b(if|then|else|elif|fi|for|while|until|do|done|case|esac|in|select)\\b",
108
+ "modifiers": [],
109
+ "description": "Control flow keywords"
110
+ },
111
+ {
112
+ "type": "operator",
113
+ "pattern": "(\\|\\||&&|;;|\\|&|>>|<<|<|>|&>|2>&1)",
114
+ "modifiers": [],
115
+ "description": "Shell redirection and logical operators"
116
+ },
117
+ {
118
+ "type": "comment",
119
+ "pattern": "#[^\\n]*",
120
+ "modifiers": [],
121
+ "description": "Line comments starting with #"
122
+ },
123
+ {
124
+ "type": "function",
125
+ "pattern": "\\b([a-zA-Z_][a-zA-Z0-9_]*)\\s*\\(\\s*\\)",
126
+ "modifiers": [
127
+ "declaration"
128
+ ],
129
+ "description": "Function declarations (name() { ... })"
130
+ },
131
+ {
132
+ "type": "function",
133
+ "pattern": "\\bfunction\\s+([a-zA-Z_][a-zA-Z0-9_]*)\\b",
134
+ "modifiers": [
135
+ "declaration"
136
+ ],
137
+ "description": "Function declarations using function keyword"
138
+ },
139
+ {
140
+ "type": "variable",
141
+ "pattern": "\\$\\{[a-zA-Z_][a-zA-Z0-9_]*(:[+-][^}]*)?\\}",
142
+ "modifiers": [],
143
+ "description": "Variable expansions with parameter substitution (${VAR}, ${VAR:-default})"
144
+ },
145
+ {
146
+ "type": "variable",
147
+ "pattern": "\\$[a-zA-Z_][a-zA-Z0-9_]*",
148
+ "modifiers": [],
149
+ "description": "Simple variable references ($VAR)"
150
+ },
151
+ {
152
+ "type": "function",
153
+ "pattern": "\\b(echo|read|printf|test|eval|exec|source|export|declare|typeset)\\b",
154
+ "modifiers": [
155
+ "defaultLibrary"
156
+ ],
157
+ "description": "Shell built-in commands"
158
+ },
159
+ {
160
+ "type": "keyword",
161
+ "pattern": "\\b(local|readonly|declare|export)\\s+([a-zA-Z_][a-zA-Z0-9_]*)",
162
+ "modifiers": [
163
+ "declaration"
164
+ ],
165
+ "description": "Variable declaration keywords with local/readonly/export"
166
+ },
167
+ {
168
+ "type": "variable",
169
+ "pattern": "\\$\\{?[#!@*?$0-9]\\}?",
170
+ "modifiers": [
171
+ "readonly",
172
+ "defaultLibrary"
173
+ ],
174
+ "description": "Special shell variables ($?, $#, $@, $*, $$, $!)"
175
+ },
176
+ {
177
+ "type": "operator",
178
+ "pattern": "(\\|\\||&&|;;|<<|>>|>&|<&|\\|&)",
179
+ "modifiers": [],
180
+ "description": "Shell operators (pipe, redirect, logical)"
181
+ },
182
+ {
183
+ "type": "string",
184
+ "pattern": "\\$\\([^)]+\\)",
185
+ "modifiers": [],
186
+ "description": "Command substitution expressions"
187
+ },
188
+ {
189
+ "type": "variable",
190
+ "pattern": "\\$\\{([a-zA-Z_][a-zA-Z0-9_]*)([:#%/=^,@][^}]*)?\\}",
191
+ "modifiers": [],
192
+ "description": "Variable expansion with parameter substitution"
193
+ },
194
+ {
195
+ "type": "function",
196
+ "pattern": "\\b(autoload|zmodload|zstyle|zle|bindkey|compdef|compadd|compctl|zformat|zparseopts|zstat)\\b",
197
+ "modifiers": [
198
+ "defaultLibrary"
199
+ ],
200
+ "description": "Zsh-specific builtins including autoload and zstyle"
201
+ },
202
+ {
203
+ "type": "function",
204
+ "pattern": "\\b(echo|print|printf|cd|pushd|popd|export|source|eval|exec|trap|wait|kill|exit|return|shift|unset|set|setopt|unsetopt|typeset|local|integer|float|declare|readonly|hash|unhash|whence|where|which)\\b",
205
+ "modifiers": [
206
+ "defaultLibrary"
207
+ ],
208
+ "description": "Shell builtins and zsh extensions"
209
+ },
210
+ {
211
+ "type": "keyword",
212
+ "pattern": "\\b(if|then|else|elif|fi|for|while|until|do|done|case|esac|in|select|repeat|foreach|end|coproc)\\b",
213
+ "modifiers": [],
214
+ "description": "Control flow keywords including zsh-specific ones"
215
+ },
216
+ {
217
+ "type": "variable",
218
+ "pattern": "\\$(\\?|\\$|!|#|@|\\*|-|0|[1-9]|REPLY|reply|MATCH|match|MBEGIN|MEND|ZSH_VERSION|HISTFILE|HISTSIZE|SAVEHIST|ZDOTDIR|FPATH|fpath|path|PATH)",
219
+ "modifiers": [
220
+ "readonly",
221
+ "defaultLibrary"
222
+ ],
223
+ "description": "Special variables including zsh-specific ones"
224
+ },
225
+ {
226
+ "type": "operator",
227
+ "pattern": "(\\(\\#|\\(\\(|\\)\\)|\\[\\[|\\]\\]|\\|\\||&&|;;|;\\||&!|&\\||>>|<<|<>|>!|>&|<&)",
228
+ "modifiers": [],
229
+ "description": "Zsh operators and redirections"
230
+ },
231
+ {
232
+ "type": "keyword",
233
+ "pattern": "\\(\\*\\)|\\(@\\)|\\(\\.|\\(\\^|\\(/|\\(f|\\(\\+|\\(-|\\(r|\\(w|\\(x|\\(L|\\(N|\\(D|\\(om|\\(on",
234
+ "modifiers": [],
235
+ "description": "Glob qualifiers for filename generation"
236
+ }
237
+ ]
238
+ }
@@ -0,0 +1,161 @@
1
+ {
2
+ "language": "tailwindcss",
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", "keyword", "function", "variable", "enum", "number", "modifier", "property", "string", "comment", "operator", "decorator"],
7
+ "tokenModifiers": ["declaration", "definition", "readonly", "modification", "defaultLibrary"]
8
+ },
9
+ "semanticRules": [
10
+ {
11
+ "type": "class",
12
+ "pattern": "\\b(?:flex|grid|block|inline|hidden|table|container|relative|absolute|fixed|sticky|static|inline-block|inline-flex|inline-grid|flow-root|contents)[\\w-]*\\b",
13
+ "modifiers": [],
14
+ "description": "Tailwind utility classes — layout, display, and positioning utilities."
15
+ },
16
+ {
17
+ "type": "class",
18
+ "pattern": "\\b(?:p|m|px|py|pt|pr|pb|pl|mx|my|mt|mr|mb|ml|gap|gap-x|gap-y|space-[xy])-[\\w/]+\\b",
19
+ "modifiers": [],
20
+ "description": "Tailwind utility classes — spacing utilities (padding, margin, gap, space)."
21
+ },
22
+ {
23
+ "type": "class",
24
+ "pattern": "\\b(?:w|h|min-w|max-w|min-h|max-h|size)-[\\w/]+\\b",
25
+ "modifiers": [],
26
+ "description": "Tailwind utility classes — sizing utilities (width, height, min/max)."
27
+ },
28
+ {
29
+ "type": "class",
30
+ "pattern": "\\b(?:items|justify|self|content|place-content|place-items|place-self|justify-items|justify-self)-[\\w]+\\b",
31
+ "modifiers": [],
32
+ "description": "Tailwind utility classes — alignment and distribution utilities."
33
+ },
34
+ {
35
+ "type": "class",
36
+ "pattern": "\\b(?:flex-(?:row|col|wrap|nowrap|1|auto|initial|none|row-reverse|col-reverse|wrap-reverse)|grow|grow-0|shrink|shrink-0|order-[\\w]+)\\b",
37
+ "modifiers": [],
38
+ "description": "Tailwind utility classes — flex item properties."
39
+ },
40
+ {
41
+ "type": "class",
42
+ "pattern": "\\b(?:grid-cols|grid-rows|col-span|col-start|col-end|row-span|row-start|row-end|auto-cols|auto-rows|grid-flow)-[\\w]+\\b",
43
+ "modifiers": [],
44
+ "description": "Tailwind utility classes — CSS Grid properties."
45
+ },
46
+ {
47
+ "type": "class",
48
+ "pattern": "\\b(?:text-(?:xs|sm|base|lg|xl|2xl|3xl|4xl|5xl|6xl|7xl|8xl|9xl|left|center|right|justify|start|end|ellipsis|clip)|font-(?:thin|extralight|light|normal|medium|semibold|bold|extrabold|black|sans|serif|mono)|leading-[\\w]+|tracking-[\\w]+|uppercase|lowercase|capitalize|normal-case|italic|not-italic|underline|line-through|no-underline|truncate|whitespace-[\\w]+|break-(?:normal|words|all|keep)|line-clamp-[\\w]+|list-(?:none|disc|decimal|inside|outside)|align-[\\w]+)\\b",
49
+ "modifiers": [],
50
+ "description": "Tailwind utility classes — typography utilities."
51
+ },
52
+ {
53
+ "type": "class",
54
+ "pattern": "\\b(?:rounded|border|ring|outline|divide|shadow|opacity|blur|backdrop-blur|transition|duration|ease|delay|animate|scale|rotate|translate-[xy]|skew-[xy]|origin|cursor|select|pointer-events|resize|scroll|snap|touch|will-change|appearance|object|aspect|overflow|overscroll|isolat|sr-only|not-sr-only|content-\\[)[\\w-]*\\b",
55
+ "modifiers": [],
56
+ "description": "Tailwind utility classes — borders, effects, transforms, interactivity, and accessibility."
57
+ },
58
+ {
59
+ "type": "modifier",
60
+ "pattern": "\\b(?:sm|md|lg|xl|2xl):",
61
+ "modifiers": [],
62
+ "description": "Responsive breakpoint prefixes."
63
+ },
64
+ {
65
+ "type": "modifier",
66
+ "pattern": "\\b(?:max-sm|max-md|max-lg|max-xl|max-2xl):",
67
+ "modifiers": [],
68
+ "description": "Max-width responsive breakpoint prefixes."
69
+ },
70
+ {
71
+ "type": "modifier",
72
+ "pattern": "\\b(?:hover|focus|active|visited|disabled|first|last|odd|even|focus-within|focus-visible|checked|required|invalid|placeholder-shown|autofill|read-only|empty|default|indeterminate|enabled|in-range|out-of-range):",
73
+ "modifiers": [],
74
+ "description": "State variant prefixes — pseudo-class modifiers."
75
+ },
76
+ {
77
+ "type": "modifier",
78
+ "pattern": "\\b(?:before|after|placeholder|file|marker|selection|first-line|first-letter|backdrop):",
79
+ "modifiers": [],
80
+ "description": "Pseudo-element variant prefixes."
81
+ },
82
+ {
83
+ "type": "modifier",
84
+ "pattern": "\\b(?:dark|group-hover|group-focus|group-active|group-focus-within|group-focus-visible|peer-focus|peer-checked|peer-hover|peer-disabled|peer-invalid|peer-placeholder-shown|peer-focus-visible):",
85
+ "modifiers": [],
86
+ "description": "Dark mode, group, and peer variant prefixes."
87
+ },
88
+ {
89
+ "type": "modifier",
90
+ "pattern": "\\b(?:motion-safe|motion-reduce|print|portrait|landscape|rtl|ltr|contrast-more|contrast-less|forced-colors):",
91
+ "modifiers": [],
92
+ "description": "Media query variant prefixes (motion, orientation, direction, accessibility)."
93
+ },
94
+ {
95
+ "type": "modifier",
96
+ "pattern": "\\baria-(?:checked|disabled|expanded|hidden|pressed|readonly|required|selected):",
97
+ "modifiers": [],
98
+ "description": "ARIA attribute variant prefixes."
99
+ },
100
+ {
101
+ "type": "modifier",
102
+ "pattern": "\\bdata-\\[[^\\]]+\\]:",
103
+ "modifiers": [],
104
+ "description": "Data attribute variant prefixes."
105
+ },
106
+ {
107
+ "type": "modifier",
108
+ "pattern": "\\b(?:supports|has|min|max)-\\[[^\\]]+\\]:",
109
+ "modifiers": [],
110
+ "description": "Conditional variant prefixes (supports, has, min, max)."
111
+ },
112
+ {
113
+ "type": "keyword",
114
+ "pattern": "@(?:tailwind|apply|layer|config|screen|responsive|variants)\\b",
115
+ "modifiers": ["declaration"],
116
+ "description": "Tailwind CSS directives as keywords."
117
+ },
118
+ {
119
+ "type": "function",
120
+ "pattern": "\\b(?:theme|screen)\\s*\\(",
121
+ "modifiers": [],
122
+ "description": "Tailwind CSS functions: theme() and screen()."
123
+ },
124
+ {
125
+ "type": "enum",
126
+ "pattern": "\\b(?:bg|text|border|ring|shadow|outline|fill|stroke|from|via|to|divide|placeholder|accent|caret|ring-offset|decoration)-(?:slate|gray|zinc|neutral|stone|red|orange|amber|yellow|lime|green|emerald|teal|cyan|sky|blue|indigo|violet|purple|fuchsia|pink|rose)-(?:50|100|200|300|400|500|600|700|800|900|950)\\b",
127
+ "modifiers": [],
128
+ "description": "Color utility classes — resolved from the Tailwind color palette."
129
+ },
130
+ {
131
+ "type": "enum",
132
+ "pattern": "\\b(?:bg|text|border|ring|shadow|divide|fill|stroke|accent|caret|ring-offset|decoration|outline)-(?:white|black|transparent|current|inherit)\\b",
133
+ "modifiers": [],
134
+ "description": "Special color utilities — white, black, transparent, current, inherit."
135
+ },
136
+ {
137
+ "type": "number",
138
+ "pattern": "\\b(?:p|m|w|h|gap|text|border|rounded|ring|shadow|opacity|blur|duration|size|inset|top|right|bottom|left|z|space-[xy]|gap-[xy]|divide-[xy]|ring-offset|outline|outline-offset|columns|order|scale|rotate|skew-[xy]|translate-[xy]|delay|scroll-[mp]|snap-[mpxy]|hue-rotate|brightness|contrast|saturate|backdrop-(?:blur|brightness|contrast|opacity|saturate)|drop-shadow|line-clamp)-\\d+[\\w/]*\\b",
139
+ "modifiers": [],
140
+ "description": "Numeric spacing/sizing utility classes."
141
+ },
142
+ {
143
+ "type": "variable",
144
+ "pattern": "\\b\\w+-\\[[^\\]]+\\]\\b",
145
+ "modifiers": [],
146
+ "description": "Arbitrary value utilities using bracket notation (e.g. w-[200px], bg-[#ff0000])."
147
+ },
148
+ {
149
+ "type": "operator",
150
+ "pattern": "!(?=[\\w-])",
151
+ "modifiers": [],
152
+ "description": "Important modifier prefix (!) on utility classes."
153
+ },
154
+ {
155
+ "type": "decorator",
156
+ "pattern": "-(?=(?:m|mx|my|mt|mr|mb|ml|p|translate|rotate|skew|scale|order|tracking|inset|top|right|bottom|left|z|space|indent|scroll-m|hue-rotate))",
157
+ "modifiers": [],
158
+ "description": "Negative value prefix (-) on applicable utility classes."
159
+ }
160
+ ]
161
+ }
@@ -0,0 +1,182 @@
1
+ {
2
+ "language": "angular",
3
+ "signatures": [
4
+ {
5
+ "label": "signal<T>(initialValue: T, options?: CreateSignalOptions<T>): WritableSignal<T>",
6
+ "documentation": "Creates a writable signal with an initial value. Signals are reactive primitives that notify consumers when their value changes.",
7
+ "parameters": [
8
+ { "label": "initialValue", "documentation": "The initial value of the signal" },
9
+ { "label": "options", "documentation": "Optional configuration including an equality function for change detection" }
10
+ ]
11
+ },
12
+ {
13
+ "label": "computed<T>(computation: () => T, options?: CreateComputedOptions<T>): Signal<T>",
14
+ "documentation": "Creates a computed signal that derives its value from other signals. The computation is memoized and only re-evaluated when dependencies change.",
15
+ "parameters": [
16
+ { "label": "computation", "documentation": "A function that computes the derived value from other signals" },
17
+ { "label": "options", "documentation": "Optional configuration including an equality function" }
18
+ ]
19
+ },
20
+ {
21
+ "label": "effect(effectFn: (onCleanup: EffectCleanupRegisterFn) => void, options?: CreateEffectOptions): EffectRef",
22
+ "documentation": "Creates a reactive side effect that runs when its signal dependencies change. Effects are scheduled to execute asynchronously.",
23
+ "parameters": [
24
+ { "label": "effectFn", "documentation": "A function to execute reactively, receives an onCleanup callback for registering cleanup logic" },
25
+ { "label": "options", "documentation": "Optional effect configuration including injector and manual cleanup settings" }
26
+ ]
27
+ },
28
+ {
29
+ "label": "input<T>(initialValue?: T, options?: InputOptions<T>): InputSignal<T>",
30
+ "documentation": "Declares a signal-based component input. Replaces the @Input() decorator with a reactive signal-based alternative.",
31
+ "parameters": [
32
+ { "label": "initialValue", "documentation": "Optional default value for the input. If omitted, the input is required" },
33
+ { "label": "options", "documentation": "Optional configuration including alias and transform function" }
34
+ ]
35
+ },
36
+ {
37
+ "label": "output<T>(options?: OutputOptions): OutputEmitterRef<T>",
38
+ "documentation": "Declares a signal-based component output. Replaces the @Output() decorator with a declarative alternative.",
39
+ "parameters": [
40
+ { "label": "options", "documentation": "Optional configuration including an alias for the output name" }
41
+ ]
42
+ },
43
+ {
44
+ "label": "inject<T>(token: ProviderToken<T>, options?: InjectOptions): T",
45
+ "documentation": "Injects a dependency from the Angular dependency injection system. Can be used in constructors, field initializers, and factory functions.",
46
+ "parameters": [
47
+ { "label": "token", "documentation": "The DI token (class, InjectionToken, or AbstractType) to inject" },
48
+ { "label": "options", "documentation": "Optional injection flags: optional, self, skipSelf, host" }
49
+ ]
50
+ },
51
+ {
52
+ "label": "@Component({ selector, template, templateUrl, styles, styleUrls, standalone, imports, providers, changeDetection, encapsulation, animations, host })",
53
+ "documentation": "Decorator that marks a class as an Angular component and provides configuration metadata for template rendering, styling, and dependency injection.",
54
+ "parameters": [
55
+ { "label": "selector", "documentation": "CSS selector that identifies the component in templates" },
56
+ { "label": "template", "documentation": "Inline template string for the component" },
57
+ { "label": "templateUrl", "documentation": "URL to an external template file" },
58
+ { "label": "styles", "documentation": "Array of inline CSS style strings" },
59
+ { "label": "styleUrls", "documentation": "Array of URLs to external stylesheet files" },
60
+ { "label": "standalone", "documentation": "Whether the component is standalone (default true in Angular 19+)" },
61
+ { "label": "imports", "documentation": "Array of dependencies to import for standalone components" },
62
+ { "label": "providers", "documentation": "Array of dependency injection providers scoped to this component" },
63
+ { "label": "changeDetection", "documentation": "Change detection strategy: Default or OnPush" }
64
+ ]
65
+ },
66
+ {
67
+ "label": "@NgModule({ declarations, imports, exports, providers, bootstrap })",
68
+ "documentation": "Decorator that marks a class as an Angular NgModule and provides configuration metadata for the compilation and dependency injection context.",
69
+ "parameters": [
70
+ { "label": "declarations", "documentation": "Array of components, directives, and pipes belonging to this module" },
71
+ { "label": "imports", "documentation": "Array of modules whose exported classes are needed by this module" },
72
+ { "label": "exports", "documentation": "Array of declarations to make available to importing modules" },
73
+ { "label": "providers", "documentation": "Array of dependency injection providers" },
74
+ { "label": "bootstrap", "documentation": "Array of root components to bootstrap when this module is loaded" }
75
+ ]
76
+ },
77
+ {
78
+ "label": "Router.navigate(commands: any[], extras?: NavigationExtras): Promise<boolean>",
79
+ "documentation": "Navigates to a new URL based on an array of route commands. Returns a promise that resolves to true on success.",
80
+ "parameters": [
81
+ { "label": "commands", "documentation": "Array of route path segments and parameters for navigation" },
82
+ { "label": "extras", "documentation": "Optional navigation settings: queryParams, fragment, relativeTo, skipLocationChange, replaceUrl" }
83
+ ]
84
+ },
85
+ {
86
+ "label": "new FormControl<T>(value?: T, validatorOrOpts?: ValidatorFn | ValidatorFn[] | FormControlOptions, asyncValidator?: AsyncValidatorFn | AsyncValidatorFn[]): FormControl<T>",
87
+ "documentation": "Creates a new FormControl instance for reactive forms, tracking value and validation state of an individual form input.",
88
+ "parameters": [
89
+ { "label": "value", "documentation": "The initial value of the control" },
90
+ { "label": "validatorOrOpts", "documentation": "Synchronous validators or a configuration object with validators and updateOn strategy" },
91
+ { "label": "asyncValidator", "documentation": "Async validator or array of async validators" }
92
+ ]
93
+ },
94
+ {
95
+ "label": "new FormGroup<T>(controls: T, validatorOrOpts?: ValidatorFn | ValidatorFn[] | AbstractControlOptions, asyncValidator?: AsyncValidatorFn | AsyncValidatorFn[]): FormGroup<T>",
96
+ "documentation": "Creates a new FormGroup instance that groups multiple form controls, tracking their aggregate value and validation state.",
97
+ "parameters": [
98
+ { "label": "controls", "documentation": "A map of child controls with their keys used as control names" },
99
+ { "label": "validatorOrOpts", "documentation": "Synchronous validators or a configuration object" },
100
+ { "label": "asyncValidator", "documentation": "Async validator or array of async validators" }
101
+ ]
102
+ },
103
+ {
104
+ "label": "FormBuilder.group(controls: { [key: string]: any }, options?: AbstractControlOptions): FormGroup",
105
+ "documentation": "Constructs a FormGroup from a configuration object, reducing boilerplate for reactive form creation.",
106
+ "parameters": [
107
+ { "label": "controls", "documentation": "A map of control names to their values, validators, or FormControl configurations" },
108
+ { "label": "options", "documentation": "Optional group-level validators and updateOn strategy" }
109
+ ]
110
+ },
111
+ {
112
+ "label": "HttpClient.get<T>(url: string, options?: HttpOptions): Observable<T>",
113
+ "documentation": "Sends an HTTP GET request to the specified URL and returns an Observable of the typed response body.",
114
+ "parameters": [
115
+ { "label": "url", "documentation": "The endpoint URL for the GET request" },
116
+ { "label": "options", "documentation": "Optional HTTP settings: headers, params, responseType, observe, withCredentials, context, transferCache" }
117
+ ]
118
+ },
119
+ {
120
+ "label": "HttpClient.post<T>(url: string, body: any, options?: HttpOptions): Observable<T>",
121
+ "documentation": "Sends an HTTP POST request with a request body to the specified URL.",
122
+ "parameters": [
123
+ { "label": "url", "documentation": "The endpoint URL for the POST request" },
124
+ { "label": "body", "documentation": "The request payload to send" },
125
+ { "label": "options", "documentation": "Optional HTTP settings: headers, params, responseType, observe, withCredentials" }
126
+ ]
127
+ },
128
+ {
129
+ "label": "HttpClient.put<T>(url: string, body: any, options?: HttpOptions): Observable<T>",
130
+ "documentation": "Sends an HTTP PUT request with a request body to the specified URL.",
131
+ "parameters": [
132
+ { "label": "url", "documentation": "The endpoint URL for the PUT request" },
133
+ { "label": "body", "documentation": "The request payload to send" },
134
+ { "label": "options", "documentation": "Optional HTTP settings: headers, params, responseType, observe, withCredentials" }
135
+ ]
136
+ },
137
+ {
138
+ "label": "HttpClient.delete<T>(url: string, options?: HttpOptions): Observable<T>",
139
+ "documentation": "Sends an HTTP DELETE request to the specified URL.",
140
+ "parameters": [
141
+ { "label": "url", "documentation": "The endpoint URL for the DELETE request" },
142
+ { "label": "options", "documentation": "Optional HTTP settings: headers, params, responseType, observe, withCredentials, body" }
143
+ ]
144
+ },
145
+ {
146
+ "label": "Validators.compose(validators: ValidatorFn[]): ValidatorFn | null",
147
+ "documentation": "Composes multiple synchronous validators into a single validator function that returns the union of all error maps.",
148
+ "parameters": [
149
+ { "label": "validators", "documentation": "Array of validator functions to compose" }
150
+ ]
151
+ },
152
+ {
153
+ "label": "TestBed.configureTestingModule(moduleDef: TestModuleMetadata): TestBed",
154
+ "documentation": "Configures the testing module with declarations, imports, providers, and schemas for Angular unit tests.",
155
+ "parameters": [
156
+ { "label": "moduleDef", "documentation": "Module metadata: declarations, imports, providers, schemas, teardown, errorOnUnknownElements, errorOnUnknownProperties" }
157
+ ]
158
+ },
159
+ {
160
+ "label": "provideRouter(routes: Routes, ...features: RouterFeatures[]): EnvironmentProviders",
161
+ "documentation": "Provides the Angular Router configuration as environment providers for standalone application bootstrapping.",
162
+ "parameters": [
163
+ { "label": "routes", "documentation": "The array of route definitions for the application" },
164
+ { "label": "features", "documentation": "Optional router features: withComponentInputBinding, withHashLocation, withPreloading, withDebugTracing" }
165
+ ]
166
+ },
167
+ {
168
+ "label": "withComponentInputBinding(): RouterFeature<RouterFeatureKind.ComponentInputBindingFeature>",
169
+ "documentation": "Enables binding route parameters (path params, query params, data) directly to routed component inputs.",
170
+ "parameters": []
171
+ },
172
+ {
173
+ "label": "EventEmitter.emit(value?: T): void",
174
+ "documentation": "Emits a value to all subscribers of this event emitter. Used with @Output() properties to send data from child to parent components.",
175
+ "parameters": [
176
+ { "label": "value", "documentation": "The value to emit to parent component event handlers" }
177
+ ]
178
+ }
179
+ ],
180
+ "triggerCharacters": ["(", ",", "<"],
181
+ "retriggerCharacters": [","]
182
+ }