@@ -4,7 +4,6 @@ Note: `ghcide` was previously called `hie-core`.
44
55Our vision is that you should build an IDE by combining:
66
7−
87<img style="float:right;" src="img/vscode2.png"/>
98
109* [`hie-bios`](https://github.com/mpickering/hie-bios) for determining where your files are, what are their dependencies, what extensions are enabled and so on;
@@ -22,7 +21,7 @@ There are more details about our approach [in this blog post](https://4ta.uk/p/s
2221| Feature | LSP name |
2322| - | - |
2423| Display error messages (parse errors, typecheck errors, etc.) and enabled warnings. | diagnostics |
25−| Go to definition in local package | definition |
24+| Go to definition in local package | definition |
2625| Display type and source module of values | hover |
2726| Remove redundant imports, replace suggested typos for values and module imports, fill type holes, insert missing type signatures, add suggested ghc extensions | codeAction (quickfix) |
2827| Organize imports | codeAction (source.organizeImports) |
@@ -49,23 +48,22 @@ It's important that `ghcide` is compiled with the same compiler you use to build
4948
5049Next, check that `ghcide` is capable of loading your code. Change to the project directory and run `ghcide`, which will try and load everything using the same code as the IDE, but in a way that's much easier to understand. For example, taking the example of [`shake`](https://github.com/ndmitchell/shake), running `ghcide` gives some error messages and warnings before reporting at the end:
5150
52−```
53−Files that worked: 152
54−Files that failed: 6
51+```console
52+Files that failed:
5553 * .\model\Main.hs
5654 * .\model\Model.hs
5755 * .\model\Test.hs
5856 * .\model\Util.hs
5957 * .\output\docs\Main.hs
6058 * .\output\docs\Part_Architecture_md.hs
61−Done
59+Completed (152 worked, 6 failed)
6260```
6361
6462Of the 158 files in Shake, as of this moment, 152 can be loaded by the IDE, but 6 can't (error messages for the reasons they can't be loaded are given earlier). The failing files are all prototype work or test output, meaning I can confidently use Shake.
6563
6664The `ghcide` executable mostly relies on [`hie-bios`](https://github.com/mpickering/hie-bios) to do the difficult work of setting up your GHC environment. If it doesn't work, see [the `hie-bios` manual](https://github.com/mpickering/hie-bios#readme) to get it working. My default fallback is to figure it out by hand and create a `direct` style [`hie.yaml`](https://github.com/ndmitchell/shake/blob/master/hie.yaml) listing the command line arguments to load the project.
6765
68−Once you have got `ghcide` working outside the editor, the next step is to pick which editor to integrate with.
66+If you can't get `ghcide` working outside the editor, see [this setup troubleshooting guide](docs/Setup.md). Once you have got `ghcide` working outside the editor, the next step is to pick which editor to integrate with.
6967
7068### Using with VS Code
7169