@@ -20,61 +20,65 @@
2020 "type": "path",
2121 "placeholder": "/usr/local/bin/example"
2222 },
23+ {
24+ "key": "env-generator",
25+ "title": "Environment generator",
26+ "description": "You can specify a shell command which will be used to generate the environment, in which the extension will be executes. This is useful if you want to utilize `nix-shell`, `direnv` or any similar command.\n\nExpects the command to have the same stdout as the `env` command.",
27+ "type": "enum",
28+ "allowsCustom": true,
29+ "values": ["nix-shell --run env", "direnv exec env"]
30+ },
2331 {
2432 "type": "section",
2533 "title": "Haskell Language Server settings",
34+ "description":"Some of the features are not supported in Nova. Some of them are explicitly marked as not supported, but it is not exhaustive.",
2635 "children": [
27− {
28− "key": "haskell.formattingProvider",
29− "title": "Code formatter",
30− "type": "enum",
31− "values": [
32− "brittany",
33− "floskell",
34− "fourmolu",
35− "ormolu",
36− "stylish-haskell",
37− "none"
38− ],
39− "default": "ormolu",
40− "description": "The formatter to use when formatting a document or range. Ensure the plugin is enabled."
41− },
42− {
43− "key": "haskell.checkProject",
44− "title": "Check whole project",
45− "type": "boolean",
46− "default": false,
47− "description": "Whether to typecheck the entire project on load. It could lead to bad perfomance in large projects."
48− },
49− {
50− "key": "haskell.maxCompletions",
51− "type": "number",
52− "title": "Maximum number of completions",
53− "description": "Maximum number of completions sent to the editor.",
54− "default": 40
55− },
56− {
57− "type": "section",
58− "title": "Plugin settings",
59− "children": [
6036 {
37+ "key": "haskell.formattingProvider",
38+ "title": "Code formatter",
39+ "type": "enum",
40+ "values": [
41+ "brittany",
42+ "floskell",
43+ "fourmolu",
44+ "ormolu",
45+ "stylish-haskell",
46+ "none"
47+ ],
48+ "default": "ormolu",
49+ "description": "The formatter to use when formatting a document or range. Ensure the plugin is enabled."
50+ },
51+ {
52+ "key": "haskell.checkProject",
53+ "title": "Check whole project",
54+ "type": "boolean",
55+ "default": false,
56+ "description": "Whether to typecheck the entire project on load. It could lead to bad perfomance in large projects."
57+ },
58+ {
59+ "title": "Completions",
6160 "type": "section",
62− "title": "Import lens",
63− "description": "Not currently implemented in Nova",
6461 "children": [
6562 {
66− "key": "haskell.plugin.importLens.codeActionsOn",
67− "title": "Enable code actions",
68− "type": "boolean",
63+ "key": "haskell.plugin.ghcide-completions.config.autoExtendOn",
64+ "title": "Extend with out-of-scope identifiers",
65+ "description": "Extends the import list automatically when completing a out-of-scope identifier",
6966 "default": true,
70− "description": "Enables explicit imports code actions"
67+ "type": "boolean"
7168 },
7269 {
73− "key": "haskell.plugin.importLens.codeLensOn",
74− "title": "Enable code lens",
75− "type": "boolean",
70+ "key": "haskell.plugin.ghcide-completions.config.snippetsOn",
71+ "title": "Insert snippets",
72+ "description": "Inserts snippets when using code completions",
7673 "default": true,
77− "description": "Enables explicit imports code lenses"
74+ "type": "boolean"
75+ },
76+ {
77+ "key": "haskell.maxCompletions",
78+ "type": "number",
79+ "title": "Maximum number of completions",
80+ "description": "Maximum number of completions sent to the editor.",
81+ "default": 40
7882 }]
7983 },
8084 {
@@ -96,18 +100,34 @@
96100 "description": "Enables hlint diagnostics"
97101 },
98102 {
99− "title": "Configuration",
100− "type": "section",
101− "children": [
102− {
103− "key": "haskell.plugin.hlint.config.flags",
104− "title": "Flags",
105− "description": "Flags used by hlint",
106− "default": [],
107− "type": "stringArray"
108− }]
103+ "key": "haskell.plugin.hlint.config.flags",
104+ "title": "Flags",
105+ "description": "Flags used by hlint",
106+ "default": [],
107+ "type": "stringArray"
109108 }]
110109 },
110+ {
111+ "type": "section",
112+ "title": "Import lens",
113+ "description": "Not currently implemented in Nova",
114+ "children": [
115+ {
116+ "key": "haskell.plugin.importLens.codeActionsOn",
117+ "title": "Enable code actions",
118+ "type": "boolean",
119+ "default": true,
120+ "description": "Enables explicit imports code actions"
121+ },
122+ {
123+ "key": "haskell.plugin.importLens.codeLensOn",
124+ "title": "Enable code lens",
125+ "type": "boolean",
126+ "default": true,
127+ "description": "Enables explicit imports code lenses"
128+ }]
129+ },
130+
111131 {
112132 "title": "Eval",
113133 "type": "section",
@@ -192,51 +212,46 @@
192212 "description": "Enables Wingman (tactics) plugin"
193213 },
194214 {
195− "title": "Configuration",
196− "type": "section",
197− "children": [
198− {
199− "key": "haskell.plugin.tactics.config.auto_gas",
200− "title": "Gas",
201− "description": "The depth of the search tree when performing \"Attempt to fill hole\". Bigger values will be able to derive more solutions, but will take exponentially more time.",
202− "default": 4,
203− "type": "number"
204− },
205− {
206− "key": "haskell.plugin.tactics.config.hole_severity",
207− "title": "Hole severity",
208− "description": "The severity to use when showing hole diagnostics.",
209− "values": [
210− 1,
211− 2,
212− 3,
213− 4,
214− null
215− ],
216− "default": null,
217− "type": "enum"
218− },
219− {
220− "key": "haskell.plugin.tactics.config.max_use_ctor_actions",
221− "title": "Max number of constructors",
222− "type": "number",
223− "default": 5,
224− "description": "Maximum number of `Use constructor <x>` code actions that can appear"
225− },
226− {
227− "key": "haskell.plugin.tactics.config.timeout_duration",
228− "title": "Timeout",
229− "description": "The timeout for Wingman actions, in seconds",
230− "default": 2,
231− "type": "number"
232− },
233− {
234− "key": "haskell.plugin.tactics.config.proofstate_styling",
235− "title": "Proof states",
236− "description": "Should Wingman emit styling markup when showing metaprogram proof states?",
237− "default": true,
238− "type": "boolean"
239− }]
215+ "key": "haskell.plugin.tactics.config.auto_gas",
216+ "title": "Gas",
217+ "description": "The depth of the search tree when performing \"Attempt to fill hole\". Bigger values will be able to derive more solutions, but will take exponentially more time.",
218+ "default": 4,
219+ "type": "number"
220+ },
221+ {
222+ "key": "haskell.plugin.tactics.config.hole_severity",
223+ "title": "Hole severity",
224+ "description": "The severity to use when showing hole diagnostics.",
225+ "values": [
226+ 1,
227+ 2,
228+ 3,
229+ 4,
230+ null
231+ ],
232+ "default": null,
233+ "type": "enum"
234+ },
235+ {
236+ "key": "haskell.plugin.tactics.config.max_use_ctor_actions",
237+ "title": "Max number of constructors",
238+ "type": "number",
239+ "default": 5,
240+ "description": "Maximum number of `Use constructor <x>` code actions that can appear"
241+ },
242+ {
243+ "key": "haskell.plugin.tactics.config.timeout_duration",
244+ "title": "Timeout",
245+ "description": "The timeout for Wingman actions, in seconds",
246+ "default": 2,
247+ "type": "number"
248+ },
249+ {
250+ "key": "haskell.plugin.tactics.config.proofstate_styling",
251+ "title": "Proof states",
252+ "description": "Should Wingman emit styling markup when showing metaprogram proof states?",
253+ "default": true,
254+ "type": "boolean"
240255 }]
241256 },
242257 {
@@ -259,30 +274,7 @@
259274 }]
260275 },
261276 {
262− "title": "Completions",
263− "type": "section",
264− "children": [
265− {
266− "title": "Configuration",
267− "type": "section",
268− "children": [
269− {
270− "key": "haskell.plugin.ghcide-completions.config.autoExtendOn",
271− "title": "Extend with out-of-scope identifiers",
272− "description": "Extends the import list automatically when completing a out-of-scope identifier",
273− "default": true,
274− "type": "boolean"
275− },
276− {
277− "key": "haskell.plugin.ghcide-completions.config.snippetsOn",
278− "title": "Insert snippets",
279− "description": "Inserts snippets when using code completions",
280− "default": true,
281− "type": "boolean"
282− }]
283− }]
284− },
285− {
277+ "title": "Type lenses",
286278 "description": "Not currently implemented in Nova",
287279 "type": "section",
288280 "children": [
@@ -294,17 +286,12 @@
294286 "description": "Enables type lenses plugin"
295287 },
296288 {
297− "title": "Configuration",
298− "type": "section",
299− "children": [
300− {
301− "key": "haskell.plugin.ghcide-type-lenses.config.mode",
302− "title": "Mode",
303− "type": "enum",
304− "default": true,
305− "description": "Control how type lenses are shown",
306− "values": ["always", "exported", "diagnostics"]
307− }]
289+ "key": "haskell.plugin.ghcide-type-lenses.config.mode",
290+ "title": "Mode",
291+ "type": "enum",
292+ "default": true,
293+ "description": "Control how type lenses are shown",
294+ "values": ["always", "exported", "diagnostics"]
308295 }]
309296 },
310297 {
@@ -318,8 +305,8 @@
318305 "default": true,
319306 "description": "Enables refine imports plugin"
320307 }]
321− }]
322− }]
308+ }
309+ ]
323310 }],
324311 "activationEvents": ["onLanguage:haskell", "onLanguage:hs"],
325312 "commands":