on master help sign in
formatted
1b8a467iko
Haskell Language Server.novaextension/extension.json+109−55
@@ -6,21 +6,25 @@
6 "version": "1.0",
6 "version": "1.0",
7 "categories": ["languages", "formatters"],
7 "categories": ["languages", "formatters"],
8 "main": "main.js",
8 "main": "main.js",
9− "entitlements": {
9+ "entitlements":
10+ {
10 "process": true,
11 "process": true,
11 "filesystem": "readwrite",
12 "filesystem": "readwrite",
12 "requests": true
13 "requests": true
13 },
14 },
14− "configWorkspace": [{
15+ "configWorkspace": [
16+ {
15 "key": "haskell-language-server-path",
17 "key": "haskell-language-server-path",
16 "title": "Haskell Language Server path",
18 "title": "Haskell Language Server path",
17 "description": "If you want to use a custom HLS build for this project, then specify the path to it here.",
19 "description": "If you want to use a custom HLS build for this project, then specify the path to it here.",
18 "type": "path",
20 "type": "path",
19 "placeholder": "/usr/local/bin/example"
21 "placeholder": "/usr/local/bin/example"
20− }, {
22+ },
23+ {
21 "type": "section",
24 "type": "section",
22 "title": "Haskell Language Server settings",
25 "title": "Haskell Language Server settings",
23− "children": [{
26+ "children": [
27+ {
24 "key": "haskell.formattingProvider",
28 "key": "haskell.formattingProvider",
25 "title": "Code formatter",
29 "title": "Code formatter",
26 "type": "enum",
30 "type": "enum",
@@ -34,57 +38,68 @@
34 ],
38 ],
35 "default": "ormolu",
39 "default": "ormolu",
36 "description": "The formatter to use when formatting a document or range. Ensure the plugin is enabled."
40 "description": "The formatter to use when formatting a document or range. Ensure the plugin is enabled."
37− }, {
41+ },
42+ {
38 "key": "haskell.checkProject",
43 "key": "haskell.checkProject",
39 "title": "Check whole project",
44 "title": "Check whole project",
40 "type": "boolean",
45 "type": "boolean",
41 "default": false,
46 "default": false,
42− "description": "Whether to typecheck the entire project on load. It could drive to bad perfomance in large projects."
47+ "description": "Whether to typecheck the entire project on load. It could lead to bad perfomance in large projects."
43− }, {
48+ },
49+ {
44 "key": "haskell.maxCompletions",
50 "key": "haskell.maxCompletions",
45 "type": "number",
51 "type": "number",
46 "title": "Maximum number of completions",
52 "title": "Maximum number of completions",
47 "description": "Maximum number of completions sent to the editor.",
53 "description": "Maximum number of completions sent to the editor.",
48 "default": 40
54 "default": 40
49− }, {
55+ },
56+ {
50 "type": "section",
57 "type": "section",
51 "title": "Plugin settings",
58 "title": "Plugin settings",
52− "children": [{
59+ "children": [
60+ {
53 "type": "section",
61 "type": "section",
54 "title": "Import lens",
62 "title": "Import lens",
55 "description": "Not currently implemented in Nova",
63 "description": "Not currently implemented in Nova",
56− "children": [{
64+ "children": [
65+ {
57 "key": "haskell.plugin.importLens.codeActionsOn",
66 "key": "haskell.plugin.importLens.codeActionsOn",
58 "title": "Enable code actions",
67 "title": "Enable code actions",
59 "type": "boolean",
68 "type": "boolean",
60 "default": true,
69 "default": true,
61 "description": "Enables explicit imports code actions"
70 "description": "Enables explicit imports code actions"
62− }, {
71+ },
72+ {
63 "key": "haskell.plugin.importLens.codeLensOn",
73 "key": "haskell.plugin.importLens.codeLensOn",
64 "title": "Enable code lens",
74 "title": "Enable code lens",
65 "type": "boolean",
75 "type": "boolean",
66 "default": true,
76 "default": true,
67 "description": "Enables explicit imports code lenses"
77 "description": "Enables explicit imports code lenses"
68 }]
78 }]
69− }, {
79+ },
80+ {
70 "title": "HLint",
81 "title": "HLint",
71 "type": "section",
82 "type": "section",
72− "children": [{
83+ "children": [
84+ {
73 "key": "haskell.plugin.hlint.codeActionsOn",
85 "key": "haskell.plugin.hlint.codeActionsOn",
74 "title": "Enable code actions",
86 "title": "Enable code actions",
75 "type": "boolean",
87 "type": "boolean",
76 "default": true,
88 "default": true,
77 "description": "Enables hlint code actions (apply hints)"
89 "description": "Enables hlint code actions (apply hints)"
78− }, {
90+ },
91+ {
79 "key": "haskell.plugin.hlint.diagnosticsOn",
92 "key": "haskell.plugin.hlint.diagnosticsOn",
80 "title": "Enable diagnostics",
93 "title": "Enable diagnostics",
81 "type": "boolean",
94 "type": "boolean",
82 "default": true,
95 "default": true,
83 "description": "Enables hlint diagnostics"
96 "description": "Enables hlint diagnostics"
84− }, {
97+ },
98+ {
85 "title": "Configuration",
99 "title": "Configuration",
86 "type": "section",
100 "type": "section",
87− "children": [{
101+ "children": [
102+ {
88 "key": "haskell.plugin.hlint.config.flags",
103 "key": "haskell.plugin.hlint.config.flags",
89 "title": "Flags",
104 "title": "Flags",
90 "description": "Flags used by hlint",
105 "description": "Flags used by hlint",
@@ -92,85 +107,102 @@
92 "type": "stringArray"
107 "type": "stringArray"
93 }]
108 }]
94 }]
109 }]
95− }, {
110+ },
111+ {
96 "title": "Eval",
112 "title": "Eval",
97 "type": "section",
113 "type": "section",
98− "children": [{
114+ "children": [
115+ {
99 "key": "haskell.plugin.eval.globalOn",
116 "key": "haskell.plugin.eval.globalOn",
100 "title": "Enable",
117 "title": "Enable",
101 "type": "boolean",
118 "type": "boolean",
102 "default": true,
119 "default": true,
103 "description": "Enables eval plugin"
120 "description": "Enables eval plugin"
104 }]
121 }]
105− }, {
122+ },
123+ {
106 "title": "Module name",
124 "title": "Module name",
107 "type": "section",
125 "type": "section",
108− "children": [{
126+ "children": [
127+ {
109 "key": "haskell.plugin.moduleName.globalOn",
128 "key": "haskell.plugin.moduleName.globalOn",
110 "title": "Enable",
129 "title": "Enable",
111 "type": "boolean",
130 "type": "boolean",
112 "default": true,
131 "default": true,
113 "description": "Enables module name plugin"
132 "description": "Enables module name plugin"
114 }]
133 }]
115− }, {
134+ },
135+ {
116 "title": "Splice",
136 "title": "Splice",
117 "type": "section",
137 "type": "section",
118− "children": [{
138+ "children": [
139+ {
119 "key": "haskell.plugin.splice.globalOn",
140 "key": "haskell.plugin.splice.globalOn",
120 "title": "Enable",
141 "title": "Enable",
121 "type": "boolean",
142 "type": "boolean",
122 "default": true,
143 "default": true,
123 "description": "Enables splice plugin (expand template haskell definitions)"
144 "description": "Enables splice plugin (expand template haskell definitions)"
124 }]
145 }]
125− }, {
146+ },
147+ {
126 "title": "Haddock comments",
148 "title": "Haddock comments",
127 "type": "section",
149 "type": "section",
128− "children": [{
150+ "children": [
151+ {
129 "key": "haskell.plugin.haddockComments.globalOn",
152 "key": "haskell.plugin.haddockComments.globalOn",
130 "title": "Enable",
153 "title": "Enable",
131 "type": "boolean",
154 "type": "boolean",
132 "default": true,
155 "default": true,
133 "description": "Enables haddock comments plugin"
156 "description": "Enables haddock comments plugin"
134 }]
157 }]
135− }, {
158+ },
159+ {
136 "title": "Class",
160 "title": "Class",
137 "type": "section",
161 "type": "section",
138− "children": [{
162+ "children": [
163+ {
139 "key": "haskell.plugin.class.globalOn",
164 "key": "haskell.plugin.class.globalOn",
140 "title": "Enable",
165 "title": "Enable",
141 "type": "boolean",
166 "type": "boolean",
142 "default": true,
167 "default": true,
143 "description": "Enables type class plugin"
168 "description": "Enables type class plugin"
144 }]
169 }]
145− }, {
170+ },
171+ {
146 "title": "Retrie",
172 "title": "Retrie",
147 "type": "section",
173 "type": "section",
148− "children": [{
174+ "children": [
175+ {
149 "key": "haskell.plugin.retrie.globalOn",
176 "key": "haskell.plugin.retrie.globalOn",
150 "title": "Enable",
177 "title": "Enable",
151 "type": "boolean",
178 "type": "boolean",
152 "default": true,
179 "default": true,
153 "description": "Enables retrie plugin"
180 "description": "Enables retrie plugin"
154 }]
181 }]
155− }, {
182+ },
183+ {
156 "title": "Wingman",
184 "title": "Wingman",
157 "type": "section",
185 "type": "section",
158− "children": [{
186+ "children": [
187+ {
159 "key": "haskell.plugin.tactics.globalOn",
188 "key": "haskell.plugin.tactics.globalOn",
160 "title": "Enable",
189 "title": "Enable",
161 "type": "boolean",
190 "type": "boolean",
162 "default": true,
191 "default": true,
163 "description": "Enables Wingman (tactics) plugin"
192 "description": "Enables Wingman (tactics) plugin"
164− }, {
193+ },
194+ {
165 "title": "Configuration",
195 "title": "Configuration",
166 "type": "section",
196 "type": "section",
167− "children": [{
197+ "children": [
198+ {
168 "key": "haskell.plugin.tactics.config.auto_gas",
199 "key": "haskell.plugin.tactics.config.auto_gas",
169 "title": "Gas",
200 "title": "Gas",
170 "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.",
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.",
171 "default": 4,
202 "default": 4,
172 "type": "number"
203 "type": "number"
173− }, {
204+ },
205+ {
174 "key": "haskell.plugin.tactics.config.hole_severity",
206 "key": "haskell.plugin.tactics.config.hole_severity",
175 "title": "Hole severity",
207 "title": "Hole severity",
176 "description": "The severity to use when showing hole diagnostics.",
208 "description": "The severity to use when showing hole diagnostics.",
@@ -183,19 +215,22 @@
183 ],
215 ],
184 "default": null,
216 "default": null,
185 "type": "enum"
217 "type": "enum"
186− }, {
218+ },
219+ {
187 "key": "haskell.plugin.tactics.config.max_use_ctor_actions",
220 "key": "haskell.plugin.tactics.config.max_use_ctor_actions",
188 "title": "Max number of constructors",
221 "title": "Max number of constructors",
189 "type": "number",
222 "type": "number",
190 "default": 5,
223 "default": 5,
191 "description": "Maximum number of `Use constructor <x>` code actions that can appear"
224 "description": "Maximum number of `Use constructor <x>` code actions that can appear"
192− }, {
225+ },
226+ {
193 "key": "haskell.plugin.tactics.config.timeout_duration",
227 "key": "haskell.plugin.tactics.config.timeout_duration",
194 "title": "Timeout",
228 "title": "Timeout",
195 "description": "The timeout for Wingman actions, in seconds",
229 "description": "The timeout for Wingman actions, in seconds",
196 "default": 2,
230 "default": 2,
197 "type": "number"
231 "type": "number"
198− }, {
232+ },
233+ {
199 "key": "haskell.plugin.tactics.config.proofstate_styling",
234 "key": "haskell.plugin.tactics.config.proofstate_styling",
200 "title": "Proof states",
235 "title": "Proof states",
201 "description": "Should Wingman emit styling markup when showing metaprogram proof states?",
236 "description": "Should Wingman emit styling markup when showing metaprogram proof states?",
@@ -203,35 +238,42 @@
203 "type": "boolean"
238 "type": "boolean"
204 }]
239 }]
205 }]
240 }]
206− }, {
241+ },
242+ {
207 "title": "Pragmas",
243 "title": "Pragmas",
208 "type": "section",
244 "type": "section",
209− "children": [{
245+ "children": [
246+ {
210 "key": "haskell.plugin.pragmas.codeActionsOn",
247 "key": "haskell.plugin.pragmas.codeActionsOn",
211 "title": "Enable code actions",
248 "title": "Enable code actions",
212 "type": "boolean",
249 "type": "boolean",
213 "default": true,
250 "default": true,
214 "description": "Enables pragmas code actions"
251 "description": "Enables pragmas code actions"
215− }, {
252+ },
253+ {
216 "key": "haskell.plugin.pragmas.completionOn",
254 "key": "haskell.plugin.pragmas.completionOn",
217 "title": "Enable completions",
255 "title": "Enable completions",
218 "type": "boolean",
256 "type": "boolean",
219 "default": true,
257 "default": true,
220 "description": "Enables pragmas completions"
258 "description": "Enables pragmas completions"
221 }]
259 }]
222− }, {
260+ },
261+ {
223 "title": "Completions",
262 "title": "Completions",
224 "type": "section",
263 "type": "section",
225− "children": [{
264+ "children": [
265+ {
226 "title": "Configuration",
266 "title": "Configuration",
227 "type": "section",
267 "type": "section",
228− "children": [{
268+ "children": [
269+ {
229 "key": "haskell.plugin.ghcide-completions.config.autoExtendOn",
270 "key": "haskell.plugin.ghcide-completions.config.autoExtendOn",
230 "title": "Extend with out-of-scope identifiers",
271 "title": "Extend with out-of-scope identifiers",
231 "description": "Extends the import list automatically when completing a out-of-scope identifier",
272 "description": "Extends the import list automatically when completing a out-of-scope identifier",
232 "default": true,
273 "default": true,
233 "type": "boolean"
274 "type": "boolean"
234− }, {
275+ },
276+ {
235 "key": "haskell.plugin.ghcide-completions.config.snippetsOn",
277 "key": "haskell.plugin.ghcide-completions.config.snippetsOn",
236 "title": "Insert snippets",
278 "title": "Insert snippets",
237 "description": "Inserts snippets when using code completions",
279 "description": "Inserts snippets when using code completions",
@@ -239,19 +281,23 @@
239 "type": "boolean"
281 "type": "boolean"
240 }]
282 }]
241 }]
283 }]
242− }, {
284+ },
285+ {
243 "description": "Not currently implemented in Nova",
286 "description": "Not currently implemented in Nova",
244 "type": "section",
287 "type": "section",
245− "children": [{
288+ "children": [
289+ {
246 "key": "haskell.plugin.ghcide-type-lenses.globalOn",
290 "key": "haskell.plugin.ghcide-type-lenses.globalOn",
247 "title": "Enable",
291 "title": "Enable",
248 "type": "boolean",
292 "type": "boolean",
249 "default": true,
293 "default": true,
250 "description": "Enables type lenses plugin"
294 "description": "Enables type lenses plugin"
251− }, {
295+ },
296+ {
252 "title": "Configuration",
297 "title": "Configuration",
253 "type": "section",
298 "type": "section",
254− "children": [{
299+ "children": [
300+ {
255 "key": "haskell.plugin.ghcide-type-lenses.config.mode",
301 "key": "haskell.plugin.ghcide-type-lenses.config.mode",
256 "title": "Mode",
302 "title": "Mode",
257 "type": "enum",
303 "type": "enum",
@@ -260,10 +306,12 @@
260 "values": ["always", "exported", "diagnostics"]
306 "values": ["always", "exported", "diagnostics"]
261 }]
307 }]
262 }]
308 }]
263− }, {
309+ },
310+ {
264 "title": "Refine imports",
311 "title": "Refine imports",
265 "type": "section",
312 "type": "section",
266− "children": [{
313+ "children": [
314+ {
267 "key": "haskell.plugin.refineImports.globalOn",
315 "key": "haskell.plugin.refineImports.globalOn",
268 "title": "Enable",
316 "title": "Enable",
269 "type": "boolean",
317 "type": "boolean",
@@ -274,24 +322,30 @@
274 }]
322 }]
275 }],
323 }],
276 "activationEvents": ["onLanguage:haskell", "onLanguage:hs"],
324 "activationEvents": ["onLanguage:haskell", "onLanguage:hs"],
277− "commands": {
325+ "commands":
326+ {
278− "editor": [{
327+ "editor": [
328+ {
279 "title": "Format file with Haskell Language Server",
329 "title": "Format file with Haskell Language Server",
280 "command": "format",
330 "command": "format",
281 "when": "editorSyntax == 'haskell' && editorHasFocus",
331 "when": "editorSyntax == 'haskell' && editorHasFocus",
282− "filters": {
332+ "filters":
333+ {
283 "syntaxes": ["haskell"]
334 "syntaxes": ["haskell"]
284 }
335 }
285 }],
336 }],
286− "extensions": [{
337+ "extensions": [
338+ {
287 "title": "Stop",
339 "title": "Stop",
288 "paletteTitle": "Stop Haskell Language Server",
340 "paletteTitle": "Stop Haskell Language Server",
289 "command": "stop"
341 "command": "stop"
290− }, {
342+ },
343+ {
291 "title": "Restart",
344 "title": "Restart",
292 "paletteTitle": "Restart Haskell Language Server",
345 "paletteTitle": "Restart Haskell Language Server",
293 "command": "restart"
346 "command": "restart"
294− }, {
347+ },
348+ {
295 "title": "Clear cached versions",
349 "title": "Clear cached versions",
296 "paletteTitle": "Clear cached versions of Haskell Language Server",
350 "paletteTitle": "Clear cached versions of Haskell Language Server",
297 "command": "clear-cache"
351 "command": "clear-cache"