我正在寻找与vim一起使用的代码lint、类型查询、自动类型插入和其他辅助工具(如自动完成)。在进行了一些研究后,我发现了多个类似的工具,可能可以做到我想要的
- hlint
- hdevtools
- ghc-mod
主要问题是,这些工具基本上都是相同的吗?
当我进行一些测试时,我发现只有ghc-mod能够开箱即用(用于代码lint,还没有尝试任何类型帮助器函数)
$ cat test.hs
main = putStrLn "test"
$ ghc-mod check test.hs
test.hs:1:1:Warning: Top-level binding with no type signature: main :: IO ()
$ hdevtools check test.hs
Run from outside a project, using implicit global project config
$ hlint test.hs
No hints
我需要为 hlint 和 hdevtools 创建任何配置文件吗?
$ hdevtools --version
hdevtools: version 0.1.4.1 (ghc-8.0.1-x86_64-linux, cabal-1.24.0.0)
$ hlint --version
HLint v1.9.35, (C) Neil Mitchell 2006-2016
$ ghc-mod --version
ghc-mod version 5.6.0.0 compiled by GHC 8.0.1
$ ghc --version
The Glorious Glasgow Haskell Compilation System, version 8.0.1
所有工具都是通过 stack install
安装的,而且我已经将/home/wizzup/.local/bin
添加到了$PATH
中。