# Flexible Haskell - and a Bit of Bluespec

Flexible Haskell for JetBrains IDEs: HLS-powered completion, an integrated GHCi REPL, Haddock docs, run configurations, and Bluespec hardware syntax support.


A quick one: Flexible Haskell.
Haskell tooling in JetBrains IDEs has been in a strange place for years. There are a few plugins around, and most of them are either abandoned or stuck. So we wrote one.
It’s a full GHC Haskell grammar, CPP preprocessor directives included, with Haskell Language Server wired in for completion, diagnostics and hover docs. You switch HLS on under Settings > Languages & Frameworks > Haskell.
There’s an integrated GHCi REPL in a terminal at the bottom of the IDE. Alt+Shift+Enter sends the selection or the current line, Ctrl+Shift+F10 does a :load of the file, and stack traces in the console are clickable. Run configurations for Stack, Cabal and runghc, a gutter icon on main for one-click runs, and debugging on all three.
Then the navigation stuff: Go to Symbol, Go to Class, Find Usages, structure view, Haddock on Ctrl+Q with the markup actually rendered instead of dumped raw. Live templates for declarations, and a formatter with real spacing rules for ->, =>, <- and friends.
Oh, and Bluespec. .bs files share the Haskell parser with the hardware keywords added (rule, interface, method, action), and .bsv gets its own lexer for C-style comments and Verilog-sized literals. That was not the plan. It just kind of happened.
It’s new, so expect bugs and expect it to move fast over the next few weeks. Tell us what breaks.
Get it here: plugins.jetbrains.com/plugin/30630-flexible-haskell
