@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,131 @@
1
+ {
2
+ "language": "angular",
3
+ "renamePatterns": [
4
+ {
5
+ "name": "className",
6
+ "pattern": "\\bclass\\s+([A-Z]\\w*)",
7
+ "captureGroup": 1,
8
+ "description": "Rename class name including component, directive, service, pipe, guard, and module classes"
9
+ },
10
+ {
11
+ "name": "methodName",
12
+ "pattern": "(?:public|private|protected|static|async|\\s)\\s+([a-z_$][\\w$]*)\\s*\\(",
13
+ "captureGroup": 1,
14
+ "description": "Rename class method name"
15
+ },
16
+ {
17
+ "name": "propertyName",
18
+ "pattern": "(?:public|private|protected|readonly|static|\\s)\\s+([a-z_$][\\w$]*)\\s*[=:;]",
19
+ "captureGroup": 1,
20
+ "description": "Rename class property or field name"
21
+ },
22
+ {
23
+ "name": "signalName",
24
+ "pattern": "(?:readonly\\s+)?([a-z_$][\\w$]*)\\s*=\\s*(?:signal|computed|input|output|model)\\s*[<(]",
25
+ "captureGroup": 1,
26
+ "description": "Rename Angular signal, computed, input, output, or model signal name"
27
+ },
28
+ {
29
+ "name": "variableName",
30
+ "pattern": "(?:const|let|var)\\s+([a-z_$][\\w$]*)",
31
+ "captureGroup": 1,
32
+ "description": "Rename local variable or constant"
33
+ },
34
+ {
35
+ "name": "interfaceName",
36
+ "pattern": "\\binterface\\s+([A-Z]\\w*)",
37
+ "captureGroup": 1,
38
+ "description": "Rename interface name"
39
+ },
40
+ {
41
+ "name": "typeAliasName",
42
+ "pattern": "\\btype\\s+([A-Z]\\w*)\\s*=",
43
+ "captureGroup": 1,
44
+ "description": "Rename type alias name"
45
+ },
46
+ {
47
+ "name": "enumName",
48
+ "pattern": "\\benum\\s+([A-Z]\\w*)",
49
+ "captureGroup": 1,
50
+ "description": "Rename enum name"
51
+ },
52
+ {
53
+ "name": "parameterName",
54
+ "pattern": "(?:[,(]\\s*)([a-z_$][\\w$]*)\\s*[?]?\\s*:",
55
+ "captureGroup": 1,
56
+ "description": "Rename function or method parameter name"
57
+ }
58
+ ],
59
+ "validationRules": {
60
+ "reservedWords": [
61
+ "constructor",
62
+ "prototype",
63
+ "this",
64
+ "super",
65
+ "undefined",
66
+ "null",
67
+ "true",
68
+ "false",
69
+ "if",
70
+ "else",
71
+ "for",
72
+ "while",
73
+ "do",
74
+ "switch",
75
+ "case",
76
+ "break",
77
+ "continue",
78
+ "return",
79
+ "throw",
80
+ "try",
81
+ "catch",
82
+ "finally",
83
+ "new",
84
+ "delete",
85
+ "typeof",
86
+ "instanceof",
87
+ "void",
88
+ "in",
89
+ "of",
90
+ "class",
91
+ "extends",
92
+ "implements",
93
+ "import",
94
+ "export",
95
+ "default",
96
+ "async",
97
+ "await",
98
+ "yield",
99
+ "static",
100
+ "public",
101
+ "private",
102
+ "protected",
103
+ "readonly",
104
+ "abstract",
105
+ "interface",
106
+ "type",
107
+ "enum",
108
+ "const",
109
+ "let",
110
+ "var"
111
+ ],
112
+ "patterns": [
113
+ {
114
+ "pattern": "^[a-z_$][a-zA-Z0-9_$]*$",
115
+ "message": "Properties and methods must use camelCase naming convention"
116
+ },
117
+ {
118
+ "pattern": "^[A-Z][a-zA-Z0-9]*$",
119
+ "message": "Classes, interfaces, enums, and type aliases must use PascalCase naming convention"
120
+ },
121
+ {
122
+ "pattern": "^[a-zA-Z_$]",
123
+ "message": "Identifiers must start with a letter, underscore, or dollar sign"
124
+ },
125
+ {
126
+ "pattern": "^(?!__proto__|__defineGetter__|__defineSetter__|__lookupGetter__|__lookupSetter__).*$",
127
+ "message": "Identifier must not use reserved dunder property names"
128
+ }
129
+ ]
130
+ }
131
+ }
@@ -0,0 +1,32 @@
1
+ {
2
+ "language": "nestjs",
3
+ "rename": {
4
+ "wordPattern": "[a-zA-Z_$][a-zA-Z0-9_$]*",
5
+ "prepareProvider": true,
6
+ "validation": {
7
+ "identifierPattern": "^[a-zA-Z_$][a-zA-Z0-9_$]*$",
8
+ "minLength": 1,
9
+ "maxLength": 256,
10
+ "reservedWords": [
11
+ "break", "case", "catch", "continue", "debugger", "default", "delete", "do",
12
+ "else", "finally", "for", "function", "if", "in", "instanceof", "new",
13
+ "return", "switch", "this", "throw", "try", "typeof", "var", "void",
14
+ "while", "with", "class", "const", "enum", "export", "extends", "import",
15
+ "super", "implements", "interface", "let", "package", "private", "protected",
16
+ "public", "static", "yield", "await", "async", "of", "null", "undefined",
17
+ "true", "false", "NaN", "Infinity"
18
+ ]
19
+ },
20
+ "renamePatterns": [
21
+ { "name": "Class name", "pattern": "class\\s+(\\w+)", "captureGroup": 1, "description": "Rename class declaration" },
22
+ { "name": "Method name", "pattern": "(?:async\\s+)?(\\w+)\\s*\\([^)]*\\)\\s*(?::\\s*\\w+)?\\s*\\{", "captureGroup": 1, "description": "Rename method" },
23
+ { "name": "Interface", "pattern": "interface\\s+(\\w+)", "captureGroup": 1, "description": "Rename interface" },
24
+ { "name": "Type alias", "pattern": "type\\s+(\\w+)\\s*=", "captureGroup": 1, "description": "Rename type alias" },
25
+ { "name": "Enum name", "pattern": "enum\\s+(\\w+)", "captureGroup": 1, "description": "Rename enum" },
26
+ { "name": "Parameter", "pattern": "(?:@\\w+\\([^)]*\\)\\s*)?(\\w+)\\s*:\\s*\\w+", "captureGroup": 1, "description": "Rename parameter" },
27
+ { "name": "Variable", "pattern": "(?:const|let|var)\\s+(\\w+)", "captureGroup": 1, "description": "Rename variable" },
28
+ { "name": "Property", "pattern": "(?:private|protected|public|readonly)\\s+(?:readonly\\s+)?(\\w+)", "captureGroup": 1, "description": "Rename property" },
29
+ { "name": "Import alias", "pattern": "import\\s+(?:\\{[^}]*\\}|\\w+)\\s+from", "captureGroup": 0, "description": "Rename imported symbol" }
30
+ ]
31
+ }
32
+ }
@@ -0,0 +1,31 @@
1
+ {
2
+ "language": "nextjs",
3
+ "rename": {
4
+ "wordPattern": "[a-zA-Z_$][a-zA-Z0-9_$]*",
5
+ "prepareProvider": true,
6
+ "validation": {
7
+ "identifierPattern": "^[a-zA-Z_$][a-zA-Z0-9_$]*$",
8
+ "minLength": 1,
9
+ "maxLength": 256,
10
+ "reservedWords": [
11
+ "break", "case", "catch", "continue", "debugger", "default", "delete", "do",
12
+ "else", "finally", "for", "function", "if", "in", "instanceof", "new",
13
+ "return", "switch", "this", "throw", "try", "typeof", "var", "void",
14
+ "while", "with", "class", "const", "enum", "export", "extends", "import",
15
+ "super", "implements", "interface", "let", "package", "private", "protected",
16
+ "public", "static", "yield", "await", "async", "of", "null", "undefined",
17
+ "true", "false", "NaN", "Infinity"
18
+ ]
19
+ },
20
+ "renamePatterns": [
21
+ { "name": "Component name", "pattern": "(?:export\\s+default\\s+)?function\\s+(\\w+)", "captureGroup": 1, "description": "Rename component/function declaration" },
22
+ { "name": "Arrow component", "pattern": "(?:export\\s+)?const\\s+(\\w+)\\s*[:=]", "captureGroup": 1, "description": "Rename const/arrow function" },
23
+ { "name": "Hook name", "pattern": "(?:function|const)\\s+(use[A-Z]\\w*)", "captureGroup": 1, "description": "Rename custom hook" },
24
+ { "name": "Type/Interface", "pattern": "(?:type|interface)\\s+(\\w+)", "captureGroup": 1, "description": "Rename type or interface" },
25
+ { "name": "Parameter", "pattern": "(?:function\\s+\\w+|=>)\\s*\\(([^)]*)", "captureGroup": 1, "description": "Rename function parameters" },
26
+ { "name": "Destructured prop", "pattern": "\\{\\s*([a-zA-Z_$][\\w$]*)(?:\\s*[:,}])", "captureGroup": 1, "description": "Rename destructured variable" },
27
+ { "name": "Import alias", "pattern": "import\\s+(?:\\{[^}]*\\}|\\w+)\\s+from", "captureGroup": 0, "description": "Rename imported symbol" },
28
+ { "name": "Enum member", "pattern": "^\\s*(\\w+)\\s*[=,]", "captureGroup": 1, "description": "Rename enum member" }
29
+ ]
30
+ }
31
+ }
@@ -0,0 +1,88 @@
1
+ {
2
+ "language": "react",
3
+ "rename": {
4
+ "wordPattern": "[a-zA-Z_$][a-zA-Z0-9_$]*",
5
+ "prepareProvider": true,
6
+ "validation": {
7
+ "identifierPattern": "^[a-zA-Z_$][a-zA-Z0-9_$]*$",
8
+ "minLength": 1,
9
+ "maxLength": 256,
10
+ "reservedWords": [
11
+ "break", "case", "catch", "continue", "debugger", "default", "delete", "do",
12
+ "else", "finally", "for", "function", "if", "in", "instanceof", "new",
13
+ "return", "switch", "this", "throw", "try", "typeof", "var", "void",
14
+ "while", "with", "class", "const", "enum", "export", "extends", "import",
15
+ "super", "implements", "interface", "let", "package", "private", "protected",
16
+ "public", "static", "yield", "await", "async", "of", "null", "undefined",
17
+ "true", "false", "NaN", "Infinity"
18
+ ]
19
+ },
20
+ "renamePatterns": [
21
+ {
22
+ "name": "ComponentRename",
23
+ "pattern": "(?:export\\s+)?(?:default\\s+)?(?:function|const|class)\\s+([A-Z][a-zA-Z0-9]*)\\s*",
24
+ "captureGroup": 1,
25
+ "scope": "file",
26
+ "description": "Rename a React component and update all usages",
27
+ "validationRules": {
28
+ "mustStartWith": "[A-Z]",
29
+ "reason": "React components must start with an uppercase letter."
30
+ }
31
+ },
32
+ {
33
+ "name": "HookRename",
34
+ "pattern": "(?:export\\s+)?(?:function|const)\\s+(use[A-Z][a-zA-Z0-9]*)\\s*(?:=|\\()",
35
+ "captureGroup": 1,
36
+ "scope": "file",
37
+ "description": "Rename a custom hook and update all call sites",
38
+ "validationRules": {
39
+ "mustStartWith": "use[A-Z]",
40
+ "reason": "Custom hooks must start with 'use' followed by an uppercase letter."
41
+ }
42
+ },
43
+ {
44
+ "name": "ContextRename",
45
+ "pattern": "(?:export\\s+)?const\\s+(\\w+Context)\\s*=\\s*(?:React\\.)?createContext",
46
+ "captureGroup": 1,
47
+ "scope": "file",
48
+ "description": "Rename a context and update providers and consumers",
49
+ "validationRules": {
50
+ "mustEndWith": "Context",
51
+ "reason": "Context names conventionally end with 'Context'."
52
+ }
53
+ },
54
+ {
55
+ "name": "PropRename",
56
+ "pattern": "(?:interface|type)\\s+(\\w+Props)\\s*",
57
+ "captureGroup": 1,
58
+ "scope": "file",
59
+ "description": "Rename a props interface/type"
60
+ },
61
+ {
62
+ "name": "StateVariableRename",
63
+ "pattern": "const\\s+\\[(\\w+),\\s*set\\w+\\]\\s*=\\s*useState",
64
+ "captureGroup": 1,
65
+ "scope": "function",
66
+ "description": "Rename a state variable and its setter"
67
+ },
68
+ {
69
+ "name": "RefRename",
70
+ "pattern": "const\\s+(\\w+)\\s*=\\s*useRef",
71
+ "captureGroup": 1,
72
+ "scope": "function",
73
+ "description": "Rename a ref variable"
74
+ },
75
+ {
76
+ "name": "HOCRename",
77
+ "pattern": "(?:export\\s+)?(?:function|const)\\s+(with[A-Z][a-zA-Z0-9]*)\\s*",
78
+ "captureGroup": 1,
79
+ "scope": "file",
80
+ "description": "Rename a Higher-Order Component",
81
+ "validationRules": {
82
+ "mustStartWith": "with[A-Z]",
83
+ "reason": "HOCs conventionally start with 'with'."
84
+ }
85
+ }
86
+ ]
87
+ }
88
+ }
@@ -0,0 +1,79 @@
1
+ {
2
+ "language": "shadcn",
3
+ "renamePatterns": [
4
+ {
5
+ "name": "componentName",
6
+ "pattern": "(?:function|const)\\s+([A-Z][a-zA-Z0-9]*)\\s*(?:=\\s*(?:React\\.forwardRef|\\()|\\()",
7
+ "captureGroup": 1,
8
+ "description": "Rename a React component declared as function or const (PascalCase)"
9
+ },
10
+ {
11
+ "name": "propInterfaceName",
12
+ "pattern": "(?:interface|type)\\s+([A-Z][a-zA-Z0-9]*Props)(?:<[^>]*>)?\\s*(?:=|\\{)",
13
+ "captureGroup": 1,
14
+ "description": "Rename a component props interface or type alias"
15
+ },
16
+ {
17
+ "name": "variantConstName",
18
+ "pattern": "const\\s+([a-zA-Z][a-zA-Z0-9]*Variants?)\\s*=\\s*cva\\s*\\(",
19
+ "captureGroup": 1,
20
+ "description": "Rename a cva() variant const definition"
21
+ },
22
+ {
23
+ "name": "hookName",
24
+ "pattern": "(?:function|const)\\s+(use[A-Z][a-zA-Z0-9]*)\\s*(?:=|\\()",
25
+ "captureGroup": 1,
26
+ "description": "Rename a custom React hook (must start with use)"
27
+ },
28
+ {
29
+ "name": "formSchemaName",
30
+ "pattern": "const\\s+([a-zA-Z][a-zA-Z0-9]*Schema)\\s*=\\s*z\\.",
31
+ "captureGroup": 1,
32
+ "description": "Rename a Zod form validation schema"
33
+ },
34
+ {
35
+ "name": "columnAccessorKey",
36
+ "pattern": "accessorKey\\s*:\\s*[\"']([a-zA-Z_][a-zA-Z0-9_]*)[\"']",
37
+ "captureGroup": 1,
38
+ "description": "Rename a column accessor key in DataTable column definitions"
39
+ },
40
+ {
41
+ "name": "utilityFunctionName",
42
+ "pattern": "(?:function|const)\\s+([a-z][a-zA-Z0-9]*)\\s*(?:=\\s*(?:\\([^)]*\\)|[^=])\\s*=>|\\()",
43
+ "captureGroup": 1,
44
+ "description": "Rename a utility function (camelCase)"
45
+ },
46
+ {
47
+ "name": "typeAliasName",
48
+ "pattern": "type\\s+([A-Z][a-zA-Z0-9]*)(?:<[^>]*>)?\\s*=",
49
+ "captureGroup": 1,
50
+ "description": "Rename a TypeScript type alias"
51
+ }
52
+ ],
53
+ "validationRules": {
54
+ "reservedWords": [
55
+ "React",
56
+ "Fragment",
57
+ "forwardRef",
58
+ "useState",
59
+ "useEffect",
60
+ "useRef",
61
+ "useCallback",
62
+ "useMemo"
63
+ ],
64
+ "patterns": [
65
+ {
66
+ "pattern": "^[A-Z][a-zA-Z0-9]*$",
67
+ "message": "Component names must be PascalCase (e.g. Button, DataTable)"
68
+ },
69
+ {
70
+ "pattern": "^use[A-Z][a-zA-Z0-9]*$",
71
+ "message": "Hook names must start with 'use' followed by PascalCase (e.g. useToast, useFormField)"
72
+ },
73
+ {
74
+ "pattern": "^[a-z][a-zA-Z0-9]*$",
75
+ "message": "Utility functions and variables must be camelCase (e.g. cn, buttonVariants)"
76
+ }
77
+ ]
78
+ }
79
+ }
@@ -1,31 +1,101 @@
1
- {
2
- "language": "shell",
3
- "wordPattern": "[a-zA-Z_][a-zA-Z0-9_]*|\\$[a-zA-Z_][a-zA-Z0-9_]*|\\$\\{[a-zA-Z_][a-zA-Z0-9_]*\\}",
4
- "identifierRules": {
5
- "start": "[a-zA-Z_$]",
6
- "continue": "[a-zA-Z0-9_]",
7
- "forbidden": ["if", "then", "else", "elif", "fi", "for", "while", "until", "do", "done", "case", "esac", "in", "function", "select", "time", "coproc", "break", "continue", "return", "exit", "export", "readonly", "local", "declare", "typeset", "unset", "shift", "trap", "eval", "exec", "source", "alias", "unalias", "set", "true", "false"]
8
- },
9
- "renameValidation": {
10
- "allowEmpty": false,
11
- "maxLength": 255,
12
- "pattern": "^\\$?[a-zA-Z_][a-zA-Z0-9_]*$"
13
- },
14
- "prepareRenamePatterns": [
15
- {
16
- "pattern": "\\$\\{([a-zA-Z_][a-zA-Z0-9_]*)\\}",
17
- "captureGroup": 1,
18
- "description": "Brace-expanded variable"
19
- },
20
- {
21
- "pattern": "\\$([a-zA-Z_][a-zA-Z0-9_]*)",
22
- "captureGroup": 1,
23
- "description": "Shell variable reference"
24
- },
25
- {
26
- "pattern": "\\b([a-zA-Z_][a-zA-Z0-9_]*)\\b",
27
- "captureGroup": 1,
28
- "description": "Function or variable name"
29
- }
30
- ]
31
- }
1
+ {
2
+ "language": "shell",
3
+ "wordPattern": "[a-zA-Z_][a-zA-Z0-9_]*|\\$[a-zA-Z_][a-zA-Z0-9_]*|\\$\\{[a-zA-Z_][a-zA-Z0-9_]*\\}",
4
+ "identifierRules": {
5
+ "start": "[a-zA-Z_$]",
6
+ "continue": "[a-zA-Z0-9_]",
7
+ "forbidden": [
8
+ "if",
9
+ "then",
10
+ "else",
11
+ "elif",
12
+ "fi",
13
+ "for",
14
+ "while",
15
+ "until",
16
+ "do",
17
+ "done",
18
+ "case",
19
+ "esac",
20
+ "in",
21
+ "function",
22
+ "select",
23
+ "time",
24
+ "coproc",
25
+ "break",
26
+ "continue",
27
+ "return",
28
+ "exit",
29
+ "export",
30
+ "readonly",
31
+ "local",
32
+ "declare",
33
+ "typeset",
34
+ "unset",
35
+ "shift",
36
+ "trap",
37
+ "eval",
38
+ "exec",
39
+ "source",
40
+ "alias",
41
+ "unalias",
42
+ "set",
43
+ "true",
44
+ "false",
45
+ "setopt",
46
+ "unsetopt",
47
+ "autoload",
48
+ "zmodload",
49
+ "zstyle",
50
+ "compdef",
51
+ "compadd",
52
+ "compctl",
53
+ "bindkey",
54
+ "zle",
55
+ "emulate",
56
+ "foreach",
57
+ "end",
58
+ "repeat",
59
+ "always",
60
+ "nocorrect",
61
+ "noglob"
62
+ ]
63
+ },
64
+ "renameValidation": {
65
+ "allowEmpty": false,
66
+ "maxLength": 255,
67
+ "pattern": "^\\$?[a-zA-Z_][a-zA-Z0-9_]*$"
68
+ },
69
+ "prepareRenamePatterns": [
70
+ {
71
+ "pattern": "\\$\\{([a-zA-Z_][a-zA-Z0-9_]*)\\}",
72
+ "captureGroup": 1,
73
+ "description": "Brace-expanded variable"
74
+ },
75
+ {
76
+ "pattern": "\\$([a-zA-Z_][a-zA-Z0-9_]*)",
77
+ "captureGroup": 1,
78
+ "description": "Shell variable reference"
79
+ },
80
+ {
81
+ "pattern": "\\b([a-zA-Z_][a-zA-Z0-9_]*)\\b",
82
+ "captureGroup": 1,
83
+ "description": "Function or variable name"
84
+ },
85
+ {
86
+ "pattern": "\\$\\{?([a-zA-Z_][a-zA-Z0-9_]*)\\}?",
87
+ "captureGroup": 1,
88
+ "description": "Shell variable reference"
89
+ },
90
+ {
91
+ "pattern": "\\b([a-zA-Z_][a-zA-Z0-9_]*)\\s*\\(\\)",
92
+ "captureGroup": 1,
93
+ "description": "Shell function definition"
94
+ },
95
+ {
96
+ "pattern": "\\b([a-zA-Z_][a-zA-Z0-9_]*)=",
97
+ "captureGroup": 1,
98
+ "description": "Shell variable assignment"
99
+ }
100
+ ]
101
+ }
@@ -0,0 +1,95 @@
1
+ {
2
+ "language": "angular",
3
+ "selectionPatterns": [
4
+ {
5
+ "name": "stringLiteral",
6
+ "pattern": "(['\"])(?:(?!\\1)[^\\\\]|\\\\.)*\\1",
7
+ "captureGroup": 0,
8
+ "description": "Select single or double quoted string literal content"
9
+ },
10
+ {
11
+ "name": "templateLiteral",
12
+ "pattern": "`(?:[^`\\\\]|\\\\.)*`",
13
+ "captureGroup": 0,
14
+ "description": "Select template literal content including multi-line inline templates"
15
+ },
16
+ {
17
+ "name": "decoratorArguments",
18
+ "pattern": "@\\w+\\s*\\(([^)]*)\\)",
19
+ "captureGroup": 1,
20
+ "description": "Select the argument list inside an Angular decorator"
21
+ },
22
+ {
23
+ "name": "functionParameters",
24
+ "pattern": "\\w+\\s*\\(([^)]*)\\)",
25
+ "captureGroup": 1,
26
+ "description": "Select function or method parameter list"
27
+ },
28
+ {
29
+ "name": "classBody",
30
+ "pattern": "class\\s+\\w+[^{]*\\{([\\s\\S]*?)^\\}",
31
+ "captureGroup": 1,
32
+ "description": "Select the entire class body content between braces"
33
+ },
34
+ {
35
+ "name": "methodBody",
36
+ "pattern": "\\w+\\s*\\([^)]*\\)\\s*(?::\\s*\\w[^{]*)?\\{([\\s\\S]*?)^\\s*\\}",
37
+ "captureGroup": 1,
38
+ "description": "Select method body content between braces"
39
+ },
40
+ {
41
+ "name": "constructorBody",
42
+ "pattern": "constructor\\s*\\([^)]*\\)\\s*\\{([\\s\\S]*?)^\\s*\\}",
43
+ "captureGroup": 1,
44
+ "description": "Select constructor body content between braces"
45
+ },
46
+ {
47
+ "name": "arrayLiteral",
48
+ "pattern": "\\[([^\\]]*)\\]",
49
+ "captureGroup": 1,
50
+ "description": "Select array literal content between brackets"
51
+ },
52
+ {
53
+ "name": "objectLiteral",
54
+ "pattern": "\\{([^}]*)\\}",
55
+ "captureGroup": 1,
56
+ "description": "Select object literal content between braces"
57
+ },
58
+ {
59
+ "name": "interfaceBody",
60
+ "pattern": "interface\\s+\\w+[^{]*\\{([\\s\\S]*?)^\\s*\\}",
61
+ "captureGroup": 1,
62
+ "description": "Select interface body content between braces"
63
+ },
64
+ {
65
+ "name": "importSpecifiers",
66
+ "pattern": "import\\s*\\{([^}]*)\\}",
67
+ "captureGroup": 1,
68
+ "description": "Select named import specifiers inside curly braces"
69
+ },
70
+ {
71
+ "name": "genericTypeArguments",
72
+ "pattern": "<([^>]+)>",
73
+ "captureGroup": 1,
74
+ "description": "Select generic type arguments inside angle brackets"
75
+ },
76
+ {
77
+ "name": "templateExpression",
78
+ "pattern": "\\{\\{([^}]*)\\}\\}",
79
+ "captureGroup": 1,
80
+ "description": "Select Angular template interpolation expression content"
81
+ },
82
+ {
83
+ "name": "signalCallArguments",
84
+ "pattern": "(?:signal|computed|effect|input|output|model|inject)\\s*(?:<[^>]*>)?\\s*\\(([^)]*)\\)",
85
+ "captureGroup": 1,
86
+ "description": "Select arguments inside Angular signal API and inject calls"
87
+ },
88
+ {
89
+ "name": "pipeChain",
90
+ "pattern": "\\|\\s*(\\w+(?:\\s*:\\s*[^|]*)?)(?=\\s*[|\\)]|$)",
91
+ "captureGroup": 1,
92
+ "description": "Select individual pipe name and arguments within a pipe chain in templates"
93
+ }
94
+ ]
95
+ }
@@ -0,0 +1,21 @@
1
+ {
2
+ "language": "nestjs",
3
+ "selectionRange": {
4
+ "patterns": [
5
+ { "description": "String content", "pattern": "(?<=['\"`])([^'\"`]*?)(?=['\"`])", "priority": 1 },
6
+ { "description": "String with quotes", "pattern": "['\"`][^'\"`]*['\"`]", "priority": 2 },
7
+ { "description": "Decorator arguments", "pattern": "@\\w+\\(([^)]*)\\)", "priority": 1 },
8
+ { "description": "Full decorator", "pattern": "@\\w+\\([^)]*\\)", "priority": 2 },
9
+ { "description": "Function parameters", "pattern": "\\(([^)]*)\\)", "priority": 1 },
10
+ { "description": "Generic type params", "pattern": "<([^>]+)>", "priority": 1 },
11
+ { "description": "Method signature", "pattern": "(?:async\\s+)?\\w+\\s*\\([^)]*\\)(?:\\s*:\\s*[^{]+)?", "priority": 2 },
12
+ { "description": "Method body", "pattern": "(?:async\\s+)?\\w+\\s*\\([^)]*\\)[^{]*\\{[\\s\\S]*?\\}", "priority": 3 },
13
+ { "description": "Class body", "pattern": "class\\s+\\w+[^{]*\\{[\\s\\S]*?\\n\\}", "priority": 4 },
14
+ { "description": "Object literal", "pattern": "\\{[\\s\\S]*?\\}", "priority": 2 },
15
+ { "description": "Array literal", "pattern": "\\[[\\s\\S]*?\\]", "priority": 2 },
16
+ { "description": "Import statement", "pattern": "import\\s+(?:\\{[^}]*\\}|\\w+(?:\\s*,\\s*\\{[^}]*\\})?)\\s+from\\s+['\"][^'\"]+['\"];?", "priority": 3 },
17
+ { "description": "Template literal expression", "pattern": "\\$\\{([^}]+)\\}", "priority": 1 },
18
+ { "description": "Arrow function", "pattern": "\\([^)]*\\)\\s*=>\\s*(?:\\{[\\s\\S]*?\\}|[^;,]+)", "priority": 2 }
19
+ ]
20
+ }
21
+ }
@@ -0,0 +1,22 @@
1
+ {
2
+ "language": "nextjs",
3
+ "selectionRange": {
4
+ "patterns": [
5
+ { "description": "String content", "pattern": "(?<=['\"`])([^'\"`]*?)(?=['\"`])", "priority": 1 },
6
+ { "description": "String with quotes", "pattern": "['\"`][^'\"`]*['\"`]", "priority": 2 },
7
+ { "description": "JSX attribute value", "pattern": "\\{([^}]+)\\}", "priority": 1 },
8
+ { "description": "JSX attribute", "pattern": "\\b\\w+=(?:\\{[^}]+\\}|\"[^\"]*\"|'[^']*')", "priority": 2 },
9
+ { "description": "JSX opening tag", "pattern": "<([A-Z][a-zA-Z0-9.]*)[^>]*>", "priority": 3 },
10
+ { "description": "JSX element", "pattern": "<([A-Z][a-zA-Z0-9.]*)[^>]*>[\\s\\S]*?<\\/\\1>", "priority": 4 },
11
+ { "description": "Function parameters", "pattern": "\\(([^)]*)\\)", "priority": 1 },
12
+ { "description": "Function signature", "pattern": "(?:async\\s+)?function\\s+\\w+\\s*\\([^)]*\\)", "priority": 2 },
13
+ { "description": "Function body", "pattern": "(?:async\\s+)?function\\s+\\w+\\s*\\([^)]*\\)\\s*(?::\\s*\\w+)?\\s*\\{[\\s\\S]*?\\}", "priority": 3 },
14
+ { "description": "Arrow function", "pattern": "\\([^)]*\\)\\s*=>\\s*(?:\\{[\\s\\S]*?\\}|[^;,]+)", "priority": 2 },
15
+ { "description": "Object literal", "pattern": "\\{[\\s\\S]*?\\}", "priority": 2 },
16
+ { "description": "Array literal", "pattern": "\\[[\\s\\S]*?\\]", "priority": 2 },
17
+ { "description": "Import statement", "pattern": "import\\s+(?:\\{[^}]*\\}|\\w+(?:\\s*,\\s*\\{[^}]*\\})?)\\s+from\\s+['\"][^'\"]+['\"];?", "priority": 3 },
18
+ { "description": "Template literal expression", "pattern": "\\$\\{([^}]+)\\}", "priority": 1 },
19
+ { "description": "Ternary expression", "pattern": "[^?]+\\?[^:]+:[^;,)]+", "priority": 2 }
20
+ ]
21
+ }
22
+ }