@enjoys/context-engine 1.3.1 → 1.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (221) hide show
  1. package/data/codeActions/angular.json +126 -0
  2. package/data/codeActions/nestjs.json +124 -0
  3. package/data/codeActions/nextjs.json +198 -0
  4. package/data/codeActions/react.json +154 -0
  5. package/data/codeActions/shadcn.json +112 -0
  6. package/data/codeActions/shell.json +169 -26
  7. package/data/codeLens/angular.json +22 -0
  8. package/data/codeLens/nestjs.json +21 -0
  9. package/data/codeLens/nextjs.json +117 -0
  10. package/data/codeLens/react.json +89 -0
  11. package/data/codeLens/shadcn.json +89 -0
  12. package/data/codeLens/shell.json +59 -17
  13. package/data/codeLens/tailwindcss.json +56 -0
  14. package/data/color/angular.json +21 -0
  15. package/data/color/nestjs.json +18 -0
  16. package/data/color/nextjs.json +22 -0
  17. package/data/color/react.json +93 -0
  18. package/data/color/shadcn.json +66 -0
  19. package/data/color/shell.json +106 -80
  20. package/data/commands/angular.json +312 -0
  21. package/data/commands/manifest.json +5 -0
  22. package/data/commands/nestjs.json +273 -0
  23. package/data/commands/nextjs.json +123 -0
  24. package/data/commands/react.json +210 -0
  25. package/data/commands/shadcn.json +410 -0
  26. package/data/commands/shell.json +571 -41
  27. package/data/completion/angular.json +1490 -0
  28. package/data/completion/css.json +793 -0
  29. package/data/completion/nestjs.json +1454 -0
  30. package/data/completion/nextjs.json +1373 -0
  31. package/data/completion/react.json +1319 -0
  32. package/data/completion/shadcn.json +1202 -0
  33. package/data/completion/shell.json +2446 -510
  34. package/data/declaration/angular.json +46 -0
  35. package/data/declaration/nestjs.json +47 -0
  36. package/data/declaration/nextjs.json +274 -0
  37. package/data/declaration/react.json +199 -0
  38. package/data/declaration/shadcn.json +211 -0
  39. package/data/declaration/shell.json +343 -24
  40. package/data/declaration/tailwindcss.json +72 -0
  41. package/data/definition/angular.json +670 -0
  42. package/data/definition/nestjs.json +684 -0
  43. package/data/definition/nextjs.json +439 -0
  44. package/data/definition/react.json +397 -0
  45. package/data/definition/shadcn.json +99 -0
  46. package/data/definition/shell.json +820 -0
  47. package/data/documentHighlight/angular.json +414 -0
  48. package/data/documentHighlight/css.json +77 -2
  49. package/data/documentHighlight/nestjs.json +115 -0
  50. package/data/documentHighlight/nextjs.json +212 -0
  51. package/data/documentHighlight/react.json +119 -0
  52. package/data/documentHighlight/shadcn.json +168 -0
  53. package/data/documentHighlight/shell.json +664 -334
  54. package/data/documentHighlight/tailwindcss.json +105 -10
  55. package/data/documentRangeFormatting/angular.json +45 -0
  56. package/data/documentRangeFormatting/nestjs.json +17 -0
  57. package/data/documentRangeFormatting/nextjs.json +17 -0
  58. package/data/documentRangeFormatting/react.json +78 -0
  59. package/data/documentRangeFormatting/shadcn.json +45 -0
  60. package/data/documentRangeFormatting/shell.json +120 -53
  61. package/data/documentSymbol/angular.json +180 -0
  62. package/data/documentSymbol/nestjs.json +152 -0
  63. package/data/documentSymbol/nextjs.json +159 -0
  64. package/data/documentSymbol/react.json +145 -0
  65. package/data/documentSymbol/shadcn.json +131 -0
  66. package/data/documentSymbol/shell.json +166 -26
  67. package/data/documentSymbol/tailwindcss.json +49 -0
  68. package/data/foldingRange/angular.json +99 -0
  69. package/data/foldingRange/nestjs.json +26 -0
  70. package/data/foldingRange/nextjs.json +26 -0
  71. package/data/foldingRange/react.json +120 -0
  72. package/data/foldingRange/shadcn.json +93 -0
  73. package/data/foldingRange/shell.json +106 -46
  74. package/data/formatting/angular.json +21 -0
  75. package/data/formatting/nestjs.json +23 -0
  76. package/data/formatting/nextjs.json +23 -0
  77. package/data/formatting/react.json +71 -0
  78. package/data/formatting/shadcn.json +61 -0
  79. package/data/formatting/shell.json +103 -19
  80. package/data/hover/angular.json +455 -0
  81. package/data/hover/css.json +232 -0
  82. package/data/hover/nestjs.json +296 -0
  83. package/data/hover/nextjs.json +305 -0
  84. package/data/hover/react.json +173 -0
  85. package/data/hover/shadcn.json +450 -0
  86. package/data/hover/shell.json +684 -75
  87. package/data/implementation/angular.json +22 -0
  88. package/data/implementation/nestjs.json +24 -0
  89. package/data/implementation/nextjs.json +137 -0
  90. package/data/implementation/react.json +125 -0
  91. package/data/implementation/shadcn.json +89 -0
  92. package/data/implementation/shell.json +59 -3
  93. package/data/inlayHints/angular.json +24 -0
  94. package/data/inlayHints/nestjs.json +24 -0
  95. package/data/inlayHints/nextjs.json +143 -0
  96. package/data/inlayHints/react.json +177 -0
  97. package/data/inlayHints/shadcn.json +109 -0
  98. package/data/inlayHints/shell.json +223 -35
  99. package/data/inlineCompletions/angular.json +135 -0
  100. package/data/inlineCompletions/nestjs.json +25 -0
  101. package/data/inlineCompletions/nextjs.json +179 -0
  102. package/data/inlineCompletions/react.json +203 -0
  103. package/data/inlineCompletions/shadcn.json +115 -0
  104. package/data/inlineCompletions/shell.json +185 -35
  105. package/data/linkedEditingRange/angular.json +23 -0
  106. package/data/linkedEditingRange/nestjs.json +10 -0
  107. package/data/linkedEditingRange/nextjs.json +11 -0
  108. package/data/linkedEditingRange/react.json +75 -0
  109. package/data/linkedEditingRange/shadcn.json +23 -0
  110. package/data/linkedEditingRange/shell.json +25 -25
  111. package/data/links/angular.json +95 -0
  112. package/data/links/nestjs.json +130 -0
  113. package/data/links/nextjs.json +91 -0
  114. package/data/links/react.json +75 -0
  115. package/data/links/shadcn.json +98 -0
  116. package/data/links/shell.json +56 -0
  117. package/data/links/tailwindcss.json +25 -0
  118. package/data/manifest.json +339 -152
  119. package/data/onTypeFormatting/angular.json +14 -0
  120. package/data/onTypeFormatting/nestjs.json +16 -0
  121. package/data/onTypeFormatting/nextjs.json +17 -0
  122. package/data/onTypeFormatting/react.json +127 -0
  123. package/data/onTypeFormatting/shadcn.json +54 -0
  124. package/data/onTypeFormatting/shell.json +72 -68
  125. package/data/rangeSemanticTokens/angular.json +140 -0
  126. package/data/rangeSemanticTokens/nestjs.json +27 -0
  127. package/data/rangeSemanticTokens/nextjs.json +28 -0
  128. package/data/rangeSemanticTokens/react.json +216 -0
  129. package/data/rangeSemanticTokens/shadcn.json +140 -0
  130. package/data/rangeSemanticTokens/shell.json +247 -69
  131. package/data/rangeSemanticTokens/tailwindcss.json +99 -8
  132. package/data/references/angular.json +26 -0
  133. package/data/references/nestjs.json +24 -0
  134. package/data/references/nextjs.json +178 -0
  135. package/data/references/react.json +192 -0
  136. package/data/references/shadcn.json +101 -0
  137. package/data/references/shell.json +323 -92
  138. package/data/references/tailwindcss.json +66 -0
  139. package/data/rename/angular.json +131 -0
  140. package/data/rename/nestjs.json +32 -0
  141. package/data/rename/nextjs.json +31 -0
  142. package/data/rename/react.json +88 -0
  143. package/data/rename/shadcn.json +79 -0
  144. package/data/rename/shell.json +101 -31
  145. package/data/selectionRange/angular.json +95 -0
  146. package/data/selectionRange/nestjs.json +21 -0
  147. package/data/selectionRange/nextjs.json +22 -0
  148. package/data/selectionRange/react.json +87 -0
  149. package/data/selectionRange/shadcn.json +89 -0
  150. package/data/selectionRange/shell.json +65 -35
  151. package/data/semanticTokens/angular.json +198 -0
  152. package/data/semanticTokens/nestjs.json +35 -0
  153. package/data/semanticTokens/nextjs.json +38 -0
  154. package/data/semanticTokens/react.json +215 -0
  155. package/data/semanticTokens/shadcn.json +180 -0
  156. package/data/semanticTokens/shell.json +238 -65
  157. package/data/signatureHelp/angular.json +182 -0
  158. package/data/signatureHelp/nestjs.json +128 -0
  159. package/data/signatureHelp/nextjs.json +127 -0
  160. package/data/signatureHelp/react.json +281 -0
  161. package/data/signatureHelp/shadcn.json +237 -0
  162. package/data/signatureHelp/shell.json +797 -104
  163. package/data/typeDefinition/angular.json +362 -0
  164. package/data/typeDefinition/nestjs.json +334 -0
  165. package/data/typeDefinition/nextjs.json +285 -0
  166. package/data/typeDefinition/react.json +236 -0
  167. package/data/typeDefinition/shadcn.json +292 -0
  168. package/data/typeDefinition/shell.json +104 -40
  169. package/package.json +1 -1
  170. package/data/codeActions/bash.json +0 -169
  171. package/data/codeActions/zsh.json +0 -49
  172. package/data/codeLens/bash.json +0 -75
  173. package/data/codeLens/zsh.json +0 -19
  174. package/data/color/bash.json +0 -100
  175. package/data/color/zsh.json +0 -80
  176. package/data/commands/bash.json +0 -102
  177. package/data/commands/zsh.json +0 -166
  178. package/data/completion/bash.json +0 -1184
  179. package/data/completion/zsh.json +0 -973
  180. package/data/declaration/bash.json +0 -301
  181. package/data/declaration/zsh.json +0 -205
  182. package/data/definition/bash.json +0 -565
  183. package/data/definition/zsh.json +0 -350
  184. package/data/documentHighlight/bash.json +0 -393
  185. package/data/documentHighlight/zsh.json +0 -266
  186. package/data/documentRangeFormatting/bash.json +0 -41
  187. package/data/documentRangeFormatting/zsh.json +0 -59
  188. package/data/documentSymbol/bash.json +0 -124
  189. package/data/documentSymbol/zsh.json +0 -26
  190. package/data/foldingRange/bash.json +0 -76
  191. package/data/foldingRange/zsh.json +0 -46
  192. package/data/formatting/bash.json +0 -88
  193. package/data/formatting/zsh.json +0 -28
  194. package/data/hover/bash.json +0 -579
  195. package/data/hover/zsh.json +0 -96
  196. package/data/implementation/bash.json +0 -44
  197. package/data/implementation/zsh.json +0 -41
  198. package/data/inlayHints/bash.json +0 -207
  199. package/data/inlayHints/zsh.json +0 -43
  200. package/data/inlineCompletions/bash.json +0 -155
  201. package/data/inlineCompletions/zsh.json +0 -17
  202. package/data/linkedEditingRange/bash.json +0 -25
  203. package/data/linkedEditingRange/zsh.json +0 -25
  204. package/data/links/bash.json +0 -56
  205. package/data/links/zsh.json +0 -15
  206. package/data/onTypeFormatting/bash.json +0 -68
  207. package/data/onTypeFormatting/zsh.json +0 -68
  208. package/data/rangeSemanticTokens/bash.json +0 -90
  209. package/data/rangeSemanticTokens/zsh.json +0 -76
  210. package/data/references/bash.json +0 -221
  211. package/data/references/zsh.json +0 -166
  212. package/data/rename/bash.json +0 -37
  213. package/data/rename/zsh.json +0 -31
  214. package/data/selectionRange/bash.json +0 -35
  215. package/data/selectionRange/zsh.json +0 -35
  216. package/data/semanticTokens/bash.json +0 -71
  217. package/data/semanticTokens/zsh.json +0 -71
  218. package/data/signatureHelp/bash.json +0 -111
  219. package/data/signatureHelp/zsh.json +0 -118
  220. package/data/typeDefinition/bash.json +0 -95
  221. package/data/typeDefinition/zsh.json +0 -40
@@ -0,0 +1,112 @@
1
+ {
2
+ "language": "shadcn",
3
+ "codeActions": [
4
+ {
5
+ "title": "Add component import from @/components/ui",
6
+ "kind": "quickfix",
7
+ "description": "Add missing import statement for a shadcn/ui component from @/components/ui/*",
8
+ "pattern": "<(Accordion|Alert|Avatar|Badge|Button|Calendar|Card|Carousel|Checkbox|Collapsible|Command|ContextMenu|Dialog|Drawer|DropdownMenu|Form|HoverCard|Input|Label|Menubar|NavigationMenu|Pagination|Popover|Progress|RadioGroup|ScrollArea|Select|Separator|Sheet|Skeleton|Slider|Switch|Table|Tabs|Textarea|Toast|Toaster|Toggle|ToggleGroup|Tooltip)",
9
+ "isPreferred": true
10
+ },
11
+ {
12
+ "title": "Convert className string to cn() utility",
13
+ "kind": "refactor.rewrite",
14
+ "description": "Replace static className string with cn() utility for conditional class merging",
15
+ "pattern": "className=\"[^\"]+\"",
16
+ "isPreferred": false
17
+ },
18
+ {
19
+ "title": "Convert to variant prop",
20
+ "kind": "refactor.rewrite",
21
+ "description": "Extract inline classes to a cva() variant definition",
22
+ "pattern": "className=\\{cn\\(",
23
+ "isPreferred": false
24
+ },
25
+ {
26
+ "title": "Extract to shadcn/ui component",
27
+ "kind": "refactor.extract",
28
+ "description": "Extract selected JSX into a separate reusable shadcn/ui-styled component",
29
+ "pattern": "<(div|section|article)\\s+className=",
30
+ "isPreferred": false
31
+ },
32
+ {
33
+ "title": "Add form validation with zod",
34
+ "kind": "quickfix",
35
+ "description": "Add zod schema validation and react-hook-form integration to a form",
36
+ "pattern": "<form\\s",
37
+ "isPreferred": false
38
+ },
39
+ {
40
+ "title": "Wrap with TooltipProvider",
41
+ "kind": "quickfix",
42
+ "description": "Wrap Tooltip component with required TooltipProvider ancestor",
43
+ "pattern": "<Tooltip[^P]",
44
+ "isPreferred": true
45
+ },
46
+ {
47
+ "title": "Add toast notification",
48
+ "kind": "source.addImport",
49
+ "description": "Import useToast hook and add toast notification call",
50
+ "pattern": "\\btoast\\b|\\buseToast\\b",
51
+ "isPreferred": false
52
+ },
53
+ {
54
+ "title": "Add dark mode support",
55
+ "kind": "refactor.rewrite",
56
+ "description": "Add dark mode CSS variables and class-based dark mode toggle support",
57
+ "pattern": ":root\\s*\\{|@layer\\s+base",
58
+ "isPreferred": false
59
+ },
60
+ {
61
+ "title": "Import from @/components/ui",
62
+ "kind": "source.addImport",
63
+ "description": "Add import statement for shadcn/ui component from the @/components/ui directory",
64
+ "pattern": "\\b(Button|Card|Dialog|Sheet|Form|Input|Select|Table|Tabs|Badge)\\b",
65
+ "isPreferred": false
66
+ },
67
+ {
68
+ "title": "Add missing variant props",
69
+ "kind": "quickfix",
70
+ "description": "Add variant and size props to a shadcn/ui component missing them",
71
+ "pattern": "<(Button|Badge|Alert|Toggle)\\s*(?!.*variant)[^>]*>",
72
+ "isPreferred": false
73
+ },
74
+ {
75
+ "title": "Organize component imports",
76
+ "kind": "source.organizeImports",
77
+ "description": "Sort and group shadcn/ui component imports by module path",
78
+ "pattern": "from\\s+['\"]@/components/ui/",
79
+ "isPreferred": true
80
+ },
81
+ {
82
+ "title": "Convert to controlled component",
83
+ "kind": "refactor.rewrite",
84
+ "description": "Convert uncontrolled component to controlled with React state",
85
+ "pattern": "defaultValue=|defaultChecked=",
86
+ "isPreferred": false
87
+ },
88
+ {
89
+ "title": "Add asChild prop for composition",
90
+ "kind": "quickfix",
91
+ "description": "Add asChild prop to Radix UI trigger component for element composition",
92
+ "pattern": "<(DialogTrigger|AlertDialogTrigger|PopoverTrigger|DropdownMenuTrigger|SheetTrigger|TooltipTrigger)(?!.*asChild)",
93
+ "isPreferred": false
94
+ },
95
+ {
96
+ "title": "Add Toaster to layout",
97
+ "kind": "quickfix",
98
+ "description": "Add <Toaster /> component to the root layout file for toast notifications to work",
99
+ "pattern": "useToast|\\btoast\\(",
100
+ "isPreferred": false
101
+ }
102
+ ],
103
+ "providedCodeActionKinds": [
104
+ "quickfix",
105
+ "refactor",
106
+ "refactor.extract",
107
+ "refactor.rewrite",
108
+ "source",
109
+ "source.addImport",
110
+ "source.organizeImports"
111
+ ]
112
+ }
@@ -1,26 +1,169 @@
1
- {
2
- "language": "shell",
3
- "codeActions": [
4
- {
5
- "title": "Extract to variable",
6
- "kind": "refactor.extract",
7
- "description": "Extract expression into a variable",
8
- "pattern": ".*",
9
- "isPreferred": false
10
- },
11
- {
12
- "title": "Fix all auto-fixable problems",
13
- "kind": "source.fixAll",
14
- "description": "Apply all available quick-fixes",
15
- "pattern": ".*",
16
- "isPreferred": false
17
- }
18
- ],
19
- "providedCodeActionKinds": [
20
- "quickfix",
21
- "refactor",
22
- "refactor.extract",
23
- "source",
24
- "source.fixAll"
25
- ]
26
- }
1
+ {
2
+ "language": "shell",
3
+ "codeActions": [
4
+ {
5
+ "title": "Extract to variable",
6
+ "kind": "refactor.extract",
7
+ "description": "Extract expression into a variable",
8
+ "pattern": ".*",
9
+ "isPreferred": false
10
+ },
11
+ {
12
+ "title": "Fix all auto-fixable problems",
13
+ "kind": "source.fixAll",
14
+ "description": "Apply all available quick-fixes",
15
+ "pattern": ".*",
16
+ "isPreferred": false
17
+ },
18
+ {
19
+ "title": "Add 'set -euo pipefail' header",
20
+ "kind": "source",
21
+ "description": "Add strict mode header (set -euo pipefail) to the beginning of the script for safer execution",
22
+ "pattern": "^#!/",
23
+ "isPreferred": true
24
+ },
25
+ {
26
+ "title": "Add shebang line",
27
+ "kind": "source",
28
+ "description": "Add #!/usr/bin/env bash shebang as the first line of the script",
29
+ "pattern": "^[^#]",
30
+ "isPreferred": true
31
+ },
32
+ {
33
+ "title": "Organize source/import statements",
34
+ "kind": "source.organizeImports",
35
+ "description": "Sort and deduplicate source/. statements at the top of the script",
36
+ "pattern": "\\bsource\\b|^\\s*\\.\\s+",
37
+ "isPreferred": true
38
+ },
39
+ {
40
+ "title": "Inline variable",
41
+ "kind": "refactor.inline",
42
+ "description": "Replace variable with its value at all usage sites",
43
+ "pattern": "\\blocal\\b|^\\s*\\w+=",
44
+ "isPreferred": false
45
+ },
46
+ {
47
+ "title": "Convert to function keyword syntax",
48
+ "kind": "refactor.rewrite",
49
+ "description": "Convert name() { } to function name() { } syntax",
50
+ "pattern": "^\\s*\\w+\\s*\\(\\s*\\)",
51
+ "isPreferred": false
52
+ },
53
+ {
54
+ "title": "Convert to POSIX function syntax",
55
+ "kind": "refactor.rewrite",
56
+ "description": "Convert function name() { } to name() { } (POSIX-compatible) syntax",
57
+ "pattern": "^\\s*function\\s+\\w+",
58
+ "isPreferred": false
59
+ },
60
+ {
61
+ "title": "Convert backticks to $() syntax",
62
+ "kind": "quickfix",
63
+ "description": "Replace legacy backtick command substitution with modern $(command) syntax",
64
+ "pattern": "`[^`]+`",
65
+ "isPreferred": true
66
+ },
67
+ {
68
+ "title": "Convert [ ] to [[ ]]",
69
+ "kind": "quickfix",
70
+ "description": "Replace POSIX test brackets with bash extended test brackets for safer evaluation",
71
+ "pattern": "\\[\\s+.*\\s+\\]",
72
+ "isPreferred": false
73
+ },
74
+ {
75
+ "title": "Quote unquoted variable",
76
+ "kind": "quickfix",
77
+ "description": "Add double quotes around unquoted variable expansion to prevent word splitting and globbing",
78
+ "pattern": "\\$\\w+|\\$\\{\\w+\\}",
79
+ "isPreferred": true
80
+ },
81
+ {
82
+ "title": "Add missing 'local' keyword",
83
+ "kind": "quickfix",
84
+ "description": "Add 'local' keyword to variable assignments inside functions to prevent global scope pollution",
85
+ "pattern": "^\\s*\\w+=(?!.*\\bexport\\b)",
86
+ "isPreferred": false
87
+ },
88
+ {
89
+ "title": "Replace echo with printf",
90
+ "kind": "refactor.rewrite",
91
+ "description": "Replace echo with printf for more portable and predictable output formatting",
92
+ "pattern": "\\becho\\b",
93
+ "isPreferred": false
94
+ },
95
+ {
96
+ "title": "Add error handling to command",
97
+ "kind": "quickfix",
98
+ "description": "Add || { echo 'Error' >&2; exit 1; } error handling to a command",
99
+ "pattern": "^\\s*\\w+",
100
+ "isPreferred": false
101
+ },
102
+ {
103
+ "title": "Convert to here-document",
104
+ "kind": "refactor.rewrite",
105
+ "description": "Convert multiple echo/printf statements into a single here-document (<<EOF)",
106
+ "pattern": "\\becho\\b|\\bprintf\\b",
107
+ "isPreferred": false
108
+ },
109
+ {
110
+ "title": "Wrap in if-check for command existence",
111
+ "kind": "refactor.rewrite",
112
+ "description": "Wrap command in 'if command -v cmd &>/dev/null; then ... fi' to check availability",
113
+ "pattern": "^\\s*\\w+",
114
+ "isPreferred": false
115
+ },
116
+ {
117
+ "title": "Convert arithmetic to (( )) syntax",
118
+ "kind": "quickfix",
119
+ "description": "Replace expr or let with modern (( )) arithmetic syntax",
120
+ "pattern": "\\bexpr\\b|\\blet\\b",
121
+ "isPreferred": true
122
+ },
123
+ {
124
+ "title": "Add trap for cleanup on exit",
125
+ "kind": "source",
126
+ "description": "Add a trap command to clean up temporary files or resources on script exit",
127
+ "pattern": "\\bmktemp\\b|\\btmp\\b",
128
+ "isPreferred": false
129
+ },
130
+ {
131
+ "title": "Convert to array iteration",
132
+ "kind": "refactor.rewrite",
133
+ "description": "Convert whitespace-separated variable to proper array with safe iteration",
134
+ "pattern": "\\bfor\\s+\\w+\\s+in\\s+\\$",
135
+ "isPreferred": false
136
+ },
137
+ {
138
+ "title": "Add input validation",
139
+ "kind": "quickfix",
140
+ "description": "Add parameter count check and usage message at the top of the script or function",
141
+ "pattern": "\\$1|\\$\\{1",
142
+ "isPreferred": false
143
+ },
144
+ {
145
+ "title": "Convert to getopts argument parsing",
146
+ "kind": "refactor.rewrite",
147
+ "description": "Replace manual argument parsing with getopts-based option handling loop",
148
+ "pattern": "\\$1|\\$\\{1|\\bshift\\b",
149
+ "isPreferred": false
150
+ },
151
+ {
152
+ "title": "Organize imports",
153
+ "kind": "source.organizeImports",
154
+ "description": "Sort and clean up source/./autoload/zmodload statements",
155
+ "pattern": "\\\\bsource\\\\b|\\\\b\\.\\\\b|\\\\bautoload\\\\b|\\\\bzmodload\\\\b",
156
+ "isPreferred": true
157
+ }
158
+ ],
159
+ "providedCodeActionKinds": [
160
+ "quickfix",
161
+ "refactor",
162
+ "refactor.extract",
163
+ "source",
164
+ "source.fixAll",
165
+ "refactor.inline",
166
+ "refactor.rewrite",
167
+ "source.organizeImports"
168
+ ]
169
+ }
@@ -0,0 +1,22 @@
1
+ {
2
+ "language": "angular",
3
+ "codeLensPatterns": [
4
+ { "pattern": "@Component\\s*\\([^)]*\\)\\s*(?:export\\s+)?class\\s+(\\w+)", "captureGroup": 1, "title": "Component: ${1}", "tooltip": "Angular component class" },
5
+ { "pattern": "@Injectable\\s*\\([^)]*\\)\\s*(?:export\\s+)?class\\s+(\\w+)", "captureGroup": 1, "title": "Service: ${1}", "tooltip": "Angular injectable service" },
6
+ { "pattern": "@NgModule\\s*\\([^)]*\\)\\s*(?:export\\s+)?class\\s+(\\w+)", "captureGroup": 1, "title": "Module: ${1}", "tooltip": "Angular NgModule" },
7
+ { "pattern": "@Directive\\s*\\([^)]*\\)\\s*(?:export\\s+)?class\\s+(\\w+)", "captureGroup": 1, "title": "Directive: ${1}", "tooltip": "Angular directive class" },
8
+ { "pattern": "@Pipe\\s*\\([^)]*\\)\\s*(?:export\\s+)?class\\s+(\\w+)", "captureGroup": 1, "title": "Pipe: ${1}", "tooltip": "Angular pipe class" },
9
+ { "pattern": "(ngOnInit|ngOnDestroy|ngOnChanges|ngAfterViewInit|ngAfterContentInit|ngDoCheck)\\s*\\(", "captureGroup": 1, "title": "Lifecycle: ${1}", "tooltip": "Angular lifecycle hook method" },
10
+ { "pattern": "\\{\\s*path:\\s*['\"]([^'\"]+)['\"].*?component:\\s*(\\w+)", "captureGroup": 1, "title": "Route: /${1}", "tooltip": "Route configuration path" },
11
+ { "pattern": "(?:canActivate|canDeactivate|canMatch)(?:Fn)?.*?=.*?\\(", "captureGroup": 0, "title": "Guard", "tooltip": "Route guard definition" },
12
+ { "pattern": "(?:HttpInterceptorFn|implements\\s+HttpInterceptor).*", "captureGroup": 0, "title": "Interceptor", "tooltip": "HTTP interceptor definition" },
13
+ { "pattern": "describe\\s*\\(\\s*['\"]([^'\"]+)['\"]", "captureGroup": 1, "title": "Test Suite: ${1}", "tooltip": "Test describe block" },
14
+ { "pattern": "\\bit\\s*\\(\\s*['\"]([^'\"]+)['\"]", "captureGroup": 1, "title": "Test: ${1}", "tooltip": "Individual test case" },
15
+ { "pattern": "@Input\\s*\\([^)]*\\)\\s+(\\w+)", "captureGroup": 1, "title": "Input: ${1}", "tooltip": "Component input property" },
16
+ { "pattern": "@Output\\s*\\([^)]*\\)\\s+(\\w+)", "captureGroup": 1, "title": "Output: ${1}", "tooltip": "Component output event" },
17
+ { "pattern": "(\\w+)\\s*=\\s*signal\\s*(?:<[^>]*>)?\\s*\\(", "captureGroup": 1, "title": "Signal: ${1}", "tooltip": "Angular signal declaration" },
18
+ { "pattern": "(\\w+)\\s*=\\s*effect\\s*\\(", "captureGroup": 1, "title": "Effect: ${1}", "tooltip": "Angular effect registration" },
19
+ { "pattern": "(\\w+)\\s*=\\s*computed\\s*\\(", "captureGroup": 1, "title": "Computed: ${1}", "tooltip": "Angular computed signal declaration" },
20
+ { "pattern": "(\\w+)\\s*=\\s*input(?:\\.required)?\\s*(?:<[^>]*>)?\\s*\\(", "captureGroup": 1, "title": "Signal Input: ${1}", "tooltip": "Signal-based input property" }
21
+ ]
22
+ }
@@ -0,0 +1,21 @@
1
+ {
2
+ "language": "nestjs",
3
+ "codeLensPatterns": [
4
+ { "pattern": "@Controller\\(['\"]?([^'\"\\)]*)['\"]?\\)", "captureGroup": 1, "commandId": "editor.action.referenceSearch.trigger", "title": "Controller Routes", "description": "Show all routes in this controller" },
5
+ { "pattern": "@(Get|Post|Put|Patch|Delete|Head|Options|All)\\(['\"]?([^'\"\\)]*)['\"]?\\)", "captureGroup": 0, "commandId": "editor.action.referenceSearch.trigger", "title": "Find References", "description": "Find all references to this endpoint" },
6
+ { "pattern": "@Injectable\\(\\)", "captureGroup": 0, "commandId": "editor.action.referenceSearch.trigger", "title": "Find Injections", "description": "Find where this service is injected" },
7
+ { "pattern": "@Module\\(", "captureGroup": 0, "commandId": "editor.action.referenceSearch.trigger", "title": "Module Dependencies", "description": "Show module dependency graph" },
8
+ { "pattern": "class\\s+(\\w+)\\s+implements\\s+CanActivate", "captureGroup": 1, "commandId": "editor.action.referenceSearch.trigger", "title": "Guard Usages", "description": "Find where this guard is used" },
9
+ { "pattern": "class\\s+(\\w+)\\s+implements\\s+PipeTransform", "captureGroup": 1, "commandId": "editor.action.referenceSearch.trigger", "title": "Pipe Usages", "description": "Find where this pipe is used" },
10
+ { "pattern": "class\\s+(\\w+)\\s+implements\\s+NestInterceptor", "captureGroup": 1, "commandId": "editor.action.referenceSearch.trigger", "title": "Interceptor Usages", "description": "Find interceptor usages" },
11
+ { "pattern": "@Catch\\(([^)]*)\\)", "captureGroup": 1, "commandId": "editor.action.referenceSearch.trigger", "title": "Filter Usages", "description": "Find exception filter usages" },
12
+ { "pattern": "@WebSocketGateway\\(", "captureGroup": 0, "commandId": "editor.action.referenceSearch.trigger", "title": "Gateway Events", "description": "Show gateway message handlers" },
13
+ { "pattern": "@SubscribeMessage\\(['\"]([^'\"]+)['\"]\\)", "captureGroup": 1, "commandId": "editor.action.referenceSearch.trigger", "title": "Message Handler", "description": "Find message pattern usages" },
14
+ { "pattern": "describe\\(['\"]([^'\"]+)['\"]", "captureGroup": 1, "commandId": "testing.runAtCursor", "title": "Run Tests", "description": "Run test suite" },
15
+ { "pattern": "it\\(['\"]([^'\"]+)['\"]", "captureGroup": 1, "commandId": "testing.runAtCursor", "title": "Run Test", "description": "Run this test case" },
16
+ { "pattern": "@Cron\\(['\"]([^'\"]+)['\"]\\)", "captureGroup": 1, "commandId": "editor.action.referenceSearch.trigger", "title": "Scheduled Task", "description": "Cron schedule info" },
17
+ { "pattern": "@Entity\\(['\"]?([^'\"\\)]*)['\"]?\\)", "captureGroup": 1, "commandId": "editor.action.referenceSearch.trigger", "title": "Entity References", "description": "Find entity usages" },
18
+ { "pattern": "class\\s+(\\w+)\\s+implements\\s+NestMiddleware", "captureGroup": 1, "commandId": "editor.action.referenceSearch.trigger", "title": "Middleware Usages", "description": "Find middleware registrations" },
19
+ { "pattern": "async\\s+bootstrap\\(\\)", "captureGroup": 0, "commandId": "editor.action.referenceSearch.trigger", "title": "Application Entry", "description": "Main bootstrap function" }
20
+ ]
21
+ }
@@ -0,0 +1,117 @@
1
+ {
2
+ "language": "nextjs",
3
+ "codeLensPatterns": [
4
+ {
5
+ "pattern": "export\\s+default\\s+function\\s+(\\w+)\\s*\\(",
6
+ "captureGroup": 1,
7
+ "commandId": "editor.action.referenceSearch.trigger",
8
+ "title": "Page Component",
9
+ "description": "Next.js page or layout component"
10
+ },
11
+ {
12
+ "pattern": "export\\s+async\\s+function\\s+(generateStaticParams)\\s*\\(",
13
+ "captureGroup": 1,
14
+ "commandId": "editor.action.referenceSearch.trigger",
15
+ "title": "Static Params Generator",
16
+ "description": "Generates static params for dynamic routes"
17
+ },
18
+ {
19
+ "pattern": "export\\s+async\\s+function\\s+(generateMetadata)\\s*\\(",
20
+ "captureGroup": 1,
21
+ "commandId": "editor.action.referenceSearch.trigger",
22
+ "title": "Metadata Generator",
23
+ "description": "Generates metadata for the page"
24
+ },
25
+ {
26
+ "pattern": "export\\s+const\\s+(metadata)\\s*=",
27
+ "captureGroup": 1,
28
+ "commandId": "editor.action.referenceSearch.trigger",
29
+ "title": "Route Config",
30
+ "description": "Static metadata configuration"
31
+ },
32
+ {
33
+ "pattern": "export\\s+const\\s+(revalidate)\\s*=",
34
+ "captureGroup": 1,
35
+ "commandId": "editor.action.referenceSearch.trigger",
36
+ "title": "Route Config",
37
+ "description": "Revalidation interval configuration"
38
+ },
39
+ {
40
+ "pattern": "export\\s+const\\s+(dynamic)\\s*=",
41
+ "captureGroup": 1,
42
+ "commandId": "editor.action.referenceSearch.trigger",
43
+ "title": "Route Config",
44
+ "description": "Dynamic rendering configuration"
45
+ },
46
+ {
47
+ "pattern": "export\\s+const\\s+(runtime)\\s*=",
48
+ "captureGroup": 1,
49
+ "commandId": "editor.action.referenceSearch.trigger",
50
+ "title": "Route Config",
51
+ "description": "Runtime configuration (edge or nodejs)"
52
+ },
53
+ {
54
+ "pattern": "export\\s+async\\s+function\\s+(GET|POST|PUT|PATCH|DELETE)\\s*\\(",
55
+ "captureGroup": 1,
56
+ "commandId": "editor.action.referenceSearch.trigger",
57
+ "title": "Route Handler",
58
+ "description": "Next.js API route handler"
59
+ },
60
+ {
61
+ "pattern": "export\\s+function\\s+(GET|POST|PUT|PATCH|DELETE)\\s*\\(",
62
+ "captureGroup": 1,
63
+ "commandId": "editor.action.referenceSearch.trigger",
64
+ "title": "Route Handler",
65
+ "description": "Next.js API route handler"
66
+ },
67
+ {
68
+ "pattern": "export\\s+function\\s+(middleware)\\s*\\(",
69
+ "captureGroup": 1,
70
+ "commandId": "editor.action.referenceSearch.trigger",
71
+ "title": "Middleware",
72
+ "description": "Next.js middleware function"
73
+ },
74
+ {
75
+ "pattern": "^\\s*[\"']use client[\"']",
76
+ "captureGroup": 0,
77
+ "commandId": "editor.action.referenceSearch.trigger",
78
+ "title": "Client Component",
79
+ "description": "React client component directive"
80
+ },
81
+ {
82
+ "pattern": "^\\s*[\"']use server[\"']",
83
+ "captureGroup": 0,
84
+ "commandId": "editor.action.referenceSearch.trigger",
85
+ "title": "Server Action",
86
+ "description": "React server action directive"
87
+ },
88
+ {
89
+ "pattern": "(describe|it|test)\\s*\\([\"'`]",
90
+ "captureGroup": 1,
91
+ "commandId": "testing.runAtCursor",
92
+ "title": "Run Test",
93
+ "description": "Run the test at cursor"
94
+ },
95
+ {
96
+ "pattern": "export\\s+const\\s+(config)\\s*=",
97
+ "captureGroup": 1,
98
+ "commandId": "editor.action.referenceSearch.trigger",
99
+ "title": "API Config",
100
+ "description": "API route configuration export"
101
+ },
102
+ {
103
+ "pattern": "async\\s+function\\s+(\\w+Action)\\s*\\(",
104
+ "captureGroup": 1,
105
+ "commandId": "editor.action.referenceSearch.trigger",
106
+ "title": "Server Action",
107
+ "description": "Server action function"
108
+ },
109
+ {
110
+ "pattern": "export\\s+default\\s+(\\w+)",
111
+ "captureGroup": 1,
112
+ "commandId": "editor.action.referenceSearch.trigger",
113
+ "title": "Find References",
114
+ "description": "Default export reference search"
115
+ }
116
+ ]
117
+ }
@@ -0,0 +1,89 @@
1
+ {
2
+ "language": "react",
3
+ "codeLensPatterns": [
4
+ {
5
+ "pattern": "(?:export\\s+)?(?:function|const)\\s+([A-Z][a-zA-Z0-9]*)\\s*(?::\\s*React\\.FC)?\\s*(?:=|\\()",
6
+ "captureGroup": 1,
7
+ "commandId": "editor.action.findReferences",
8
+ "title": "${count} references",
9
+ "description": "Show all references to this React component"
10
+ },
11
+ {
12
+ "pattern": "(?:export\\s+)?(?:function|const)\\s+(use[A-Z][a-zA-Z0-9]*)\\s*(?:=|\\()",
13
+ "captureGroup": 1,
14
+ "commandId": "editor.action.findReferences",
15
+ "title": "${count} usages",
16
+ "description": "Show all usages of this custom hook"
17
+ },
18
+ {
19
+ "pattern": "(?:export\\s+)?const\\s+(\\w+Context)\\s*=\\s*(?:React\\.)?createContext",
20
+ "captureGroup": 1,
21
+ "commandId": "editor.action.findReferences",
22
+ "title": "${count} providers/consumers",
23
+ "description": "Show all providers and consumers of this context"
24
+ },
25
+ {
26
+ "pattern": "interface\\s+(\\w+Props)\\s*(?:<[^>]*>)?\\s*\\{",
27
+ "captureGroup": 1,
28
+ "commandId": "editor.action.findReferences",
29
+ "title": "${count} usages",
30
+ "description": "Show all components using these props"
31
+ },
32
+ {
33
+ "pattern": "(?:const|let)\\s+(\\w+)\\s*=\\s*(?:React\\.)?memo\\s*\\(",
34
+ "captureGroup": 1,
35
+ "commandId": "editor.action.findReferences",
36
+ "title": "memo: ${count} references",
37
+ "description": "Show all references to this memoized component"
38
+ },
39
+ {
40
+ "pattern": "(?:const|let)\\s+(\\w+)\\s*=\\s*useCallback\\s*\\(",
41
+ "captureGroup": 1,
42
+ "commandId": "editor.action.findReferences",
43
+ "title": "callback: ${count} usages",
44
+ "description": "Show where this memoized callback is used"
45
+ },
46
+ {
47
+ "pattern": "useEffect\\s*\\(\\s*\\(\\)\\s*=>\\s*\\{",
48
+ "captureGroup": 0,
49
+ "commandId": "editor.action.showHover",
50
+ "title": "Effect",
51
+ "description": "Side effect hook - runs after render"
52
+ },
53
+ {
54
+ "pattern": "class\\s+(\\w+)\\s+extends\\s+(?:React\\.)?(?:Component|PureComponent)",
55
+ "captureGroup": 1,
56
+ "commandId": "editor.action.findReferences",
57
+ "title": "${count} references",
58
+ "description": "Show all references to this class component"
59
+ },
60
+ {
61
+ "pattern": "describe\\s*\\(\\s*['\"]([^'\"]+)['\"]",
62
+ "captureGroup": 1,
63
+ "commandId": "testing.runAll",
64
+ "title": "Run Tests",
65
+ "description": "Run tests for this test suite"
66
+ },
67
+ {
68
+ "pattern": "it\\s*\\(\\s*['\"]([^'\"]+)['\"]|test\\s*\\(\\s*['\"]([^'\"]+)['\"]",
69
+ "captureGroup": 1,
70
+ "commandId": "testing.runAtCursor",
71
+ "title": "Run Test",
72
+ "description": "Run this individual test"
73
+ },
74
+ {
75
+ "pattern": "(?:const|function)\\s+(\\w+Reducer)\\s*(?:=|\\()",
76
+ "captureGroup": 1,
77
+ "commandId": "editor.action.findReferences",
78
+ "title": "${count} dispatch sites",
79
+ "description": "Show all places dispatching to this reducer"
80
+ },
81
+ {
82
+ "pattern": "export\\s+default\\s+(?:function\\s+)?(\\w+)",
83
+ "captureGroup": 1,
84
+ "commandId": "editor.action.findReferences",
85
+ "title": "default export: ${count} imports",
86
+ "description": "Show all files importing this default export"
87
+ }
88
+ ]
89
+ }
@@ -0,0 +1,89 @@
1
+ {
2
+ "language": "shadcn",
3
+ "codeLensPatterns": [
4
+ {
5
+ "pattern": "const\\s+(\\w+)\\s*=\\s*React\\.forwardRef",
6
+ "captureGroup": 1,
7
+ "title": "shadcn Component",
8
+ "tooltip": "shadcn/ui component defined with React.forwardRef"
9
+ },
10
+ {
11
+ "pattern": "const\\s+(\\w+Variants?)\\s*=\\s*cva\\(",
12
+ "captureGroup": 1,
13
+ "title": "CVA Variants",
14
+ "tooltip": "Class-variance-authority variant definition"
15
+ },
16
+ {
17
+ "pattern": "(\\w+)\\.displayName\\s*=\\s*[\"']",
18
+ "captureGroup": 1,
19
+ "title": "Display Name",
20
+ "tooltip": "Component displayName assignment"
21
+ },
22
+ {
23
+ "pattern": "const\\s+(\\w+Schema)\\s*=\\s*z\\.",
24
+ "captureGroup": 1,
25
+ "title": "Zod Schema",
26
+ "tooltip": "Zod validation schema definition"
27
+ },
28
+ {
29
+ "pattern": "z\\.(string|number|boolean|object|array|enum|union|intersection|literal)\\(",
30
+ "captureGroup": 0,
31
+ "title": "Zod Validator",
32
+ "tooltip": "Zod type validator"
33
+ },
34
+ {
35
+ "pattern": "(?:export\\s+)?function\\s+(use\\w+)\\s*\\(",
36
+ "captureGroup": 1,
37
+ "title": "Hook",
38
+ "tooltip": "Custom React hook definition"
39
+ },
40
+ {
41
+ "pattern": "export\\s+(?:default\\s+)?(?:function|const|class)\\s+(\\w+)",
42
+ "captureGroup": 1,
43
+ "title": "Export",
44
+ "tooltip": "Exported symbol definition"
45
+ },
46
+ {
47
+ "pattern": "(?:accessorKey|id):\\s*[\"'](\\w+)[\"']",
48
+ "captureGroup": 1,
49
+ "title": "Column",
50
+ "tooltip": "DataTable column definition"
51
+ },
52
+ {
53
+ "pattern": "(?:describe|it|test)\\([\"'](.*?)[\"']",
54
+ "captureGroup": 1,
55
+ "title": "Test",
56
+ "tooltip": "Test block definition"
57
+ },
58
+ {
59
+ "pattern": "export\\s+default\\s+function\\s+(\\w*(?:Page|Layout))\\b",
60
+ "captureGroup": 1,
61
+ "title": "Route Component",
62
+ "tooltip": "Next.js page or layout component"
63
+ },
64
+ {
65
+ "pattern": "(?:export\\s+)?(?:function|const)\\s+(\\w+)\\s*[:=]\\s*\\(",
66
+ "captureGroup": 1,
67
+ "title": "Utility",
68
+ "tooltip": "Utility function definition"
69
+ },
70
+ {
71
+ "pattern": "(?:export\\s+)?(?:interface|type)\\s+(\\w+)",
72
+ "captureGroup": 1,
73
+ "title": "Type",
74
+ "tooltip": "TypeScript type or interface definition"
75
+ },
76
+ {
77
+ "pattern": "const\\s+(\\w+Context)\\s*=\\s*(?:React\\.)?createContext",
78
+ "captureGroup": 1,
79
+ "title": "Context",
80
+ "tooltip": "React context provider definition"
81
+ },
82
+ {
83
+ "pattern": "export\\s+\\{([^}]+)\\}",
84
+ "captureGroup": 1,
85
+ "title": "Named Exports",
86
+ "tooltip": "Named export group"
87
+ }
88
+ ]
89
+ }