@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.
- package/data/codeActions/angular.json +126 -0
- package/data/codeActions/nestjs.json +124 -0
- package/data/codeActions/nextjs.json +198 -0
- package/data/codeActions/react.json +154 -0
- package/data/codeActions/shadcn.json +112 -0
- package/data/codeActions/shell.json +169 -26
- package/data/codeLens/angular.json +22 -0
- package/data/codeLens/nestjs.json +21 -0
- package/data/codeLens/nextjs.json +117 -0
- package/data/codeLens/react.json +89 -0
- package/data/codeLens/shadcn.json +89 -0
- package/data/codeLens/shell.json +59 -17
- package/data/codeLens/tailwindcss.json +56 -0
- package/data/color/angular.json +21 -0
- package/data/color/nestjs.json +18 -0
- package/data/color/nextjs.json +22 -0
- package/data/color/react.json +93 -0
- package/data/color/shadcn.json +66 -0
- package/data/color/shell.json +106 -80
- package/data/commands/angular.json +312 -0
- package/data/commands/manifest.json +5 -0
- package/data/commands/nestjs.json +273 -0
- package/data/commands/nextjs.json +123 -0
- package/data/commands/react.json +210 -0
- package/data/commands/shadcn.json +410 -0
- package/data/commands/shell.json +571 -41
- package/data/completion/angular.json +1490 -0
- package/data/completion/css.json +793 -0
- package/data/completion/nestjs.json +1454 -0
- package/data/completion/nextjs.json +1373 -0
- package/data/completion/react.json +1319 -0
- package/data/completion/shadcn.json +1202 -0
- package/data/completion/shell.json +2446 -510
- package/data/declaration/angular.json +46 -0
- package/data/declaration/nestjs.json +47 -0
- package/data/declaration/nextjs.json +274 -0
- package/data/declaration/react.json +199 -0
- package/data/declaration/shadcn.json +211 -0
- package/data/declaration/shell.json +343 -24
- package/data/declaration/tailwindcss.json +72 -0
- package/data/definition/angular.json +670 -0
- package/data/definition/nestjs.json +684 -0
- package/data/definition/nextjs.json +439 -0
- package/data/definition/react.json +397 -0
- package/data/definition/shadcn.json +99 -0
- package/data/definition/shell.json +820 -0
- package/data/documentHighlight/angular.json +414 -0
- package/data/documentHighlight/css.json +77 -2
- package/data/documentHighlight/nestjs.json +115 -0
- package/data/documentHighlight/nextjs.json +212 -0
- package/data/documentHighlight/react.json +119 -0
- package/data/documentHighlight/shadcn.json +168 -0
- package/data/documentHighlight/shell.json +664 -334
- package/data/documentHighlight/tailwindcss.json +105 -10
- package/data/documentRangeFormatting/angular.json +45 -0
- package/data/documentRangeFormatting/nestjs.json +17 -0
- package/data/documentRangeFormatting/nextjs.json +17 -0
- package/data/documentRangeFormatting/react.json +78 -0
- package/data/documentRangeFormatting/shadcn.json +45 -0
- package/data/documentRangeFormatting/shell.json +120 -53
- package/data/documentSymbol/angular.json +180 -0
- package/data/documentSymbol/nestjs.json +152 -0
- package/data/documentSymbol/nextjs.json +159 -0
- package/data/documentSymbol/react.json +145 -0
- package/data/documentSymbol/shadcn.json +131 -0
- package/data/documentSymbol/shell.json +166 -26
- package/data/documentSymbol/tailwindcss.json +49 -0
- package/data/foldingRange/angular.json +99 -0
- package/data/foldingRange/nestjs.json +26 -0
- package/data/foldingRange/nextjs.json +26 -0
- package/data/foldingRange/react.json +120 -0
- package/data/foldingRange/shadcn.json +93 -0
- package/data/foldingRange/shell.json +106 -46
- package/data/formatting/angular.json +21 -0
- package/data/formatting/nestjs.json +23 -0
- package/data/formatting/nextjs.json +23 -0
- package/data/formatting/react.json +71 -0
- package/data/formatting/shadcn.json +61 -0
- package/data/formatting/shell.json +103 -19
- package/data/hover/angular.json +455 -0
- package/data/hover/css.json +232 -0
- package/data/hover/nestjs.json +296 -0
- package/data/hover/nextjs.json +305 -0
- package/data/hover/react.json +173 -0
- package/data/hover/shadcn.json +450 -0
- package/data/hover/shell.json +684 -75
- package/data/implementation/angular.json +22 -0
- package/data/implementation/nestjs.json +24 -0
- package/data/implementation/nextjs.json +137 -0
- package/data/implementation/react.json +125 -0
- package/data/implementation/shadcn.json +89 -0
- package/data/implementation/shell.json +59 -3
- package/data/inlayHints/angular.json +24 -0
- package/data/inlayHints/nestjs.json +24 -0
- package/data/inlayHints/nextjs.json +143 -0
- package/data/inlayHints/react.json +177 -0
- package/data/inlayHints/shadcn.json +109 -0
- package/data/inlayHints/shell.json +223 -35
- package/data/inlineCompletions/angular.json +135 -0
- package/data/inlineCompletions/nestjs.json +25 -0
- package/data/inlineCompletions/nextjs.json +179 -0
- package/data/inlineCompletions/react.json +203 -0
- package/data/inlineCompletions/shadcn.json +115 -0
- package/data/inlineCompletions/shell.json +185 -35
- package/data/linkedEditingRange/angular.json +23 -0
- package/data/linkedEditingRange/nestjs.json +10 -0
- package/data/linkedEditingRange/nextjs.json +11 -0
- package/data/linkedEditingRange/react.json +75 -0
- package/data/linkedEditingRange/shadcn.json +23 -0
- package/data/linkedEditingRange/shell.json +25 -25
- package/data/links/angular.json +95 -0
- package/data/links/nestjs.json +130 -0
- package/data/links/nextjs.json +91 -0
- package/data/links/react.json +75 -0
- package/data/links/shadcn.json +98 -0
- package/data/links/shell.json +56 -0
- package/data/links/tailwindcss.json +25 -0
- package/data/manifest.json +339 -152
- package/data/onTypeFormatting/angular.json +14 -0
- package/data/onTypeFormatting/nestjs.json +16 -0
- package/data/onTypeFormatting/nextjs.json +17 -0
- package/data/onTypeFormatting/react.json +127 -0
- package/data/onTypeFormatting/shadcn.json +54 -0
- package/data/onTypeFormatting/shell.json +72 -68
- package/data/rangeSemanticTokens/angular.json +140 -0
- package/data/rangeSemanticTokens/nestjs.json +27 -0
- package/data/rangeSemanticTokens/nextjs.json +28 -0
- package/data/rangeSemanticTokens/react.json +216 -0
- package/data/rangeSemanticTokens/shadcn.json +140 -0
- package/data/rangeSemanticTokens/shell.json +247 -69
- package/data/rangeSemanticTokens/tailwindcss.json +99 -8
- package/data/references/angular.json +26 -0
- package/data/references/nestjs.json +24 -0
- package/data/references/nextjs.json +178 -0
- package/data/references/react.json +192 -0
- package/data/references/shadcn.json +101 -0
- package/data/references/shell.json +323 -92
- package/data/references/tailwindcss.json +66 -0
- package/data/rename/angular.json +131 -0
- package/data/rename/nestjs.json +32 -0
- package/data/rename/nextjs.json +31 -0
- package/data/rename/react.json +88 -0
- package/data/rename/shadcn.json +79 -0
- package/data/rename/shell.json +101 -31
- package/data/selectionRange/angular.json +95 -0
- package/data/selectionRange/nestjs.json +21 -0
- package/data/selectionRange/nextjs.json +22 -0
- package/data/selectionRange/react.json +87 -0
- package/data/selectionRange/shadcn.json +89 -0
- package/data/selectionRange/shell.json +65 -35
- package/data/semanticTokens/angular.json +198 -0
- package/data/semanticTokens/nestjs.json +35 -0
- package/data/semanticTokens/nextjs.json +38 -0
- package/data/semanticTokens/react.json +215 -0
- package/data/semanticTokens/shadcn.json +180 -0
- package/data/semanticTokens/shell.json +238 -65
- package/data/signatureHelp/angular.json +182 -0
- package/data/signatureHelp/nestjs.json +128 -0
- package/data/signatureHelp/nextjs.json +127 -0
- package/data/signatureHelp/react.json +281 -0
- package/data/signatureHelp/shadcn.json +237 -0
- package/data/signatureHelp/shell.json +797 -104
- package/data/typeDefinition/angular.json +362 -0
- package/data/typeDefinition/nestjs.json +334 -0
- package/data/typeDefinition/nextjs.json +285 -0
- package/data/typeDefinition/react.json +236 -0
- package/data/typeDefinition/shadcn.json +292 -0
- package/data/typeDefinition/shell.json +104 -40
- package/package.json +1 -1
- package/data/codeActions/bash.json +0 -169
- package/data/codeActions/zsh.json +0 -49
- package/data/codeLens/bash.json +0 -75
- package/data/codeLens/zsh.json +0 -19
- package/data/color/bash.json +0 -100
- package/data/color/zsh.json +0 -80
- package/data/commands/bash.json +0 -102
- package/data/commands/zsh.json +0 -166
- package/data/completion/bash.json +0 -1184
- package/data/completion/zsh.json +0 -973
- package/data/declaration/bash.json +0 -301
- package/data/declaration/zsh.json +0 -205
- package/data/definition/bash.json +0 -565
- package/data/definition/zsh.json +0 -350
- package/data/documentHighlight/bash.json +0 -393
- package/data/documentHighlight/zsh.json +0 -266
- package/data/documentRangeFormatting/bash.json +0 -41
- package/data/documentRangeFormatting/zsh.json +0 -59
- package/data/documentSymbol/bash.json +0 -124
- package/data/documentSymbol/zsh.json +0 -26
- package/data/foldingRange/bash.json +0 -76
- package/data/foldingRange/zsh.json +0 -46
- package/data/formatting/bash.json +0 -88
- package/data/formatting/zsh.json +0 -28
- package/data/hover/bash.json +0 -579
- package/data/hover/zsh.json +0 -96
- package/data/implementation/bash.json +0 -44
- package/data/implementation/zsh.json +0 -41
- package/data/inlayHints/bash.json +0 -207
- package/data/inlayHints/zsh.json +0 -43
- package/data/inlineCompletions/bash.json +0 -155
- package/data/inlineCompletions/zsh.json +0 -17
- package/data/linkedEditingRange/bash.json +0 -25
- package/data/linkedEditingRange/zsh.json +0 -25
- package/data/links/bash.json +0 -56
- package/data/links/zsh.json +0 -15
- package/data/onTypeFormatting/bash.json +0 -68
- package/data/onTypeFormatting/zsh.json +0 -68
- package/data/rangeSemanticTokens/bash.json +0 -90
- package/data/rangeSemanticTokens/zsh.json +0 -76
- package/data/references/bash.json +0 -221
- package/data/references/zsh.json +0 -166
- package/data/rename/bash.json +0 -37
- package/data/rename/zsh.json +0 -31
- package/data/selectionRange/bash.json +0 -35
- package/data/selectionRange/zsh.json +0 -35
- package/data/semanticTokens/bash.json +0 -71
- package/data/semanticTokens/zsh.json +0 -71
- package/data/signatureHelp/bash.json +0 -111
- package/data/signatureHelp/zsh.json +0 -118
- package/data/typeDefinition/bash.json +0 -95
- 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
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
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
|
+
}
|