Ale: Add support for Haskell IDE Engine (aka hie)

Created on 13 May 2018  路  9Comments  路  Source: dense-analysis/ale

Haskell IDE Engine is a server implementing Language Server Protocol.

It encapsulates most of the linters currently supported by ALE in a unified interface simplifying use and providing somewhat better management of system resources.

LSP new tool

Most helpful comment

@alex404 @Saul-Mirone @unode , PR has been merged ! Please go ahead and test it to see if it is working correctly.
It worked for me, but I'm a begginer so I don't work on any real codebase, just a simple stack project.
Everything should work as intended as long as you have hie in your path. Then it searches for the stack file, the cabal file and it will use the current directory as a default to work on "plain GHC projects".

All 9 comments

+1, since ghc-mod is not maintained anymore, HIE is really important.

I'm also eagerly waiting for this. I love ale, and would like to be able to use it to lint Haskell too.

Go ahead and create a pull request for it if you know how to start the server. Have a look at existing linters in the ale_linters directory and :help ale#linter#Define() for a description of how that works.

Thanks for the tips. I'll look into it and give it a shot.

@alex404
I'm working on that right now, here is the branch:
https://github.com/Luxed/ale/tree/hie
I don't think it's ready to be a PR yet, but it works pretty much as intended.
Simply enable the hie linter for haskell and you're good to go !
( I basically ripped off the Rust rls code to use for the HIE one)
I'll make a PR later today.

Sounds good to me. :+1:

Cool, looking forward to it!

@alex404 @Saul-Mirone @unode , PR has been merged ! Please go ahead and test it to see if it is working correctly.
It worked for me, but I'm a begginer so I don't work on any real codebase, just a simple stack project.
Everything should work as intended as long as you have hie in your path. Then it searches for the stack file, the cabal file and it will use the current directory as a default to work on "plain GHC projects".

Seems to work well so far! Thanks for your hard work! I'll report if any problems come up.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

sublee picture sublee  路  3Comments

trevordmiller picture trevordmiller  路  4Comments

garand picture garand  路  4Comments

kronos29296 picture kronos29296  路  4Comments

ilyakopy picture ilyakopy  路  4Comments