A library for building Haskell IDE tooling
Go to file
Moritz Kiefer ebbe9800b5 Make runActions return Return as soon as results are available (#1736)
* 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.
2019-06-18 14:08:13 +02:00
extension Describe how to install the IDE (#1686) 2019-06-15 13:23:59 +02:00
src/Development/IDE Make runActions return Return as soon as results are available (#1736) 2019-06-18 14:08:13 +02:00
test Don't error on goto definition for another package (#1687) 2019-06-15 16:11:20 +02:00
.ghci Add a haskell-ide-core demo project (#1251) 2019-05-20 16:36:08 +01:00
BUILD.bazel Load core-package dependencies in da-ghci (#1712) 2019-06-17 12:56:33 +00:00
haskell-ide-core.cabal Describe how to install the IDE (#1686) 2019-06-15 13:23:59 +02:00
README.md Update README.md (#1690) 2019-06-15 21:16:16 +02:00
stack.yaml Initial stab at integrating hie-bios (#1685) 2019-06-15 10:29:40 +02:00

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.

  1. git clone https://github.com/digital-asset/daml.git
  2. cd daml/compiler/haskell-ide-core
  3. stack build
  4. cd extension
  5. npm install
  6. code .
  7. Press F5 to start the extension.
  8. In the spawned extension, open the folder haskell-ide-core.
  9. In the preferences, set the Haskell IDE Core executable preference to stack and the arguments to exec -- ide-demo --ide .ghci
  10. Run the Reload Window command in VS Code.

Now you should have a working IDE dealing with itself.

Installing the IDE permanently

  1. cd compiler/haskell-ide-core/extension
  2. vsce package
  3. code --install-extension haskell-ide-core-0.0.1.vsix