@@ -31,6 +31,7 @@ we talk to clients.__
31
31
- [ Download the source code] ( #download-the-source-code )
32
32
- [ Building] ( #building )
33
33
- [ Install via cabal] ( #install-via-cabal )
34
+ - [ Install cabal using stack] ( #install-cabal-using-stack )
34
35
- [ Install specific GHC Version] ( #install-specific-ghc-version )
35
36
- [ Multiple versions of HIE (optional)] ( #multiple-versions-of-hie-optional )
36
37
- [ Configuration] ( #configuration )
@@ -68,6 +69,8 @@ we talk to clients.__
68
69
- [ Otherwise] ( #otherwise )
69
70
- [ Nix: cabal-helper, No such file or directory] ( #nix-cabal-helper-no-such-file-or-directory )
70
71
- [ Liquid Haskell] ( #liquid-haskell )
72
+ - [ Profiling ` haskell-ide-engine ` .] ( #profiling-haskell-ide-engine )
73
+ - [ Using ` ghc-events-analyze ` ] ( #using-ghc-events-analyze )
71
74
72
75
## Features
73
76
@@ -313,7 +316,9 @@ describes how to setup the environment. For example, to explicitly state
313
316
that you want to use ` stack ` then the configuration file would look like:
314
317
315
318
``` yaml
316
- cradle : {stack}
319
+ cradle :
320
+ stack :
321
+ component : " haskell-ide-engine:lib"
317
322
` ` `
318
323
319
324
If you use ` cabal` then you probably need to specify which component you want
@@ -325,6 +330,49 @@ cradle:
325
330
component: "lib:haskell-ide-engine"
326
331
` ` `
327
332
333
+ If you have a project with multiple components, you can use a cabal-multi
334
+ cradle :
335
+
336
+ ` ` ` yaml
337
+ cradle:
338
+ cabal:
339
+ - path: "./test/dispatcher/"
340
+ component: "test:dispatcher-test"
341
+ - path: "./test/functional/"
342
+ component: "test:func-test"
343
+ - path: "./test/unit/"
344
+ component: "test:unit-test"
345
+ - path: "./hie-plugin-api/"
346
+ component: "lib:hie-plugin-api"
347
+ - path: "./app/MainHie.hs"
348
+ component: "exe:hie"
349
+ - path: "./app/HieWrapper.hs"
350
+ component: "exe:hie-wrapper"
351
+ - path: "./"
352
+ component: "lib:haskell-ide-engine"
353
+ ` ` `
354
+
355
+ Equivalently, you can use stack :
356
+
357
+ ` ` ` yaml
358
+ cradle:
359
+ stack:
360
+ - path: "./test/dispatcher/"
361
+ component: "haskell-ide-engine:test:dispatcher-test"
362
+ - path: "./test/functional/"
363
+ component: "haskell-ide-engine:test:func-test"
364
+ - path: "./test/unit/"
365
+ component: "haskell-ide-engine:test:unit-test"
366
+ - path: "./hie-plugin-api/"
367
+ component: "hie-plugin-api:lib"
368
+ - path: "./app/MainHie.hs"
369
+ component: "haskell-ide-engine:exe:hie"
370
+ - path: "./app/HieWrapper.hs"
371
+ component: "haskell-ide-engine:exe:hie-wrapper"
372
+ - path: "./"
373
+ component: "haskell-ide-engine:lib"
374
+ ` ` `
375
+
328
376
Or you can explicitly state the program which should be used to collect
329
377
the options by supplying the path to the program. It is interpreted
330
378
relative to the current working directory if it is not an absolute path.
@@ -342,8 +390,7 @@ cradle:
342
390
cabal:
343
391
component: "optional component name"
344
392
stack:
345
- bazel:
346
- obelisk:
393
+ component: "optional component name"
347
394
bios:
348
395
program: "program to run"
349
396
dependency-program: "optional program to run"
0 commit comments