@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,40 @@
1
+ {
2
+ "language": "css",
3
+ "linkedEditingPatterns": [
4
+ {
5
+ "pattern": "(--(([a-zA-Z_][a-zA-Z0-9_-]*)))\\s*:.*var\\(\\s*\\1\\s*(?:,[^)]*)?\\)",
6
+ "wordPattern": "[a-zA-Z_][a-zA-Z0-9_-]*",
7
+ "description": "Linked editing between CSS custom property definition (--name: value) and var(--name) references. Renaming one updates all occurrences."
8
+ },
9
+ {
10
+ "pattern": "@keyframes\\s+([a-zA-Z_][a-zA-Z0-9_-]*).*animation(?:-name)?\\s*:\\s*\\1",
11
+ "wordPattern": "[a-zA-Z_][a-zA-Z0-9_-]*",
12
+ "description": "Linked editing between @keyframes name and animation-name references. Editing the animation name in either location synchronizes both."
13
+ },
14
+ {
15
+ "pattern": "@font-face\\s*\\{[^}]*font-family\\s*:\\s*['\"]?([^'\";}]+).*font-family\\s*:[^;]*\\1",
16
+ "wordPattern": "[a-zA-Z][a-zA-Z0-9 _-]+",
17
+ "description": "Linked editing between @font-face font-family declaration and font-family usage in rules. Keeps font names in sync."
18
+ },
19
+ {
20
+ "pattern": "@layer\\s+([a-zA-Z_][a-zA-Z0-9_-]*)\\s*[{;]",
21
+ "wordPattern": "[a-zA-Z_][a-zA-Z0-9_-]*",
22
+ "description": "Linked editing between @layer declarations and layer references. Editing a layer name in one location updates @layer blocks and @import layer() assignments."
23
+ },
24
+ {
25
+ "pattern": "grid-template-areas\\s*:[^;]*\"[^\"]*([a-zA-Z_][a-zA-Z0-9_-]*).*grid-area\\s*:\\s*\\1",
26
+ "wordPattern": "[a-zA-Z_][a-zA-Z0-9_-]*",
27
+ "description": "Linked editing between grid-template-areas names and grid-area references. Renaming an area in the template updates the grid-area assignments."
28
+ },
29
+ {
30
+ "pattern": "counter-reset\\s*:\\s*([a-zA-Z_][a-zA-Z0-9_-]*).*counter\\(\\s*\\1",
31
+ "wordPattern": "[a-zA-Z_][a-zA-Z0-9_-]*",
32
+ "description": "Linked editing between counter-reset definition and counter()/counters() references. Keeps counter names in sync."
33
+ },
34
+ {
35
+ "pattern": "@counter-style\\s+([a-zA-Z_][a-zA-Z0-9_-]*).*list-style-type\\s*:\\s*\\1",
36
+ "wordPattern": "[a-zA-Z_][a-zA-Z0-9_-]*",
37
+ "description": "Linked editing between @counter-style name and list-style-type references."
38
+ }
39
+ ]
40
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "language": "nestjs",
3
+ "linkedEditingRanges": {
4
+ "patterns": [
5
+ { "description": "Generic type parameter pairs", "openPattern": "<(\\w+)>", "closePattern": "<(\\w+)>", "captureGroup": 1 },
6
+ { "description": "Template literal variable", "pattern": "\\$\\{(\\w+)\\}", "captureGroup": 1 }
7
+ ],
8
+ "wordPattern": "[a-zA-Z_$][a-zA-Z0-9_$]*"
9
+ }
10
+ }
@@ -0,0 +1,11 @@
1
+ {
2
+ "language": "nextjs",
3
+ "linkedEditingRanges": {
4
+ "patterns": [
5
+ { "description": "JSX tag pairs", "openPattern": "<([A-Z][a-zA-Z0-9.]*)", "closePattern": "<\\/([A-Z][a-zA-Z0-9.]*)", "captureGroup": 1 },
6
+ { "description": "HTML tag pairs", "openPattern": "<([a-z][a-z0-9]*)", "closePattern": "<\\/([a-z][a-z0-9]*)", "captureGroup": 1 },
7
+ { "description": "Template literal variable", "pattern": "\\$\\{(\\w+)\\}", "captureGroup": 1 }
8
+ ],
9
+ "wordPattern": "[a-zA-Z_$][a-zA-Z0-9_$.]*"
10
+ }
11
+ }
@@ -0,0 +1,75 @@
1
+ {
2
+ "language": "react",
3
+ "linkedEditingRanges": {
4
+ "wordPattern": "[a-zA-Z_$][a-zA-Z0-9_$]*(?:\\.[a-zA-Z_$][a-zA-Z0-9_$]*)*",
5
+ "patterns": [
6
+ {
7
+ "description": "JSX custom component tags",
8
+ "openPattern": "<([A-Z][a-zA-Z0-9.]*)(?:\\s[^>]*)?>",
9
+ "closePattern": "<\\/([A-Z][a-zA-Z0-9.]*)\\s*>",
10
+ "captureGroup": 1
11
+ },
12
+ {
13
+ "description": "JSX HTML element tags",
14
+ "openPattern": "<([a-z][a-z0-9]*)(?:\\s[^>]*)?>",
15
+ "closePattern": "<\\/([a-z][a-z0-9]*)\\s*>",
16
+ "captureGroup": 1
17
+ },
18
+ {
19
+ "description": "JSX namespaced component tags",
20
+ "openPattern": "<([A-Z][a-zA-Z0-9]*\\.[A-Z][a-zA-Z0-9]*)(?:\\s[^>]*)?>",
21
+ "closePattern": "<\\/([A-Z][a-zA-Z0-9]*\\.[A-Z][a-zA-Z0-9]*)\\s*>",
22
+ "captureGroup": 1
23
+ },
24
+ {
25
+ "description": "Context Provider tags",
26
+ "openPattern": "<(\\w+Context\\.Provider)(?:\\s[^>]*)?>",
27
+ "closePattern": "<\\/(\\w+Context\\.Provider)\\s*>",
28
+ "captureGroup": 1
29
+ },
30
+ {
31
+ "description": "Context Consumer tags",
32
+ "openPattern": "<(\\w+Context\\.Consumer)(?:\\s[^>]*)?>",
33
+ "closePattern": "<\\/(\\w+Context\\.Consumer)\\s*>",
34
+ "captureGroup": 1
35
+ },
36
+ {
37
+ "description": "React.Fragment tags",
38
+ "openPattern": "<(React\\.Fragment)(?:\\s[^>]*)?>",
39
+ "closePattern": "<\\/(React\\.Fragment)\\s*>",
40
+ "captureGroup": 1
41
+ },
42
+ {
43
+ "description": "Fragment shorthand",
44
+ "openPattern": "(<)>",
45
+ "closePattern": "(<)\\/>",
46
+ "captureGroup": 0,
47
+ "note": "Short fragment syntax <> and </>"
48
+ },
49
+ {
50
+ "description": "Suspense tags",
51
+ "openPattern": "<(Suspense)(?:\\s[^>]*)?>",
52
+ "closePattern": "<\\/(Suspense)\\s*>",
53
+ "captureGroup": 1
54
+ },
55
+ {
56
+ "description": "StrictMode tags",
57
+ "openPattern": "<(StrictMode)(?:\\s[^>]*)?>",
58
+ "closePattern": "<\\/(StrictMode)\\s*>",
59
+ "captureGroup": 1
60
+ },
61
+ {
62
+ "description": "Profiler tags",
63
+ "openPattern": "<(Profiler)(?:\\s[^>]*)?>",
64
+ "closePattern": "<\\/(Profiler)\\s*>",
65
+ "captureGroup": 1
66
+ },
67
+ {
68
+ "description": "ErrorBoundary tags",
69
+ "openPattern": "<(ErrorBoundary)(?:\\s[^>]*)?>",
70
+ "closePattern": "<\\/(ErrorBoundary)\\s*>",
71
+ "captureGroup": 1
72
+ }
73
+ ]
74
+ }
75
+ }
@@ -0,0 +1,23 @@
1
+ {
2
+ "language": "shadcn",
3
+ "linkedEditingPatterns": [
4
+ {
5
+ "name": "jsxOpenCloseTag",
6
+ "openPattern": "<([A-Z][a-zA-Z0-9.]*)(?:\\s[^>]*)?>",
7
+ "closePattern": "</([A-Z][a-zA-Z0-9.]*)>",
8
+ "description": "Link JSX opening and closing component tag names for simultaneous editing"
9
+ },
10
+ {
11
+ "name": "htmlTagPairInJsx",
12
+ "openPattern": "<([a-z][a-z0-9]*)(?:\\s[^>]*)?>",
13
+ "closePattern": "</([a-z][a-z0-9]*)>",
14
+ "description": "Link HTML opening and closing tag names within JSX for simultaneous editing"
15
+ },
16
+ {
17
+ "name": "templateLiteralTag",
18
+ "openPattern": "([a-zA-Z_$][a-zA-Z0-9_$]*)\\s*`",
19
+ "closePattern": "`",
20
+ "description": "Link tagged template literal tag expression with its usage"
21
+ }
22
+ ]
23
+ }
@@ -1,25 +1,25 @@
1
- {
2
- "language": "shell",
3
- "wordPattern": "[a-zA-Z_][a-zA-Z0-9_]*",
4
- "linkedEditingPatterns": [
5
- {
6
- "type": "tag_pair",
7
- "openPattern": "\\bif\\b",
8
- "closePattern": "\\bfi\\b",
9
- "description": "Shell if/fi block pair"
10
- },
11
- {
12
- "type": "tag_pair",
13
- "openPattern": "\\bcase\\b",
14
- "closePattern": "\\besac\\b",
15
- "description": "Shell case/esac block pair"
16
- },
17
- {
18
- "type": "tag_pair",
19
- "openPattern": "\\b(for|while|until)\\b.*\\bdo\\b",
20
- "closePattern": "\\bdone\\b",
21
- "description": "Shell loop do/done block pair"
22
- }
23
- ],
24
- "supported": true
25
- }
1
+ {
2
+ "language": "shell",
3
+ "wordPattern": "[a-zA-Z_][a-zA-Z0-9_]*",
4
+ "linkedEditingPatterns": [
5
+ {
6
+ "type": "tag_pair",
7
+ "openPattern": "\\bif\\b",
8
+ "closePattern": "\\bfi\\b",
9
+ "description": "Shell if/fi block pair"
10
+ },
11
+ {
12
+ "type": "tag_pair",
13
+ "openPattern": "\\bcase\\b",
14
+ "closePattern": "\\besac\\b",
15
+ "description": "Shell case/esac block pair"
16
+ },
17
+ {
18
+ "type": "tag_pair",
19
+ "openPattern": "\\b(for|while|until)\\b.*\\bdo\\b",
20
+ "closePattern": "\\bdone\\b",
21
+ "description": "Shell loop do/done block pair"
22
+ }
23
+ ],
24
+ "supported": true
25
+ }
@@ -0,0 +1,30 @@
1
+ {
2
+ "language": "tailwindcss",
3
+ "linkedEditingPatterns": [
4
+ {
5
+ "pattern": "@apply\\s+([\\w:-]+)",
6
+ "wordPattern": "[\\w:-]+",
7
+ "description": "Linked editing between @apply class reference and its utility class definition — renaming one updates the other."
8
+ },
9
+ {
10
+ "pattern": "@layer\\s+(base|components|utilities)",
11
+ "wordPattern": "\\w+",
12
+ "description": "Linked editing for @layer names — renaming a layer name updates all @layer and @tailwind references."
13
+ },
14
+ {
15
+ "pattern": "\\.([\\w-]+)\\s*\\{",
16
+ "wordPattern": "[\\w-]+",
17
+ "description": "Linked editing for custom class names — renaming a class selector updates all usages in class attributes."
18
+ },
19
+ {
20
+ "pattern": "@keyframes\\s+([\\w-]+)",
21
+ "wordPattern": "[\\w-]+",
22
+ "description": "Linked editing for @keyframes names — renaming updates animation-name references."
23
+ },
24
+ {
25
+ "pattern": "class\\s*=\\s*[\"'][^\"']*\\b([\\w-]+)\\b",
26
+ "wordPattern": "[\\w-]+",
27
+ "description": "Linked editing for custom class names used in HTML class attributes."
28
+ }
29
+ ]
30
+ }
@@ -0,0 +1,95 @@
1
+ {
2
+ "language": "angular",
3
+ "linkPatterns": [
4
+ {
5
+ "pattern": "from\\s+['\"](@angular\\/core)['\"]",
6
+ "captureGroup": 1,
7
+ "tooltip": "Open Angular Core API docs",
8
+ "urlTemplate": "https://angular.dev/api/core"
9
+ },
10
+ {
11
+ "pattern": "from\\s+['\"](@angular\\/common)['\"]",
12
+ "captureGroup": 1,
13
+ "tooltip": "Open Angular Common API docs",
14
+ "urlTemplate": "https://angular.dev/api/common"
15
+ },
16
+ {
17
+ "pattern": "from\\s+['\"](@angular\\/common\\/http)['\"]",
18
+ "captureGroup": 1,
19
+ "tooltip": "Open Angular HTTP Client API docs",
20
+ "urlTemplate": "https://angular.dev/api/common/http"
21
+ },
22
+ {
23
+ "pattern": "from\\s+['\"](@angular\\/router)['\"]",
24
+ "captureGroup": 1,
25
+ "tooltip": "Open Angular Router API docs",
26
+ "urlTemplate": "https://angular.dev/api/router"
27
+ },
28
+ {
29
+ "pattern": "from\\s+['\"](@angular\\/forms)['\"]",
30
+ "captureGroup": 1,
31
+ "tooltip": "Open Angular Forms API docs",
32
+ "urlTemplate": "https://angular.dev/api/forms"
33
+ },
34
+ {
35
+ "pattern": "from\\s+['\"](@angular\\/platform-browser)['\"]",
36
+ "captureGroup": 1,
37
+ "tooltip": "Open Angular Platform Browser API docs",
38
+ "urlTemplate": "https://angular.dev/api/platform-browser"
39
+ },
40
+ {
41
+ "pattern": "from\\s+['\"](@angular\\/animations)['\"]",
42
+ "captureGroup": 1,
43
+ "tooltip": "Open Angular Animations API docs",
44
+ "urlTemplate": "https://angular.dev/api/animations"
45
+ },
46
+ {
47
+ "pattern": "from\\s+['\"](@angular\\/core\\/rxjs-interop)['\"]",
48
+ "captureGroup": 1,
49
+ "tooltip": "Open Angular RxJS Interop API docs",
50
+ "urlTemplate": "https://angular.dev/api/core/rxjs-interop"
51
+ },
52
+ {
53
+ "pattern": "templateUrl\\s*:\\s*['\"]([^'\"]+)['\"]",
54
+ "captureGroup": 1,
55
+ "tooltip": "Open template file"
56
+ },
57
+ {
58
+ "pattern": "styleUrls?\\s*:\\s*\\[?\\s*['\"]([^'\"]+)['\"]",
59
+ "captureGroup": 1,
60
+ "tooltip": "Open stylesheet file"
61
+ },
62
+ {
63
+ "pattern": "loadComponent\\s*:\\s*\\(\\)\\s*=>\\s*import\\(['\"]([^'\"]+)['\"]\\)",
64
+ "captureGroup": 1,
65
+ "tooltip": "Open lazy-loaded component module"
66
+ },
67
+ {
68
+ "pattern": "loadChildren\\s*:\\s*\\(\\)\\s*=>\\s*import\\(['\"]([^'\"]+)['\"]\\)",
69
+ "captureGroup": 1,
70
+ "tooltip": "Open lazy-loaded child routes module"
71
+ },
72
+ {
73
+ "pattern": "(?:from|import)\\s+['\"](\\.{1,2}\\/[^'\"]+)['\"]",
74
+ "captureGroup": 1,
75
+ "tooltip": "Open relative import"
76
+ },
77
+ {
78
+ "pattern": "from\\s+['\"](@angular\\/[\\w\\-\\/]+)['\"]",
79
+ "captureGroup": 1,
80
+ "tooltip": "Open Angular package docs",
81
+ "urlTemplate": "https://angular.dev/api/{1}"
82
+ },
83
+ {
84
+ "pattern": "from\\s+['\"](rxjs(?:\\/operators)?)['\"]",
85
+ "captureGroup": 1,
86
+ "tooltip": "Open RxJS documentation",
87
+ "urlTemplate": "https://rxjs.dev/api/{1}"
88
+ },
89
+ {
90
+ "pattern": "https?://[^\\s'\"`,;)\\]>]+",
91
+ "captureGroup": 0,
92
+ "tooltip": "Open URL"
93
+ }
94
+ ]
95
+ }
@@ -0,0 +1,55 @@
1
+ {
2
+ "language": "css",
3
+ "linkPatterns": [
4
+ {
5
+ "pattern": "url\\(['\"]?([^'\"\\)]+)['\"]?\\)",
6
+ "captureGroup": 1,
7
+ "tooltip": "Open resource: ${1} — CSS url() reference to an external file (image, font, stylesheet, or other resource)."
8
+ },
9
+ {
10
+ "pattern": "@import\\s+url\\(['\"]?([^'\"\\)]+)['\"]?\\)",
11
+ "captureGroup": 1,
12
+ "tooltip": "Open imported stylesheet: ${1} — @import rule loading an external CSS file."
13
+ },
14
+ {
15
+ "pattern": "@import\\s+['\"]([^'\"]+)['\"]",
16
+ "captureGroup": 1,
17
+ "tooltip": "Open imported stylesheet: ${1} — @import rule using string URL syntax."
18
+ },
19
+ {
20
+ "pattern": "src:\\s*(?:url\\(['\"]?([^'\"\\)]+\\.(?:woff2?|ttf|otf|eot|svg))['\"]?\\))",
21
+ "captureGroup": 1,
22
+ "tooltip": "Open font file: ${1} — @font-face source reference to a web font file."
23
+ },
24
+ {
25
+ "pattern": "background(?:-image)?\\s*:[^;]*url\\(['\"]?([^'\"\\)]+)['\"]?\\)",
26
+ "captureGroup": 1,
27
+ "tooltip": "Open background image: ${1} — Background image resource referenced by url()."
28
+ },
29
+ {
30
+ "pattern": "list-style-image\\s*:\\s*url\\(['\"]?([^'\"\\)]+)['\"]?\\)",
31
+ "captureGroup": 1,
32
+ "tooltip": "Open list marker image: ${1} — Custom list marker image."
33
+ },
34
+ {
35
+ "pattern": "cursor\\s*:\\s*url\\(['\"]?([^'\"\\)]+)['\"]?\\)",
36
+ "captureGroup": 1,
37
+ "tooltip": "Open cursor image: ${1} — Custom cursor image resource."
38
+ },
39
+ {
40
+ "pattern": "content\\s*:\\s*url\\(['\"]?([^'\"\\)]+)['\"]?\\)",
41
+ "captureGroup": 1,
42
+ "tooltip": "Open content resource: ${1} — Replaced content image for pseudo-elements."
43
+ },
44
+ {
45
+ "pattern": "mask(?:-image)?\\s*:[^;]*url\\(['\"]?([^'\"\\)]+)['\"]?\\)",
46
+ "captureGroup": 1,
47
+ "tooltip": "Open mask image: ${1} — CSS mask image resource (SVG or image)."
48
+ },
49
+ {
50
+ "pattern": "image-set\\([^)]*url\\(['\"]?([^'\"\\)]+)['\"]?\\)",
51
+ "captureGroup": 1,
52
+ "tooltip": "Open image from image-set: ${1} — Resolution-dependent image resource."
53
+ }
54
+ ]
55
+ }
@@ -0,0 +1,130 @@
1
+ {
2
+ "language": "nestjs",
3
+ "linkPatterns": [
4
+ {
5
+ "pattern": "from\\s+['\"](@nestjs/common)['\"]",
6
+ "captureGroup": 1,
7
+ "tooltip": "NestJS Common module - core decorators, pipes, guards, and utilities",
8
+ "urlTemplate": "https://docs.nestjs.com/"
9
+ },
10
+ {
11
+ "pattern": "from\\s+['\"](@nestjs/core)['\"]",
12
+ "captureGroup": 1,
13
+ "tooltip": "NestJS Core module - NestFactory, ModuleRef, Reflector",
14
+ "urlTemplate": "https://docs.nestjs.com/"
15
+ },
16
+ {
17
+ "pattern": "from\\s+['\"](@nestjs/config)['\"]",
18
+ "captureGroup": 1,
19
+ "tooltip": "NestJS Configuration module",
20
+ "urlTemplate": "https://docs.nestjs.com/techniques/configuration"
21
+ },
22
+ {
23
+ "pattern": "from\\s+['\"](@nestjs/typeorm)['\"]",
24
+ "captureGroup": 1,
25
+ "tooltip": "NestJS TypeORM integration module",
26
+ "urlTemplate": "https://docs.nestjs.com/techniques/database"
27
+ },
28
+ {
29
+ "pattern": "from\\s+['\"](@nestjs/mongoose)['\"]",
30
+ "captureGroup": 1,
31
+ "tooltip": "NestJS Mongoose ODM integration module",
32
+ "urlTemplate": "https://docs.nestjs.com/techniques/mongodb"
33
+ },
34
+ {
35
+ "pattern": "from\\s+['\"](@nestjs/swagger)['\"]",
36
+ "captureGroup": 1,
37
+ "tooltip": "NestJS Swagger/OpenAPI integration module",
38
+ "urlTemplate": "https://docs.nestjs.com/openapi/introduction"
39
+ },
40
+ {
41
+ "pattern": "from\\s+['\"](@nestjs/jwt)['\"]",
42
+ "captureGroup": 1,
43
+ "tooltip": "NestJS JWT authentication module",
44
+ "urlTemplate": "https://docs.nestjs.com/security/authentication"
45
+ },
46
+ {
47
+ "pattern": "from\\s+['\"](@nestjs/passport)['\"]",
48
+ "captureGroup": 1,
49
+ "tooltip": "NestJS Passport authentication module",
50
+ "urlTemplate": "https://docs.nestjs.com/security/authentication"
51
+ },
52
+ {
53
+ "pattern": "from\\s+['\"](@nestjs/microservices)['\"]",
54
+ "captureGroup": 1,
55
+ "tooltip": "NestJS Microservices module",
56
+ "urlTemplate": "https://docs.nestjs.com/microservices/basics"
57
+ },
58
+ {
59
+ "pattern": "from\\s+['\"](@nestjs/websockets)['\"]",
60
+ "captureGroup": 1,
61
+ "tooltip": "NestJS WebSockets module",
62
+ "urlTemplate": "https://docs.nestjs.com/websockets/gateways"
63
+ },
64
+ {
65
+ "pattern": "from\\s+['\"](@nestjs/testing)['\"]",
66
+ "captureGroup": 1,
67
+ "tooltip": "NestJS Testing utilities module",
68
+ "urlTemplate": "https://docs.nestjs.com/fundamentals/testing"
69
+ },
70
+ {
71
+ "pattern": "from\\s+['\"](@nestjs/schedule)['\"]",
72
+ "captureGroup": 1,
73
+ "tooltip": "NestJS Task scheduling module",
74
+ "urlTemplate": "https://docs.nestjs.com/techniques/task-scheduling"
75
+ },
76
+ {
77
+ "pattern": "from\\s+['\"](@nestjs/graphql)['\"]",
78
+ "captureGroup": 1,
79
+ "tooltip": "NestJS GraphQL integration module",
80
+ "urlTemplate": "https://docs.nestjs.com/graphql/quick-start"
81
+ },
82
+ {
83
+ "pattern": "from\\s+['\"](@nestjs/throttler)['\"]",
84
+ "captureGroup": 1,
85
+ "tooltip": "NestJS Rate limiting module",
86
+ "urlTemplate": "https://docs.nestjs.com/security/rate-limiting"
87
+ },
88
+ {
89
+ "pattern": "from\\s+['\"](@nestjs/[a-z-]+)['\"]",
90
+ "captureGroup": 1,
91
+ "tooltip": "NestJS package: ${1}",
92
+ "urlTemplate": "https://docs.nestjs.com/"
93
+ },
94
+ {
95
+ "pattern": "from\\s+['\"](typeorm)['\"]",
96
+ "captureGroup": 1,
97
+ "tooltip": "TypeORM - ORM for TypeScript and JavaScript",
98
+ "urlTemplate": "https://typeorm.io/"
99
+ },
100
+ {
101
+ "pattern": "from\\s+['\"](mongoose)['\"]",
102
+ "captureGroup": 1,
103
+ "tooltip": "Mongoose - MongoDB ODM for Node.js",
104
+ "urlTemplate": "https://mongoosejs.com/docs/"
105
+ },
106
+ {
107
+ "pattern": "from\\s+['\"](class-validator)['\"]",
108
+ "captureGroup": 1,
109
+ "tooltip": "class-validator - Decorator-based validation",
110
+ "urlTemplate": "https://github.com/typestack/class-validator"
111
+ },
112
+ {
113
+ "pattern": "from\\s+['\"](class-transformer)['\"]",
114
+ "captureGroup": 1,
115
+ "tooltip": "class-transformer - Object transformation decorators",
116
+ "urlTemplate": "https://github.com/typestack/class-transformer"
117
+ },
118
+ {
119
+ "pattern": "from\\s+['\"](\\.{1,2}/[^'\"]+)['\"]",
120
+ "captureGroup": 1,
121
+ "tooltip": "Navigate to relative file: ${1}"
122
+ },
123
+ {
124
+ "pattern": "from\\s+['\"](rxjs(?:/operators)?)['\"]",
125
+ "captureGroup": 1,
126
+ "tooltip": "RxJS - Reactive Extensions Library for JavaScript",
127
+ "urlTemplate": "https://rxjs.dev/"
128
+ }
129
+ ]
130
+ }
@@ -0,0 +1,91 @@
1
+ {
2
+ "language": "nextjs",
3
+ "linkPatterns": [
4
+ {
5
+ "pattern": "from\\s+['\"]next/image['\"]",
6
+ "captureGroup": 0,
7
+ "tooltip": "Next.js Image Optimization component",
8
+ "urlTemplate": "https://nextjs.org/docs/app/api-reference/components/image"
9
+ },
10
+ {
11
+ "pattern": "from\\s+['\"]next/link['\"]",
12
+ "captureGroup": 0,
13
+ "tooltip": "Next.js Link component for client-side navigation",
14
+ "urlTemplate": "https://nextjs.org/docs/app/api-reference/components/link"
15
+ },
16
+ {
17
+ "pattern": "from\\s+['\"]next/navigation['\"]",
18
+ "captureGroup": 0,
19
+ "tooltip": "Next.js navigation hooks and utilities (App Router)",
20
+ "urlTemplate": "https://nextjs.org/docs/app/api-reference/functions"
21
+ },
22
+ {
23
+ "pattern": "from\\s+['\"]next/font/google['\"]",
24
+ "captureGroup": 0,
25
+ "tooltip": "Next.js Google Font optimization",
26
+ "urlTemplate": "https://nextjs.org/docs/app/building-your-application/optimizing/fonts"
27
+ },
28
+ {
29
+ "pattern": "from\\s+['\"]next/font/local['\"]",
30
+ "captureGroup": 0,
31
+ "tooltip": "Next.js local font optimization",
32
+ "urlTemplate": "https://nextjs.org/docs/app/building-your-application/optimizing/fonts"
33
+ },
34
+ {
35
+ "pattern": "from\\s+['\"]next/script['\"]",
36
+ "captureGroup": 0,
37
+ "tooltip": "Next.js Script component for third-party scripts",
38
+ "urlTemplate": "https://nextjs.org/docs/app/api-reference/components/script"
39
+ },
40
+ {
41
+ "pattern": "from\\s+['\"]next/headers['\"]",
42
+ "captureGroup": 0,
43
+ "tooltip": "Next.js headers and cookies access (Server Components)",
44
+ "urlTemplate": "https://nextjs.org/docs/app/api-reference/functions/headers"
45
+ },
46
+ {
47
+ "pattern": "from\\s+['\"]next/server['\"]",
48
+ "captureGroup": 0,
49
+ "tooltip": "Next.js server utilities (NextRequest, NextResponse)",
50
+ "urlTemplate": "https://nextjs.org/docs/app/api-reference/functions/next-request"
51
+ },
52
+ {
53
+ "pattern": "from\\s+['\"]next/dynamic['\"]",
54
+ "captureGroup": 0,
55
+ "tooltip": "Next.js dynamic import with lazy loading",
56
+ "urlTemplate": "https://nextjs.org/docs/app/building-your-application/optimizing/lazy-loading"
57
+ },
58
+ {
59
+ "pattern": "from\\s+['\"]next/cache['\"]",
60
+ "captureGroup": 0,
61
+ "tooltip": "Next.js caching utilities (revalidatePath, revalidateTag, unstable_cache)",
62
+ "urlTemplate": "https://nextjs.org/docs/app/api-reference/functions/revalidatePath"
63
+ },
64
+ {
65
+ "pattern": "from\\s+['\"](\\.\\.?/[^'\"]+)['\"]",
66
+ "captureGroup": 1,
67
+ "tooltip": "Relative module import"
68
+ },
69
+ {
70
+ "pattern": "from\\s+['\"](@/[^'\"]+)['\"]",
71
+ "captureGroup": 1,
72
+ "tooltip": "Aliased module import (@ = project root)"
73
+ },
74
+ {
75
+ "pattern": "from\\s+['\"]([a-z@][a-z0-9/_.-]*)['\"]",
76
+ "captureGroup": 1,
77
+ "tooltip": "Package import from node_modules"
78
+ },
79
+ {
80
+ "pattern": "(?:href|src)\\s*=\\s*['\"]((https?://)[^'\"]+)['\"]",
81
+ "captureGroup": 1,
82
+ "tooltip": "External URL"
83
+ },
84
+ {
85
+ "pattern": "(?:next\\.config\\.(?:js|mjs|ts))",
86
+ "captureGroup": 0,
87
+ "tooltip": "Next.js configuration file",
88
+ "urlTemplate": "https://nextjs.org/docs/app/api-reference/next-config-js"
89
+ }
90
+ ]
91
+ }