@@ -20,65 +20,61 @@
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− },
3123 {
3224 "type": "section",
3325 "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.",
3526 "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": [
3660 {
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",
6061 "type": "section",
62+ "title": "Import lens",
63+ "description": "Not currently implemented in Nova",
6164 "children": [
6265 {
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",
66+ "key": "haskell.plugin.importLens.codeActionsOn",
67+ "title": "Enable code actions",
68+ "type": "boolean",
6669 "default": true,
67− "type": "boolean"
70+ "description": "Enables explicit imports code actions"
6871 },
6972 {
70− "key": "haskell.plugin.ghcide-completions.config.snippetsOn",
71− "title": "Insert snippets",
72− "description": "Inserts snippets when using code completions",
73+ "key": "haskell.plugin.importLens.codeLensOn",
74+ "title": "Enable code lens",
75+ "type": "boolean",
7376 "default": true,
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
77+ "description": "Enables explicit imports code lenses"
8278 }]
8379 },
8480 {
@@ -100,34 +96,18 @@
10096 "description": "Enables hlint diagnostics"
10197 },
10298 {
103− "key": "haskell.plugin.hlint.config.flags",
104− "title": "Flags",
105− "description": "Flags used by hlint",
106− "default": [],
107− "type": "stringArray"
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+ }]
108109 }]
109110 },
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−
131111 {
132112 "title": "Eval",
133113 "type": "section",
@@ -212,46 +192,51 @@
212192 "description": "Enables Wingman (tactics) plugin"
213193 },
214194 {
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"
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+ }]
255240 }]
256241 },
257242 {
@@ -274,7 +259,30 @@
274259 }]
275260 },
276261 {
277− "title": "Type lenses",
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+ {
278286 "description": "Not currently implemented in Nova",
279287 "type": "section",
280288 "children": [
@@ -286,12 +294,17 @@
286294 "description": "Enables type lenses plugin"
287295 },
288296 {
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"]
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+ }]
295308 }]
296309 },
297310 {
@@ -305,8 +318,8 @@
305318 "default": true,
306319 "description": "Enables refine imports plugin"
307320 }]
308− }
309− ]
321+ }]
322+ }]
310323 }],
311324 "activationEvents": ["onLanguage:haskell", "onLanguage:hs"],
312325 "commands":