@enjoys/context-engine 1.5.0 → 1.5.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 (95) hide show
  1. package/data/codeActions/css.json +119 -111
  2. package/data/codeActions/dart.json +190 -31
  3. package/data/codeActions/nestjs.json +124 -124
  4. package/data/codeActions/r.json +69 -71
  5. package/data/codeActions/sb.json +2 -2
  6. package/data/codeActions/scala.json +154 -26
  7. package/data/codeActions/shadcn.json +112 -112
  8. package/data/codeActions/shell.json +2 -2
  9. package/data/codeActions/tailwindcss.json +83 -76
  10. package/data/codeLens/abap.json +4 -2
  11. package/data/codeLens/angular.json +141 -22
  12. package/data/codeLens/apex.json +4 -2
  13. package/data/codeLens/awk.json +2 -2
  14. package/data/codeLens/azcli.json +4 -3
  15. package/data/codeLens/bicep.json +4 -2
  16. package/data/codeLens/c.json +4 -4
  17. package/data/codeLens/caddy.json +2 -2
  18. package/data/codeLens/cameligo.json +4 -2
  19. package/data/codeLens/clojure.json +4 -2
  20. package/data/codeLens/coffee.json +4 -2
  21. package/data/codeLens/crontab.json +2 -2
  22. package/data/codeLens/doctest.json +4 -3
  23. package/data/codeLens/ecl.json +4 -2
  24. package/data/codeLens/elixir.json +4 -2
  25. package/data/codeLens/flow9.json +4 -2
  26. package/data/codeLens/freemarker2.json +4 -2
  27. package/data/codeLens/hcl.json +4 -4
  28. package/data/codeLens/html.json +4 -4
  29. package/data/codeLens/julia.json +4 -2
  30. package/data/codeLens/less.json +4 -2
  31. package/data/codeLens/lexon.json +4 -2
  32. package/data/codeLens/liquid.json +4 -2
  33. package/data/codeLens/lua.json +4 -4
  34. package/data/codeLens/m3.json +4 -2
  35. package/data/codeLens/mdx.json +4 -2
  36. package/data/codeLens/mips.json +4 -2
  37. package/data/codeLens/msdax.json +4 -2
  38. package/data/codeLens/mysql.json +4 -2
  39. package/data/codeLens/nginx.json +4 -4
  40. package/data/codeLens/objective-c.json +4 -2
  41. package/data/codeLens/pascal.json +4 -2
  42. package/data/codeLens/pascaligo.json +4 -2
  43. package/data/codeLens/pgsql.json +4 -2
  44. package/data/codeLens/pla.json +4 -3
  45. package/data/codeLens/postiats.json +4 -2
  46. package/data/codeLens/powerquery.json +4 -2
  47. package/data/codeLens/qsharp.json +4 -2
  48. package/data/codeLens/razor.json +4 -2
  49. package/data/codeLens/redshift.json +4 -2
  50. package/data/codeLens/restructuredtext.json +4 -2
  51. package/data/codeLens/sb.json +4 -2
  52. package/data/codeLens/scheme.json +4 -2
  53. package/data/codeLens/scss.json +4 -2
  54. package/data/codeLens/shadcn.json +117 -89
  55. package/data/codeLens/shell.json +4 -2
  56. package/data/codeLens/sol.json +4 -2
  57. package/data/codeLens/sparql.json +4 -2
  58. package/data/codeLens/st.json +4 -2
  59. package/data/codeLens/systemverilog.json +4 -2
  60. package/data/codeLens/tcl.json +4 -2
  61. package/data/codeLens/twig.json +4 -2
  62. package/data/codeLens/vb.json +4 -2
  63. package/data/codeLens/wgsl.json +4 -2
  64. package/data/codeLens/xml.json +4 -4
  65. package/data/completion/redis-cli.json +3465 -3405
  66. package/data/documentHighlight/nextjs.json +270 -212
  67. package/data/documentSymbol/azcli.json +6 -3
  68. package/data/documentSymbol/caddy.json +7 -4
  69. package/data/documentSymbol/crontab.json +6 -3
  70. package/data/documentSymbol/css.json +14 -14
  71. package/data/documentSymbol/doctest.json +6 -3
  72. package/data/documentSymbol/dotenv.json +6 -3
  73. package/data/documentSymbol/flow9.json +8 -4
  74. package/data/documentSymbol/graphql.json +1 -1
  75. package/data/documentSymbol/ini.json +6 -3
  76. package/data/documentSymbol/json.json +6 -3
  77. package/data/documentSymbol/lexon.json +6 -3
  78. package/data/documentSymbol/mips.json +6 -3
  79. package/data/documentSymbol/msdax.json +6 -3
  80. package/data/documentSymbol/pla.json +6 -3
  81. package/data/documentSymbol/powerquery.json +6 -3
  82. package/data/documentSymbol/restructuredtext.json +6 -3
  83. package/data/documentSymbol/sb.json +6 -3
  84. package/data/documentSymbol/sparql.json +6 -3
  85. package/data/documentSymbol/ssh_config.json +6 -3
  86. package/data/documentSymbol/systemd.json +6 -3
  87. package/data/documentSymbol/xml.json +6 -3
  88. package/data/hover/caddy.json +530 -458
  89. package/data/hover/dockerfile.json +355 -283
  90. package/data/hover/lua.json +1391 -971
  91. package/data/hover/nginx.json +957 -891
  92. package/data/hover/redis-cli.json +2168 -1088
  93. package/data/hover/sql.json +1405 -1273
  94. package/data/manifest.json +4 -6
  95. package/package.json +1 -1
@@ -1,124 +1,124 @@
1
- {
2
- "language": "nestjs",
3
- "codeActions": [
4
- {
5
- "title": "Add missing decorator import",
6
- "kind": "quickfix",
7
- "description": "Adds the missing import statement for NestJS decorators like @Controller, @Injectable, @Get, @Post, etc. from @nestjs/common",
8
- "pattern": "@(Controller|Injectable|Get|Post|Put|Patch|Delete|Module|Inject|Body|Param|Query|Headers|UseGuards|UseInterceptors|UsePipes|UseFilters|SetMetadata|Catch|HttpCode|Header|Redirect|Req|Res)",
9
- "isPreferred": true
10
- },
11
- {
12
- "title": "Generate constructor injection",
13
- "kind": "quickfix",
14
- "description": "Generates a constructor with dependency injection for the specified service or repository",
15
- "pattern": "class\\s+\\w+\\s*\\{",
16
- "isPreferred": false
17
- },
18
- {
19
- "title": "Extract method to service",
20
- "kind": "refactor.extract",
21
- "description": "Extracts the selected method logic from a controller into a service class",
22
- "pattern": "@(Get|Post|Put|Patch|Delete)\\s*\\(",
23
- "isPreferred": false
24
- },
25
- {
26
- "title": "Add @Injectable() decorator",
27
- "kind": "quickfix",
28
- "description": "Adds the @Injectable() decorator to a class that needs to be managed by the NestJS IoC container",
29
- "pattern": "export\\s+class\\s+\\w+(Service|Guard|Pipe|Interceptor|Filter|Strategy|Middleware)",
30
- "isPreferred": true
31
- },
32
- {
33
- "title": "Convert to async method",
34
- "kind": "refactor",
35
- "description": "Converts a synchronous route handler method to an async method with Promise return type",
36
- "pattern": "@(Get|Post|Put|Patch|Delete)\\s*\\([^)]*\\)\\s*\\n\\s*(?!async)",
37
- "isPreferred": false
38
- },
39
- {
40
- "title": "Add ValidationPipe to method",
41
- "kind": "quickfix",
42
- "description": "Adds @UsePipes(new ValidationPipe()) decorator to the route handler for request validation",
43
- "pattern": "@(Post|Put|Patch)\\s*\\(",
44
- "isPreferred": false
45
- },
46
- {
47
- "title": "Wrap in try-catch with HttpException",
48
- "kind": "refactor",
49
- "description": "Wraps the selected code in a try-catch block that throws an appropriate HttpException on error",
50
- "pattern": "async\\s+\\w+\\s*\\(",
51
- "isPreferred": false
52
- },
53
- {
54
- "title": "Add @ApiProperty() to DTO fields",
55
- "kind": "quickfix",
56
- "description": "Adds @ApiProperty() decorator from @nestjs/swagger to all properties in a DTO class for Swagger documentation",
57
- "pattern": "class\\s+\\w+Dto\\s*\\{",
58
- "isPreferred": false
59
- },
60
- {
61
- "title": "Generate CRUD endpoints",
62
- "kind": "refactor",
63
- "description": "Generates a complete set of CRUD route handlers (GET, POST, PUT, DELETE) in the controller",
64
- "pattern": "@Controller\\s*\\(",
65
- "isPreferred": false
66
- },
67
- {
68
- "title": "Add @UseGuards(AuthGuard)",
69
- "kind": "quickfix",
70
- "description": "Adds @UseGuards(AuthGuard('jwt')) decorator to protect the route with JWT authentication",
71
- "pattern": "@(Get|Post|Put|Patch|Delete)\\s*\\(",
72
- "isPreferred": false
73
- },
74
- {
75
- "title": "Add @UseInterceptors(ClassSerializerInterceptor)",
76
- "kind": "quickfix",
77
- "description": "Adds ClassSerializerInterceptor to the controller or method for response serialization",
78
- "pattern": "@Controller\\s*\\(|@(Get|Post|Put|Patch|Delete)\\s*\\(",
79
- "isPreferred": false
80
- },
81
- {
82
- "title": "Add Swagger decorators to endpoint",
83
- "kind": "refactor",
84
- "description": "Adds @ApiOperation, @ApiResponse, and other Swagger decorators to document the endpoint",
85
- "pattern": "@(Get|Post|Put|Patch|Delete)\\s*\\(",
86
- "isPreferred": false
87
- },
88
- {
89
- "title": "Convert to custom provider",
90
- "kind": "refactor",
91
- "description": "Converts a simple class provider to a custom provider with useFactory, useValue, or useClass syntax",
92
- "pattern": "providers:\\s*\\[",
93
- "isPreferred": false
94
- },
95
- {
96
- "title": "Add module imports",
97
- "kind": "quickfix",
98
- "description": "Adds missing NestJS module imports (ConfigModule, TypeOrmModule, etc.) to the module's imports array",
99
- "pattern": "@Module\\s*\\(",
100
- "isPreferred": false
101
- },
102
- {
103
- "title": "Organize imports",
104
- "kind": "source.organizeImports",
105
- "description": "Organizes and sorts import statements, grouping @nestjs/* imports together",
106
- "pattern": "import\\s+",
107
- "isPreferred": false
108
- },
109
- {
110
- "title": "Fix all auto-fixable issues",
111
- "kind": "source.fixAll",
112
- "description": "Applies all available auto-fixes including missing imports, decorators, and formatting",
113
- "pattern": ".*",
114
- "isPreferred": false
115
- }
116
- ],
117
- "providedCodeActionKinds": [
118
- "quickfix",
119
- "refactor",
120
- "refactor.extract",
121
- "source.organizeImports",
122
- "source.fixAll"
123
- ]
124
- }
1
+ {
2
+ "language": "nestjs",
3
+ "codeActions": [
4
+ {
5
+ "title": "Add missing decorator import",
6
+ "kind": "quickfix",
7
+ "description": "Adds the missing import statement for NestJS decorators like @Controller, @Injectable, @Get, @Post, etc. from @nestjs/common",
8
+ "pattern": "@(Controller|Injectable|Get|Post|Put|Patch|Delete|Module|Inject|Body|Param|Query|Headers|UseGuards|UseInterceptors|UsePipes|UseFilters|SetMetadata|Catch|HttpCode|Header|Redirect|Req|Res)",
9
+ "isPreferred": true
10
+ },
11
+ {
12
+ "title": "Generate constructor injection",
13
+ "kind": "quickfix",
14
+ "description": "Generates a constructor with dependency injection for the specified service or repository",
15
+ "pattern": "class\\s+\\w+\\s*\\{",
16
+ "isPreferred": false
17
+ },
18
+ {
19
+ "title": "Extract method to service",
20
+ "kind": "refactor.extract",
21
+ "description": "Extracts the selected method logic from a controller into a service class",
22
+ "pattern": "@(Get|Post|Put|Patch|Delete)\\s*\\(",
23
+ "isPreferred": false
24
+ },
25
+ {
26
+ "title": "Add @Injectable() decorator",
27
+ "kind": "quickfix",
28
+ "description": "Adds the @Injectable() decorator to a class that needs to be managed by the NestJS IoC container",
29
+ "pattern": "export\\s+class\\s+\\w+(Service|Guard|Pipe|Interceptor|Filter|Strategy|Middleware)",
30
+ "isPreferred": true
31
+ },
32
+ {
33
+ "title": "Convert to async method",
34
+ "kind": "refactor",
35
+ "description": "Converts a synchronous route handler method to an async method with Promise return type",
36
+ "pattern": "@(Get|Post|Put|Patch|Delete)\\s*\\([^)]*\\)\\s*\\n\\s*(?!async)",
37
+ "isPreferred": false
38
+ },
39
+ {
40
+ "title": "Add ValidationPipe to method",
41
+ "kind": "quickfix",
42
+ "description": "Adds @UsePipes(new ValidationPipe()) decorator to the route handler for request validation",
43
+ "pattern": "@(Post|Put|Patch)\\s*\\(",
44
+ "isPreferred": false
45
+ },
46
+ {
47
+ "title": "Wrap in try-catch with HttpException",
48
+ "kind": "refactor",
49
+ "description": "Wraps the selected code in a try-catch block that throws an appropriate HttpException on error",
50
+ "pattern": "async\\s+\\w+\\s*\\(",
51
+ "isPreferred": false
52
+ },
53
+ {
54
+ "title": "Add @ApiProperty() to DTO fields",
55
+ "kind": "quickfix",
56
+ "description": "Adds @ApiProperty() decorator from @nestjs/swagger to all properties in a DTO class for Swagger documentation",
57
+ "pattern": "class\\s+\\w+Dto\\s*\\{",
58
+ "isPreferred": false
59
+ },
60
+ {
61
+ "title": "Generate CRUD endpoints",
62
+ "kind": "refactor",
63
+ "description": "Generates a complete set of CRUD route handlers (GET, POST, PUT, DELETE) in the controller",
64
+ "pattern": "@Controller\\s*\\(",
65
+ "isPreferred": false
66
+ },
67
+ {
68
+ "title": "Add @UseGuards(AuthGuard)",
69
+ "kind": "quickfix",
70
+ "description": "Adds @UseGuards(AuthGuard('jwt')) decorator to protect the route with JWT authentication",
71
+ "pattern": "@(Get|Post|Put|Patch|Delete)\\s*\\(",
72
+ "isPreferred": false
73
+ },
74
+ {
75
+ "title": "Add @UseInterceptors(ClassSerializerInterceptor)",
76
+ "kind": "quickfix",
77
+ "description": "Adds ClassSerializerInterceptor to the controller or method for response serialization",
78
+ "pattern": "@Controller\\s*\\(|@(Get|Post|Put|Patch|Delete)\\s*\\(",
79
+ "isPreferred": false
80
+ },
81
+ {
82
+ "title": "Add Swagger decorators to endpoint",
83
+ "kind": "refactor",
84
+ "description": "Adds @ApiOperation, @ApiResponse, and other Swagger decorators to document the endpoint",
85
+ "pattern": "@(Get|Post|Put|Patch|Delete)\\s*\\(",
86
+ "isPreferred": false
87
+ },
88
+ {
89
+ "title": "Convert to custom provider",
90
+ "kind": "refactor",
91
+ "description": "Converts a simple class provider to a custom provider with useFactory, useValue, or useClass syntax",
92
+ "pattern": "providers:\\s*\\[",
93
+ "isPreferred": false
94
+ },
95
+ {
96
+ "title": "Add module imports",
97
+ "kind": "quickfix",
98
+ "description": "Adds missing NestJS module imports (ConfigModule, TypeOrmModule, etc.) to the module's imports array",
99
+ "pattern": "@Module\\s*\\(",
100
+ "isPreferred": false
101
+ },
102
+ {
103
+ "title": "Organize imports",
104
+ "kind": "source.organizeImports",
105
+ "description": "Organizes and sorts import statements, grouping @nestjs/* imports together",
106
+ "pattern": "import\\s+",
107
+ "isPreferred": false
108
+ },
109
+ {
110
+ "title": "Fix all auto-fixable issues",
111
+ "kind": "source.fixAll",
112
+ "description": "Applies all available auto-fixes including missing imports, decorators, and formatting",
113
+ "pattern": ".*",
114
+ "isPreferred": false
115
+ }
116
+ ],
117
+ "providedCodeActionKinds": [
118
+ "quickfix",
119
+ "refactor",
120
+ "refactor.extract",
121
+ "source.fixAll",
122
+ "source.organizeImports"
123
+ ]
124
+ }
@@ -1,71 +1,69 @@
1
- {
2
- "language": "r",
3
- "codeActions": [
4
- {
5
- "title": "Extract to function",
6
- "kind": "refactor.extract",
7
- "description": "Extract selected code into a new R function",
8
- "pattern": ".*",
9
- "isPreferred": false
10
- },
11
- {
12
- "title": "Extract to variable",
13
- "kind": "refactor.extract",
14
- "description": "Extract expression into a named variable",
15
- "pattern": ".*",
16
- "isPreferred": false
17
- },
18
- {
19
- "title": "Convert <- to =",
20
- "kind": "refactor.rewrite",
21
- "description": "Rewrite left-assignment to equals assignment",
22
- "pattern": "\\\\s*<-\\\\s*",
23
- "isPreferred": false
24
- },
25
- {
26
- "title": "Convert = to <-",
27
- "kind": "refactor.rewrite",
28
- "description": "Rewrite equals assignment to left-assignment operator",
29
- "pattern": "\\\\s*=\\\\s*",
30
- "isPreferred": false
31
- },
32
- {
33
- "title": "Add roxygen2 documentation",
34
- "kind": "source.addDocumentation",
35
- "description": "Insert a roxygen2 documentation skeleton above the function",
36
- "pattern": "\\\\bfunction\\\\b",
37
- "isPreferred": true
38
- },
39
- {
40
- "title": "Rename symbol",
41
- "kind": "refactor.rename",
42
- "description": "Rename a variable or function across the file",
43
- "pattern": "\\\\b\\\\w+\\\\b",
44
- "isPreferred": false
45
- },
46
- {
47
- "title": "Fix all auto-fixable problems",
48
- "kind": "source.fixAll",
49
- "description": "Apply all available quick-fixes (e.g., lintr suggestions)",
50
- "pattern": ".*",
51
- "isPreferred": false
52
- },
53
- {
54
- "title": "Convert pipe: magrittr to native",
55
- "kind": "refactor.rewrite",
56
- "description": "Rewrite %>% to |> (base R 4.1+ pipe)",
57
- "pattern": "%>%",
58
- "isPreferred": false
59
- }
60
- ],
61
- "providedCodeActionKinds": [
62
- "quickfix",
63
- "refactor",
64
- "refactor.extract",
65
- "refactor.rewrite",
66
- "refactor.rename",
67
- "source",
68
- "source.fixAll",
69
- "source.addDocumentation"
70
- ]
71
- }
1
+ {
2
+ "language": "r",
3
+ "codeActions": [
4
+ {
5
+ "title": "Extract to function",
6
+ "kind": "refactor.extract",
7
+ "description": "Extract selected code into a new R function",
8
+ "pattern": ".*",
9
+ "isPreferred": false
10
+ },
11
+ {
12
+ "title": "Extract to variable",
13
+ "kind": "refactor.extract",
14
+ "description": "Extract expression into a named variable",
15
+ "pattern": ".*",
16
+ "isPreferred": false
17
+ },
18
+ {
19
+ "title": "Convert <- to =",
20
+ "kind": "refactor.rewrite",
21
+ "description": "Rewrite left-assignment to equals assignment",
22
+ "pattern": "\\\\s*<-\\\\s*",
23
+ "isPreferred": false
24
+ },
25
+ {
26
+ "title": "Convert = to <-",
27
+ "kind": "refactor.rewrite",
28
+ "description": "Rewrite equals assignment to left-assignment operator",
29
+ "pattern": "\\\\s*=\\\\s*",
30
+ "isPreferred": false
31
+ },
32
+ {
33
+ "title": "Add roxygen2 documentation",
34
+ "kind": "source.fixAll",
35
+ "description": "Insert a roxygen2 documentation skeleton above the function",
36
+ "pattern": "\\\\bfunction\\\\b",
37
+ "isPreferred": true
38
+ },
39
+ {
40
+ "title": "Rename symbol",
41
+ "kind": "refactor.rewrite",
42
+ "description": "Rename a variable or function across the file",
43
+ "pattern": "\\\\b\\\\w+\\\\b",
44
+ "isPreferred": false
45
+ },
46
+ {
47
+ "title": "Fix all auto-fixable problems",
48
+ "kind": "source.fixAll",
49
+ "description": "Apply all available quick-fixes (e.g., lintr suggestions)",
50
+ "pattern": ".*",
51
+ "isPreferred": false
52
+ },
53
+ {
54
+ "title": "Convert pipe: magrittr to native",
55
+ "kind": "refactor.rewrite",
56
+ "description": "Rewrite %>% to |> (base R 4.1+ pipe)",
57
+ "pattern": "%>%",
58
+ "isPreferred": false
59
+ }
60
+ ],
61
+ "providedCodeActionKinds": [
62
+ "quickfix",
63
+ "refactor",
64
+ "refactor.extract",
65
+ "refactor.rewrite",
66
+ "source",
67
+ "source.fixAll"
68
+ ]
69
+ }
@@ -24,7 +24,7 @@
24
24
  },
25
25
  {
26
26
  "title": "Rename variable",
27
- "kind": "refactor.rename",
27
+ "kind": "refactor.rewrite",
28
28
  "description": "Rename a Small Basic variable",
29
29
  "pattern": "\\w+\\s*=",
30
30
  "isPreferred": false
@@ -41,7 +41,7 @@
41
41
  "quickfix",
42
42
  "refactor",
43
43
  "refactor.extract",
44
- "refactor.rename",
44
+ "refactor.rewrite",
45
45
  "source",
46
46
  "source.fixAll"
47
47
  ]
@@ -1,26 +1,154 @@
1
- {
2
- "language": "scala",
3
- "codeActions": [
4
- {"title": "Extract method", "kind": "refactor.extract", "description": "Extract selected code into a new method", "pattern": ".*", "isPreferred": false},
5
- {"title": "Convert to for-comprehension", "kind": "refactor.rewrite", "description": "Convert chained flatMap/map/filter calls to a for-comprehension", "pattern": "\\.(?:flatMap|map|filter)\\s*[{(]", "isPreferred": false},
6
- {"title": "Organize imports", "kind": "source.organizeImports", "description": "Sort, group, and remove unused imports", "pattern": "^import\\s+", "isPreferred": true},
7
- {"title": "Convert to case class", "kind": "refactor.rewrite", "description": "Convert a regular class to a case class with auto-generated methods", "pattern": "^\\s*class\\s+\\w+\\s*\\(", "isPreferred": false},
8
- {"title": "Add type annotation", "kind": "quickfix", "description": "Add explicit type annotation to val/var/def", "pattern": "(?:val|var|def)\\s+\\w+\\s*=", "isPreferred": false},
9
- {"title": "Convert to pattern match", "kind": "refactor.rewrite", "description": "Convert if-else chain to pattern match expression", "pattern": "if\\s*\\(.*\\).*else\\s+if", "isPreferred": false},
10
- {"title": "Inline variable", "kind": "refactor.inline", "description": "Inline a val or var at its usage sites", "pattern": "(?:val|var)\\s+\\w+\\s*=", "isPreferred": false},
11
- {"title": "Convert to given", "kind": "refactor.rewrite", "description": "Convert implicit val/def to Scala 3 given instance", "pattern": "implicit\\s+(?:val|def)\\s+\\w+", "isPreferred": false},
12
- {"title": "Extract to trait", "kind": "refactor.extract", "description": "Extract selected methods into a new trait", "pattern": "def\\s+\\w+", "isPreferred": false},
13
- {"title": "Add override modifier", "kind": "quickfix", "description": "Add override keyword to a method that overrides a parent member", "pattern": "def\\s+\\w+.*(?:extends|with)", "isPreferred": true},
14
- {"title": "Convert string interpolation", "kind": "refactor.rewrite", "description": "Convert string concatenation to string interpolation or vice versa", "pattern": "\"[^\"]*\"\\s*\\+|s\"[^\"]*\\$", "isPreferred": false},
15
- {"title": "Add missing import", "kind": "quickfix", "description": "Add import for an unresolved symbol", "pattern": "\\b[A-Z]\\w+", "isPreferred": true},
16
- {"title": "Convert to extension method", "kind": "refactor.rewrite", "description": "Convert implicit class to Scala 3 extension method", "pattern": "implicit\\s+class\\s+\\w+", "isPreferred": false},
17
- {"title": "Implement abstract members", "kind": "quickfix", "description": "Generate stub implementations for abstract members from trait/class", "pattern": "class\\s+\\w+\\s*.*(?:extends|with)", "isPreferred": true},
18
- {"title": "Extract local variable", "kind": "refactor.extract", "description": "Extract an expression into a local val", "pattern": ".*", "isPreferred": false},
19
- {"title": "Convert to using clause", "kind": "refactor.rewrite", "description": "Convert implicit parameter to Scala 3 using clause", "pattern": "\\(implicit\\s+", "isPreferred": false},
20
- {"title": "Rename symbol", "kind": "refactor.rename", "description": "Rename a symbol across all usages in the workspace", "pattern": "\\b\\w+\\b", "isPreferred": false},
21
- {"title": "Convert match to if-else", "kind": "refactor.rewrite", "description": "Convert a simple match expression to an if-else chain", "pattern": "\\s+match\\s*\\{", "isPreferred": false},
22
- {"title": "Add exhaustive cases", "kind": "quickfix", "description": "Add missing cases for sealed type in match expression", "pattern": "match\\s*\\{", "isPreferred": true},
23
- {"title": "Convert to enum", "kind": "refactor.rewrite", "description": "Convert sealed trait + case objects to Scala 3 enum", "pattern": "sealed\\s+trait\\s+\\w+", "isPreferred": false}
24
- ],
25
- "providedCodeActionKinds": ["quickfix", "refactor", "refactor.extract", "refactor.inline", "refactor.rewrite", "refactor.rename", "source", "source.organizeImports"]
26
- }
1
+ {
2
+ "language": "scala",
3
+ "codeActions": [
4
+ {
5
+ "title": "Extract method",
6
+ "kind": "refactor.extract",
7
+ "description": "Extract selected code into a new method",
8
+ "pattern": ".*",
9
+ "isPreferred": false
10
+ },
11
+ {
12
+ "title": "Convert to for-comprehension",
13
+ "kind": "refactor.rewrite",
14
+ "description": "Convert chained flatMap/map/filter calls to a for-comprehension",
15
+ "pattern": "\\.(?:flatMap|map|filter)\\s*[{(]",
16
+ "isPreferred": false
17
+ },
18
+ {
19
+ "title": "Organize imports",
20
+ "kind": "source.organizeImports",
21
+ "description": "Sort, group, and remove unused imports",
22
+ "pattern": "^import\\s+",
23
+ "isPreferred": true
24
+ },
25
+ {
26
+ "title": "Convert to case class",
27
+ "kind": "refactor.rewrite",
28
+ "description": "Convert a regular class to a case class with auto-generated methods",
29
+ "pattern": "^\\s*class\\s+\\w+\\s*\\(",
30
+ "isPreferred": false
31
+ },
32
+ {
33
+ "title": "Add type annotation",
34
+ "kind": "quickfix",
35
+ "description": "Add explicit type annotation to val/var/def",
36
+ "pattern": "(?:val|var|def)\\s+\\w+\\s*=",
37
+ "isPreferred": false
38
+ },
39
+ {
40
+ "title": "Convert to pattern match",
41
+ "kind": "refactor.rewrite",
42
+ "description": "Convert if-else chain to pattern match expression",
43
+ "pattern": "if\\s*\\(.*\\).*else\\s+if",
44
+ "isPreferred": false
45
+ },
46
+ {
47
+ "title": "Inline variable",
48
+ "kind": "refactor.inline",
49
+ "description": "Inline a val or var at its usage sites",
50
+ "pattern": "(?:val|var)\\s+\\w+\\s*=",
51
+ "isPreferred": false
52
+ },
53
+ {
54
+ "title": "Convert to given",
55
+ "kind": "refactor.rewrite",
56
+ "description": "Convert implicit val/def to Scala 3 given instance",
57
+ "pattern": "implicit\\s+(?:val|def)\\s+\\w+",
58
+ "isPreferred": false
59
+ },
60
+ {
61
+ "title": "Extract to trait",
62
+ "kind": "refactor.extract",
63
+ "description": "Extract selected methods into a new trait",
64
+ "pattern": "def\\s+\\w+",
65
+ "isPreferred": false
66
+ },
67
+ {
68
+ "title": "Add override modifier",
69
+ "kind": "quickfix",
70
+ "description": "Add override keyword to a method that overrides a parent member",
71
+ "pattern": "def\\s+\\w+.*(?:extends|with)",
72
+ "isPreferred": true
73
+ },
74
+ {
75
+ "title": "Convert string interpolation",
76
+ "kind": "refactor.rewrite",
77
+ "description": "Convert string concatenation to string interpolation or vice versa",
78
+ "pattern": "\"[^\"]*\"\\s*\\+|s\"[^\"]*\\$",
79
+ "isPreferred": false
80
+ },
81
+ {
82
+ "title": "Add missing import",
83
+ "kind": "quickfix",
84
+ "description": "Add import for an unresolved symbol",
85
+ "pattern": "\\b[A-Z]\\w+",
86
+ "isPreferred": true
87
+ },
88
+ {
89
+ "title": "Convert to extension method",
90
+ "kind": "refactor.rewrite",
91
+ "description": "Convert implicit class to Scala 3 extension method",
92
+ "pattern": "implicit\\s+class\\s+\\w+",
93
+ "isPreferred": false
94
+ },
95
+ {
96
+ "title": "Implement abstract members",
97
+ "kind": "quickfix",
98
+ "description": "Generate stub implementations for abstract members from trait/class",
99
+ "pattern": "class\\s+\\w+\\s*.*(?:extends|with)",
100
+ "isPreferred": true
101
+ },
102
+ {
103
+ "title": "Extract local variable",
104
+ "kind": "refactor.extract",
105
+ "description": "Extract an expression into a local val",
106
+ "pattern": ".*",
107
+ "isPreferred": false
108
+ },
109
+ {
110
+ "title": "Convert to using clause",
111
+ "kind": "refactor.rewrite",
112
+ "description": "Convert implicit parameter to Scala 3 using clause",
113
+ "pattern": "\\(implicit\\s+",
114
+ "isPreferred": false
115
+ },
116
+ {
117
+ "title": "Rename symbol",
118
+ "kind": "refactor.rewrite",
119
+ "description": "Rename a symbol across all usages in the workspace",
120
+ "pattern": "\\b\\w+\\b",
121
+ "isPreferred": false
122
+ },
123
+ {
124
+ "title": "Convert match to if-else",
125
+ "kind": "refactor.rewrite",
126
+ "description": "Convert a simple match expression to an if-else chain",
127
+ "pattern": "\\s+match\\s*\\{",
128
+ "isPreferred": false
129
+ },
130
+ {
131
+ "title": "Add exhaustive cases",
132
+ "kind": "quickfix",
133
+ "description": "Add missing cases for sealed type in match expression",
134
+ "pattern": "match\\s*\\{",
135
+ "isPreferred": true
136
+ },
137
+ {
138
+ "title": "Convert to enum",
139
+ "kind": "refactor.rewrite",
140
+ "description": "Convert sealed trait + case objects to Scala 3 enum",
141
+ "pattern": "sealed\\s+trait\\s+\\w+",
142
+ "isPreferred": false
143
+ }
144
+ ],
145
+ "providedCodeActionKinds": [
146
+ "quickfix",
147
+ "refactor",
148
+ "refactor.extract",
149
+ "refactor.inline",
150
+ "refactor.rewrite",
151
+ "source",
152
+ "source.organizeImports"
153
+ ]
154
+ }