Skip to content
VS Code auto-complete extension for Haskell using Hoogle
TypeScript
Branch: master
Clone or download

Latest commit

Fetching latest commit…
Cannot retrieve the latest commit at this time.

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.vscode
src
.eslintrc.json
CHANGELOG.md
README.md
package-lock.json
package.json
tsconfig.json

README.md

Haskell Hoogle autocomplete for VS Code

Features

TODO: insert video

Limitations

  • No context-awareness whatsoever. Type class names are happily suggested where only a type makes sense, and vice verse. However, due to values/functions starting with a lowercase letter (or _) these are rarely mixed together with data types/type classes, since VS Code prefers suggestions with the same case as the input word.
  • No formatting in documentation. Hoogle can only output HTML/plaintext and VS Code supports only markdown.

Requirements

Either:

  • a local Hoogle server (recommended)
  • an internet connection, to connect to https://hoogle.haskell.org/ (pretty slow, depending on your physical location)

Questions/bug reports

Feel free to create an issue in case of questions or bugs.

Local Hoogle server

Using a local Hoogle server will decrease latency dramatically compared to using https://hoogle.haskell.org/ (~10 ms vs. ~1000 ms for Copenhagen, Denmark).

Instructions on installing Hoogle locally:

After installing Hoogle and creating a database you need to run the Hoogle server using the command hoogle server --local --database=<path/to/database.hoo>, and change the extension setting haskell-hoogle-autocomplete.hoogleServerBaseUrl appropriately.

Extension Settings

Building

  1. Install npm
  2. Download dependencies: npm install
  3. Install Visual Studio Code Extension Manager: npm install vsce
  4. Generate VSIX file: node_modules/vsce/out/vsce package
  5. Inside VS Code: run command "Extensions: Install from VSIX"

Release Notes

0.0.1 alpha preview

Initial release

You can’t perform that action at this time.