mirror of
https://github.com/haskell/ghcide.git
synced 2024-12-17 07:01:41 +03:00
A library for building Haskell IDE tooling
ebbe9800b5
* Make runActions return Return as soon as results are available Previously, we were waiting for all rules to finish, in particular the ofInterestRule. That doesn’t really make any sense, e.g., a goto definition request should not be waiting for all scenarios to run. The next step will be to change the LSP side such that requests and notifications are processed in parallel where possible. |
||
---|---|---|
extension | ||
src/Development/IDE | ||
test | ||
.ghci | ||
BUILD.bazel | ||
haskell-ide-core.cabal | ||
README.md | ||
stack.yaml |
Haskell IDE Core
Our vision is that you should build an IDE by combining:
- hie-bios for determining where your files are, what the dependencies, what extensions are enabled etc.
haskell-ide-core
- this library - for defining how to type check, when to type check, and producing messages.haskell-lsp
for sending those messages to an LSP server.- A VS Code extension, e.g.
extension
in this directory.
There are more details in this blog post.
How to use it
Let's assume you want to load the haskell-ide-core
source code in a VS Code IDE.
git clone https://github.com/digital-asset/daml.git
cd daml/compiler/haskell-ide-core
stack build
cd extension
npm install
code .
- Press F5 to start the extension.
- In the spawned extension, open the folder
haskell-ide-core
. - In the preferences, set the Haskell IDE Core executable preference to
stack
and the arguments toexec -- ide-demo --ide .ghci
- Run the Reload Window command in VS Code.
Now you should have a working IDE dealing with itself.
Installing the IDE permanently
cd compiler/haskell-ide-core/extension
vsce package
code --install-extension haskell-ide-core-0.0.1.vsix