@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,143 @@
|
|
|
1
|
+
{
|
|
2
|
+
"language": "nextjs",
|
|
3
|
+
"inlayHintPatterns": [
|
|
4
|
+
{
|
|
5
|
+
"pattern": "(?:const|let|var)\\s+(\\w+)\\s*=\\s*(?!\\{|\\[|\\(|function|class|new)(.+)",
|
|
6
|
+
"kind": 1,
|
|
7
|
+
"label": ": ${inferredType}",
|
|
8
|
+
"position": "afterIdentifier",
|
|
9
|
+
"paddingLeft": false,
|
|
10
|
+
"paddingRight": true,
|
|
11
|
+
"description": "Infer type for variable assignments"
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
"pattern": "const\\s+\\[(\\w+),\\s*set\\w+\\]\\s*=\\s*useState\\(([^)]*?)\\)",
|
|
15
|
+
"kind": 1,
|
|
16
|
+
"label": ": ${inferredType}",
|
|
17
|
+
"position": "afterIdentifier",
|
|
18
|
+
"paddingLeft": false,
|
|
19
|
+
"paddingRight": true,
|
|
20
|
+
"description": "Infer useState generic type from initial value"
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"pattern": "const\\s+(router)\\s*=\\s*useRouter\\(\\)",
|
|
24
|
+
"kind": 1,
|
|
25
|
+
"label": ": AppRouterInstance",
|
|
26
|
+
"position": "afterIdentifier",
|
|
27
|
+
"paddingLeft": false,
|
|
28
|
+
"paddingRight": true,
|
|
29
|
+
"description": "Show useRouter return type"
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
"pattern": "const\\s+(pathname)\\s*=\\s*usePathname\\(\\)",
|
|
33
|
+
"kind": 1,
|
|
34
|
+
"label": ": string",
|
|
35
|
+
"position": "afterIdentifier",
|
|
36
|
+
"paddingLeft": false,
|
|
37
|
+
"paddingRight": true,
|
|
38
|
+
"description": "Show usePathname return type"
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
"pattern": "const\\s+(searchParams)\\s*=\\s*useSearchParams\\(\\)",
|
|
42
|
+
"kind": 1,
|
|
43
|
+
"label": ": ReadonlyURLSearchParams",
|
|
44
|
+
"position": "afterIdentifier",
|
|
45
|
+
"paddingLeft": false,
|
|
46
|
+
"paddingRight": true,
|
|
47
|
+
"description": "Show useSearchParams return type"
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
"pattern": "export\\s+default\\s+(?:async\\s+)?function\\s+\\w+\\(\\s*\\{\\s*(params)\\s*\\}",
|
|
51
|
+
"kind": 1,
|
|
52
|
+
"label": ": { [key: string]: string | string[] }",
|
|
53
|
+
"position": "afterIdentifier",
|
|
54
|
+
"paddingLeft": false,
|
|
55
|
+
"paddingRight": true,
|
|
56
|
+
"description": "Annotate params type in page components"
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
"pattern": "export\\s+default\\s+(?:async\\s+)?function\\s+\\w+\\(\\s*\\{[^}]*(searchParams)[^}]*\\}",
|
|
60
|
+
"kind": 1,
|
|
61
|
+
"label": ": { [key: string]: string | string[] | undefined }",
|
|
62
|
+
"position": "afterIdentifier",
|
|
63
|
+
"paddingLeft": false,
|
|
64
|
+
"paddingRight": true,
|
|
65
|
+
"description": "Annotate searchParams type in page components"
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
"pattern": "const\\s+(\\w+)\\s*=\\s*await\\s+fetch\\(",
|
|
69
|
+
"kind": 1,
|
|
70
|
+
"label": ": Response",
|
|
71
|
+
"position": "afterIdentifier",
|
|
72
|
+
"paddingLeft": false,
|
|
73
|
+
"paddingRight": true,
|
|
74
|
+
"description": "Show fetch response type"
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
"pattern": "async\\s+function\\s+\\w+Action\\([^)]*\\)\\s*(?::\\s*Promise<([^>]+)>)?",
|
|
78
|
+
"kind": 1,
|
|
79
|
+
"label": "=> Promise<void>",
|
|
80
|
+
"position": "afterParameters",
|
|
81
|
+
"paddingLeft": true,
|
|
82
|
+
"paddingRight": false,
|
|
83
|
+
"description": "Show server action return type"
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
"pattern": "\\b(?:redirect|notFound|revalidatePath|revalidateTag)\\(([^,)]+)",
|
|
87
|
+
"kind": 2,
|
|
88
|
+
"label": "url:",
|
|
89
|
+
"position": "beforeArgument",
|
|
90
|
+
"paddingLeft": false,
|
|
91
|
+
"paddingRight": true,
|
|
92
|
+
"description": "Parameter name hints at call sites"
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
"pattern": "export\\s+(?:async\\s+)?function\\s+(?:GET|POST|PUT|PATCH|DELETE)\\s*\\(\\s*(\\w+)",
|
|
96
|
+
"kind": 1,
|
|
97
|
+
"label": ": NextRequest",
|
|
98
|
+
"position": "afterIdentifier",
|
|
99
|
+
"paddingLeft": false,
|
|
100
|
+
"paddingRight": true,
|
|
101
|
+
"description": "Annotate route handler request parameter type"
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
"pattern": "export\\s+(?:async\\s+)?function\\s+(?:GET|POST|PUT|PATCH|DELETE)\\s*\\([^,]+,\\s*\\{\\s*(params)\\s*\\}",
|
|
105
|
+
"kind": 1,
|
|
106
|
+
"label": ": { [key: string]: string }",
|
|
107
|
+
"position": "afterIdentifier",
|
|
108
|
+
"paddingLeft": false,
|
|
109
|
+
"paddingRight": true,
|
|
110
|
+
"description": "Annotate route handler context params type"
|
|
111
|
+
}
|
|
112
|
+
],
|
|
113
|
+
"typeInferenceRules": {
|
|
114
|
+
"string": {
|
|
115
|
+
"pattern": "^[\"'`]",
|
|
116
|
+
"type": "string"
|
|
117
|
+
},
|
|
118
|
+
"number": {
|
|
119
|
+
"pattern": "^\\d+\\.?\\d*$",
|
|
120
|
+
"type": "number"
|
|
121
|
+
},
|
|
122
|
+
"boolean": {
|
|
123
|
+
"pattern": "^(true|false)$",
|
|
124
|
+
"type": "boolean"
|
|
125
|
+
},
|
|
126
|
+
"array": {
|
|
127
|
+
"pattern": "^\\[",
|
|
128
|
+
"type": "Array<unknown>"
|
|
129
|
+
},
|
|
130
|
+
"null": {
|
|
131
|
+
"pattern": "^null$",
|
|
132
|
+
"type": "null"
|
|
133
|
+
},
|
|
134
|
+
"object": {
|
|
135
|
+
"pattern": "^\\{",
|
|
136
|
+
"type": "Record<string, unknown>"
|
|
137
|
+
},
|
|
138
|
+
"jsx": {
|
|
139
|
+
"pattern": "^<[A-Z]",
|
|
140
|
+
"type": "JSX.Element"
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
}
|
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
{
|
|
2
|
+
"language": "react",
|
|
3
|
+
"inlayHintPatterns": [
|
|
4
|
+
{
|
|
5
|
+
"pattern": "const\\s+\\[(\\w+),\\s*(\\w+)\\]\\s*=\\s*useState\\s*\\(([^)]*?)\\)",
|
|
6
|
+
"hints": [
|
|
7
|
+
{
|
|
8
|
+
"position": "after:captureGroup:1",
|
|
9
|
+
"label": ": S",
|
|
10
|
+
"description": "Inferred state type from initial value",
|
|
11
|
+
"kind": "type"
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
"position": "after:captureGroup:2",
|
|
15
|
+
"label": ": Dispatch<SetStateAction<S>>",
|
|
16
|
+
"description": "State setter function type",
|
|
17
|
+
"kind": "type"
|
|
18
|
+
}
|
|
19
|
+
]
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
"pattern": "const\\s+(\\w+)\\s*=\\s*useRef\\s*\\(([^)]*?)\\)",
|
|
23
|
+
"hints": [
|
|
24
|
+
{
|
|
25
|
+
"position": "after:captureGroup:1",
|
|
26
|
+
"label": ": MutableRefObject<T>",
|
|
27
|
+
"description": "Ref object type inferred from initial value",
|
|
28
|
+
"kind": "type"
|
|
29
|
+
}
|
|
30
|
+
]
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"pattern": "const\\s+(\\w+)\\s*=\\s*useMemo\\s*\\(\\s*\\(\\)\\s*=>",
|
|
34
|
+
"hints": [
|
|
35
|
+
{
|
|
36
|
+
"position": "after:captureGroup:1",
|
|
37
|
+
"label": ": T",
|
|
38
|
+
"description": "Memoized value type inferred from factory return",
|
|
39
|
+
"kind": "type"
|
|
40
|
+
}
|
|
41
|
+
]
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
"pattern": "const\\s+(\\w+)\\s*=\\s*useCallback\\s*\\(",
|
|
45
|
+
"hints": [
|
|
46
|
+
{
|
|
47
|
+
"position": "after:captureGroup:1",
|
|
48
|
+
"label": ": T",
|
|
49
|
+
"description": "Memoized callback type inferred from function",
|
|
50
|
+
"kind": "type"
|
|
51
|
+
}
|
|
52
|
+
]
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
"pattern": "const\\s+(\\w+)\\s*=\\s*useContext\\s*\\((\\w+)\\)",
|
|
56
|
+
"hints": [
|
|
57
|
+
{
|
|
58
|
+
"position": "after:captureGroup:1",
|
|
59
|
+
"label": ": ContextType",
|
|
60
|
+
"description": "Context value type from provider",
|
|
61
|
+
"kind": "type"
|
|
62
|
+
}
|
|
63
|
+
]
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
"pattern": "const\\s+\\[(\\w+),\\s*(\\w+)\\]\\s*=\\s*useReducer\\s*\\(",
|
|
67
|
+
"hints": [
|
|
68
|
+
{
|
|
69
|
+
"position": "after:captureGroup:1",
|
|
70
|
+
"label": ": State",
|
|
71
|
+
"description": "Reducer state type",
|
|
72
|
+
"kind": "type"
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
"position": "after:captureGroup:2",
|
|
76
|
+
"label": ": Dispatch<Action>",
|
|
77
|
+
"description": "Reducer dispatch function",
|
|
78
|
+
"kind": "type"
|
|
79
|
+
}
|
|
80
|
+
]
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
"pattern": "const\\s+(\\w+)\\s*=\\s*useId\\s*\\(\\)",
|
|
84
|
+
"hints": [
|
|
85
|
+
{
|
|
86
|
+
"position": "after:captureGroup:1",
|
|
87
|
+
"label": ": string",
|
|
88
|
+
"description": "Unique ID string",
|
|
89
|
+
"kind": "type"
|
|
90
|
+
}
|
|
91
|
+
]
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
"pattern": "const\\s+\\[(\\w+),\\s*(\\w+)\\]\\s*=\\s*useTransition\\s*\\(\\)",
|
|
95
|
+
"hints": [
|
|
96
|
+
{
|
|
97
|
+
"position": "after:captureGroup:1",
|
|
98
|
+
"label": ": boolean",
|
|
99
|
+
"description": "Pending transition state",
|
|
100
|
+
"kind": "type"
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
"position": "after:captureGroup:2",
|
|
104
|
+
"label": ": TransitionStartFunction",
|
|
105
|
+
"description": "Function to start a transition",
|
|
106
|
+
"kind": "type"
|
|
107
|
+
}
|
|
108
|
+
]
|
|
109
|
+
},
|
|
110
|
+
{
|
|
111
|
+
"pattern": "const\\s+(\\w+)\\s*=\\s*useDeferredValue\\s*\\(([^)]+)\\)",
|
|
112
|
+
"hints": [
|
|
113
|
+
{
|
|
114
|
+
"position": "after:captureGroup:1",
|
|
115
|
+
"label": ": T",
|
|
116
|
+
"description": "Deferred value type, same as input",
|
|
117
|
+
"kind": "type"
|
|
118
|
+
}
|
|
119
|
+
]
|
|
120
|
+
},
|
|
121
|
+
{
|
|
122
|
+
"pattern": "useEffect\\s*\\(\\s*\\(\\)\\s*=>\\s*\\{[^}]*\\}\\s*,\\s*\\[([^\\]]*)\\]",
|
|
123
|
+
"hints": [
|
|
124
|
+
{
|
|
125
|
+
"position": "before:captureGroup:1",
|
|
126
|
+
"label": "deps: ",
|
|
127
|
+
"description": "Dependency array for the effect",
|
|
128
|
+
"kind": "parameter"
|
|
129
|
+
}
|
|
130
|
+
]
|
|
131
|
+
},
|
|
132
|
+
{
|
|
133
|
+
"pattern": "useMemo\\s*\\(\\s*\\(\\)\\s*=>[^,]*,\\s*\\[([^\\]]*)\\]",
|
|
134
|
+
"hints": [
|
|
135
|
+
{
|
|
136
|
+
"position": "before:captureGroup:1",
|
|
137
|
+
"label": "deps: ",
|
|
138
|
+
"description": "Dependency array for memoization",
|
|
139
|
+
"kind": "parameter"
|
|
140
|
+
}
|
|
141
|
+
]
|
|
142
|
+
},
|
|
143
|
+
{
|
|
144
|
+
"pattern": "useCallback\\s*\\([^,]*,\\s*\\[([^\\]]*)\\]",
|
|
145
|
+
"hints": [
|
|
146
|
+
{
|
|
147
|
+
"position": "before:captureGroup:1",
|
|
148
|
+
"label": "deps: ",
|
|
149
|
+
"description": "Dependency array for callback memoization",
|
|
150
|
+
"kind": "parameter"
|
|
151
|
+
}
|
|
152
|
+
]
|
|
153
|
+
},
|
|
154
|
+
{
|
|
155
|
+
"pattern": "(?:function|const)\\s+([A-Z][a-zA-Z0-9]*)\\s*(?::\\s*React\\.FC<(\\w+)>)?\\s*(?:=\\s*)?\\(([^)]*?)\\)",
|
|
156
|
+
"hints": [
|
|
157
|
+
{
|
|
158
|
+
"position": "before:captureGroup:3",
|
|
159
|
+
"label": "props: ",
|
|
160
|
+
"description": "Component props parameter",
|
|
161
|
+
"kind": "parameter"
|
|
162
|
+
}
|
|
163
|
+
]
|
|
164
|
+
},
|
|
165
|
+
{
|
|
166
|
+
"pattern": "const\\s+(\\w+)\\s*=\\s*useSyncExternalStore\\s*\\(",
|
|
167
|
+
"hints": [
|
|
168
|
+
{
|
|
169
|
+
"position": "after:captureGroup:1",
|
|
170
|
+
"label": ": Snapshot",
|
|
171
|
+
"description": "External store snapshot type",
|
|
172
|
+
"kind": "type"
|
|
173
|
+
}
|
|
174
|
+
]
|
|
175
|
+
}
|
|
176
|
+
]
|
|
177
|
+
}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
{
|
|
2
|
+
"language": "shadcn",
|
|
3
|
+
"inlayHintPatterns": [
|
|
4
|
+
{
|
|
5
|
+
"pattern": "const\\s+(\\w+Variants?)\\s*=\\s*cva\\(",
|
|
6
|
+
"captureGroup": 1,
|
|
7
|
+
"label": ": (props?: VariantProps) => string",
|
|
8
|
+
"kind": 1,
|
|
9
|
+
"tooltip": "cva() returns a function that accepts variant props and returns a class string",
|
|
10
|
+
"position": "after"
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
"pattern": "\\bcn\\(([^)]+)\\)",
|
|
14
|
+
"captureGroup": 0,
|
|
15
|
+
"label": ": string",
|
|
16
|
+
"kind": 1,
|
|
17
|
+
"tooltip": "cn() returns a merged Tailwind CSS class string",
|
|
18
|
+
"position": "after"
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
"pattern": "const\\s+\\{\\s*(toast).*\\}\\s*=\\s*useToast\\(",
|
|
22
|
+
"captureGroup": 1,
|
|
23
|
+
"label": ": (props: ToastProps) => { id, dismiss, update }",
|
|
24
|
+
"kind": 1,
|
|
25
|
+
"tooltip": "toast() creates a new toast notification and returns control handles",
|
|
26
|
+
"position": "after"
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
"pattern": "const\\s+(\\w+)\\s*=\\s*useFormField\\(",
|
|
30
|
+
"captureGroup": 1,
|
|
31
|
+
"label": ": { id, name, formItemId, formDescriptionId, formMessageId, invalid, isDirty, isTouched, error }",
|
|
32
|
+
"kind": 1,
|
|
33
|
+
"tooltip": "useFormField() returns form field state and accessibility IDs",
|
|
34
|
+
"position": "after"
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
"pattern": "variant=[\"'](\\w+)[\"']",
|
|
38
|
+
"captureGroup": 1,
|
|
39
|
+
"label": ": VariantProps[\"variant\"]",
|
|
40
|
+
"kind": 1,
|
|
41
|
+
"tooltip": "Variant prop value from the component's cva definition",
|
|
42
|
+
"position": "after"
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
"pattern": "React\\.forwardRef<(\\w+),\\s*(\\w+)>",
|
|
46
|
+
"captureGroup": 1,
|
|
47
|
+
"label": ": React.Ref<$1>",
|
|
48
|
+
"kind": 1,
|
|
49
|
+
"tooltip": "Ref type forwarded to the underlying DOM element",
|
|
50
|
+
"position": "after"
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
"pattern": "<FormField[^>]*render=\\{\\(\\{\\s*field\\s*\\}\\)",
|
|
54
|
+
"captureGroup": 0,
|
|
55
|
+
"label": ": ControllerRenderProps<TFieldValues>",
|
|
56
|
+
"kind": 1,
|
|
57
|
+
"tooltip": "field object contains value, onChange, onBlur, name, and ref",
|
|
58
|
+
"position": "after"
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
"pattern": "z\\.infer<typeof\\s+(\\w+)>",
|
|
62
|
+
"captureGroup": 1,
|
|
63
|
+
"label": ": inferred type",
|
|
64
|
+
"kind": 1,
|
|
65
|
+
"tooltip": "Type inferred from the referenced zod schema",
|
|
66
|
+
"position": "after"
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
"pattern": "accessorKey:\\s*[\"'](\\w+)[\"']",
|
|
70
|
+
"captureGroup": 1,
|
|
71
|
+
"label": ": keyof TData",
|
|
72
|
+
"kind": 1,
|
|
73
|
+
"tooltip": "Column accessor key typed to a property of the row data",
|
|
74
|
+
"position": "after"
|
|
75
|
+
}
|
|
76
|
+
],
|
|
77
|
+
"typeInferenceRules": [
|
|
78
|
+
{
|
|
79
|
+
"pattern": "const\\s+\\w+\\s*=\\s*cva\\(",
|
|
80
|
+
"inferredType": "(props?: VariantProps<typeof variants>) => string",
|
|
81
|
+
"description": "cva() call infers a variant function type based on the provided config"
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
"pattern": "useForm<z\\.infer<typeof\\s+(\\w+)>>",
|
|
85
|
+
"inferredType": "UseFormReturn<z.infer<typeof $1>>",
|
|
86
|
+
"description": "useForm infers form type from zod schema via z.infer"
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
"pattern": "useReactTable\\(\\{",
|
|
90
|
+
"inferredType": "Table<TData>",
|
|
91
|
+
"description": "useReactTable returns a Table instance typed to the data shape"
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
"pattern": "const\\s+\\{\\s*toast\\s*,?\\s*toasts\\s*\\}\\s*=\\s*useToast\\(",
|
|
95
|
+
"inferredType": "{ toast: ToastFunction; toasts: Toast[]; dismiss: (id?: string) => void }",
|
|
96
|
+
"description": "useToast hook returns toast action and current toasts array"
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
"pattern": "React\\.forwardRef<(\\w+),\\s*(\\w+)>",
|
|
100
|
+
"inferredType": "React.ForwardRefExoticComponent<$2 & React.RefAttributes<$1>>",
|
|
101
|
+
"description": "forwardRef infers an exotic component type from element and props generics"
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
"pattern": "const\\s+\\w+\\s*=\\s*useFormField\\(",
|
|
105
|
+
"inferredType": "{ id: string; name: string; formItemId: string; formDescriptionId: string; formMessageId: string; invalid: boolean; isDirty: boolean; isTouched: boolean; error?: FieldError }",
|
|
106
|
+
"description": "useFormField returns form field context with validation state"
|
|
107
|
+
}
|
|
108
|
+
]
|
|
109
|
+
}
|
|
@@ -1,35 +1,223 @@
|
|
|
1
|
-
{
|
|
2
|
-
"language": "shell",
|
|
3
|
-
"inlayHintPatterns": [
|
|
4
|
-
{
|
|
5
|
-
"pattern": "(\\w+)\\s*=\\s*",
|
|
6
|
-
"kind": 1,
|
|
7
|
-
"label": ": {type}",
|
|
8
|
-
"position": "after_value",
|
|
9
|
-
"paddingLeft": true,
|
|
10
|
-
"description": "Show inferred types for shell variable assignments"
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
"
|
|
16
|
-
"
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
"
|
|
24
|
-
"
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
"
|
|
32
|
-
"
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"language": "shell",
|
|
3
|
+
"inlayHintPatterns": [
|
|
4
|
+
{
|
|
5
|
+
"pattern": "(\\w+)\\s*=\\s*",
|
|
6
|
+
"kind": 1,
|
|
7
|
+
"label": ": {type}",
|
|
8
|
+
"position": "after_value",
|
|
9
|
+
"paddingLeft": true,
|
|
10
|
+
"description": "Show inferred types for shell variable assignments"
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
"pattern": "(?:local|declare)\\s+(?:-\\w+\\s+)*(\\w+)\\s*=\\s*(.+)",
|
|
14
|
+
"kind": 1,
|
|
15
|
+
"label": ": {inferred_type}",
|
|
16
|
+
"position": "after_capture_1",
|
|
17
|
+
"paddingLeft": true,
|
|
18
|
+
"description": "Show inferred type for variable assignments"
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
"pattern": "(\\w+)\\s+(\\$\\{?[^}\\s]+\\}?(?:\\s+\\$\\{?[^}\\s]+\\}?)*)",
|
|
22
|
+
"kind": 2,
|
|
23
|
+
"label": "{param_name}:",
|
|
24
|
+
"position": "before_each_arg",
|
|
25
|
+
"paddingRight": true,
|
|
26
|
+
"description": "Show parameter names at call sites for known functions"
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
"pattern": "declare\\s+-([aAilurnx]+)\\s+(\\w+)",
|
|
30
|
+
"kind": 1,
|
|
31
|
+
"label": ": {attribute_description}",
|
|
32
|
+
"position": "after_capture_2",
|
|
33
|
+
"paddingLeft": true,
|
|
34
|
+
"description": "Show attribute description for declare flags"
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
"pattern": "\\$\\{(\\w+):?[-+=?]",
|
|
38
|
+
"kind": 1,
|
|
39
|
+
"label": "expansion: {expansion_type}",
|
|
40
|
+
"position": "after_capture_1",
|
|
41
|
+
"paddingLeft": true,
|
|
42
|
+
"description": "Show parameter expansion type"
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
"pattern": "exit\\s+(\\d+)",
|
|
46
|
+
"kind": 1,
|
|
47
|
+
"label": ": {exit_meaning}",
|
|
48
|
+
"position": "after_capture_1",
|
|
49
|
+
"paddingLeft": true,
|
|
50
|
+
"description": "Show meaning of exit status code"
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
"pattern": "trap\\s+['\"][^'\"]+['\"]\\s+(\\w+)",
|
|
54
|
+
"kind": 1,
|
|
55
|
+
"label": ": signal {signal_number}",
|
|
56
|
+
"position": "after_capture_1",
|
|
57
|
+
"paddingLeft": true,
|
|
58
|
+
"description": "Show signal number for trap signal name"
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
"pattern": "\\$\\(\\((.+)\\)\\)",
|
|
62
|
+
"kind": 1,
|
|
63
|
+
"label": "= {result}",
|
|
64
|
+
"position": "after_match",
|
|
65
|
+
"paddingLeft": true,
|
|
66
|
+
"description": "Show arithmetic result for constant expressions"
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
"pattern": "chmod\\s+(\\d{3,4})\\s+",
|
|
70
|
+
"kind": 1,
|
|
71
|
+
"label": ": {permission_string}",
|
|
72
|
+
"position": "after_capture_1",
|
|
73
|
+
"paddingLeft": true,
|
|
74
|
+
"description": "Show symbolic permission for numeric chmod"
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
"pattern": "umask\\s+(\\d{3,4})",
|
|
78
|
+
"kind": 1,
|
|
79
|
+
"label": ": effective {effective_perms}",
|
|
80
|
+
"position": "after_capture_1",
|
|
81
|
+
"paddingLeft": true,
|
|
82
|
+
"description": "Show effective permissions for umask value"
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
"pattern": "\\breturn\\s+(\\d+)",
|
|
86
|
+
"kind": 1,
|
|
87
|
+
"label": ": {return_meaning}",
|
|
88
|
+
"position": "after_capture_1",
|
|
89
|
+
"paddingLeft": true,
|
|
90
|
+
"description": "Show meaning of return status code"
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
"pattern": "\\bkill\\s+-(?:s\\s+)?(\\d+|[A-Z]+)\\s+",
|
|
94
|
+
"kind": 1,
|
|
95
|
+
"label": ": {signal_description}",
|
|
96
|
+
"position": "after_capture_1",
|
|
97
|
+
"paddingLeft": true,
|
|
98
|
+
"description": "Show signal description"
|
|
99
|
+
},
|
|
100
|
+
{
|
|
101
|
+
"pattern": "\\btest\\s+(-[a-zA-Z])\\s+",
|
|
102
|
+
"kind": 1,
|
|
103
|
+
"label": ": {test_description}",
|
|
104
|
+
"position": "after_capture_1",
|
|
105
|
+
"paddingLeft": true,
|
|
106
|
+
"description": "Show test operator meaning"
|
|
107
|
+
}
|
|
108
|
+
],
|
|
109
|
+
"typeInferenceRules": {
|
|
110
|
+
"string_literal": {
|
|
111
|
+
"pattern": "['\"].*['\"]",
|
|
112
|
+
"type": "string"
|
|
113
|
+
},
|
|
114
|
+
"number_literal": {
|
|
115
|
+
"pattern": "^\\d+$",
|
|
116
|
+
"type": "integer"
|
|
117
|
+
},
|
|
118
|
+
"array_literal": {
|
|
119
|
+
"pattern": "\\(.*\\)",
|
|
120
|
+
"type": "array"
|
|
121
|
+
},
|
|
122
|
+
"boolean_literal": {
|
|
123
|
+
"pattern": "\\b(true|false)\\b",
|
|
124
|
+
"type": "string"
|
|
125
|
+
},
|
|
126
|
+
"path_literal": {
|
|
127
|
+
"pattern": "(/[\\w.-]+)+",
|
|
128
|
+
"type": "path"
|
|
129
|
+
},
|
|
130
|
+
"command_substitution": {
|
|
131
|
+
"pattern": "^\\$\\(.*\\)$",
|
|
132
|
+
"type": "string (from command)"
|
|
133
|
+
},
|
|
134
|
+
"arithmetic": {
|
|
135
|
+
"pattern": "^\\$\\(\\(.*\\)\\)$",
|
|
136
|
+
"type": "integer"
|
|
137
|
+
},
|
|
138
|
+
"boolean_pattern": {
|
|
139
|
+
"pattern": "^(true|false|0|1)$",
|
|
140
|
+
"type": "boolean (exit status)"
|
|
141
|
+
},
|
|
142
|
+
"variable_reference": {
|
|
143
|
+
"pattern": "^\\$\\{?\\w+\\}?$",
|
|
144
|
+
"type": "string (variable)"
|
|
145
|
+
},
|
|
146
|
+
"process_substitution": {
|
|
147
|
+
"pattern": "^<\\(.*\\)$|^>\\(.*\\)$",
|
|
148
|
+
"type": "file descriptor"
|
|
149
|
+
},
|
|
150
|
+
"heredoc": {
|
|
151
|
+
"pattern": "^<<-?\\s*\\w+",
|
|
152
|
+
"type": "string (heredoc)"
|
|
153
|
+
},
|
|
154
|
+
"null_literal": {
|
|
155
|
+
"pattern": "\\\\b(null)\\\\b",
|
|
156
|
+
"type": "null"
|
|
157
|
+
}
|
|
158
|
+
},
|
|
159
|
+
"attributeDescriptions": {
|
|
160
|
+
"a": "indexed array",
|
|
161
|
+
"A": "associative array",
|
|
162
|
+
"i": "integer",
|
|
163
|
+
"l": "lowercase",
|
|
164
|
+
"u": "uppercase",
|
|
165
|
+
"r": "readonly",
|
|
166
|
+
"x": "exported",
|
|
167
|
+
"n": "nameref",
|
|
168
|
+
"t": "trace"
|
|
169
|
+
},
|
|
170
|
+
"exitStatusMeanings": {
|
|
171
|
+
"0": "success",
|
|
172
|
+
"1": "general error",
|
|
173
|
+
"2": "misuse of builtin",
|
|
174
|
+
"126": "not executable",
|
|
175
|
+
"127": "command not found",
|
|
176
|
+
"128": "invalid exit argument",
|
|
177
|
+
"130": "killed by SIGINT (Ctrl+C)",
|
|
178
|
+
"137": "killed by SIGKILL",
|
|
179
|
+
"143": "killed by SIGTERM"
|
|
180
|
+
},
|
|
181
|
+
"signalDescriptions": {
|
|
182
|
+
"1": "HUP - hangup / reload",
|
|
183
|
+
"2": "INT - interrupt (Ctrl+C)",
|
|
184
|
+
"3": "QUIT - core dump",
|
|
185
|
+
"9": "KILL - force kill (uncatchable)",
|
|
186
|
+
"13": "PIPE - broken pipe",
|
|
187
|
+
"15": "TERM - graceful termination",
|
|
188
|
+
"17": "CHLD - child status change",
|
|
189
|
+
"18": "CONT - continue stopped process",
|
|
190
|
+
"19": "STOP - stop (uncatchable)",
|
|
191
|
+
"20": "TSTP - terminal stop (Ctrl+Z)",
|
|
192
|
+
"SIGHUP": "hangup / reload",
|
|
193
|
+
"SIGINT": "interrupt (Ctrl+C)",
|
|
194
|
+
"SIGQUIT": "quit with core dump",
|
|
195
|
+
"SIGKILL": "force kill (uncatchable)",
|
|
196
|
+
"SIGTERM": "graceful termination",
|
|
197
|
+
"SIGSTOP": "stop (uncatchable)",
|
|
198
|
+
"SIGCONT": "continue stopped process",
|
|
199
|
+
"SIGTSTP": "terminal stop (Ctrl+Z)",
|
|
200
|
+
"EXIT": "shell exit (pseudo-signal)",
|
|
201
|
+
"ERR": "command failure (with set -e)",
|
|
202
|
+
"DEBUG": "before each command",
|
|
203
|
+
"RETURN": "after function/source return"
|
|
204
|
+
},
|
|
205
|
+
"testOperatorDescriptions": {
|
|
206
|
+
"-f": "is regular file",
|
|
207
|
+
"-d": "is directory",
|
|
208
|
+
"-e": "exists (any type)",
|
|
209
|
+
"-s": "exists and non-empty",
|
|
210
|
+
"-r": "is readable",
|
|
211
|
+
"-w": "is writable",
|
|
212
|
+
"-x": "is executable",
|
|
213
|
+
"-L": "is symlink",
|
|
214
|
+
"-h": "is symlink",
|
|
215
|
+
"-p": "is named pipe",
|
|
216
|
+
"-S": "is socket",
|
|
217
|
+
"-b": "is block device",
|
|
218
|
+
"-c": "is character device",
|
|
219
|
+
"-z": "string is empty",
|
|
220
|
+
"-n": "string is non-empty",
|
|
221
|
+
"-t": "fd is open terminal"
|
|
222
|
+
}
|
|
223
|
+
}
|