HLint可以自动进行建议编辑吗?

时间:2016-05-10 20:51:46

标签: haskell refactoring automated-refactoring hlint

HLint提供了如何改进源代码的建议。但是,鉴于建议的性质,我想知道是否可以自动应用这些建议。

是否可以自动应用hlint提出的建议?

2 个答案:

答案 0 :(得分:6)

您必须使用--refactor并在refactor中拥有$PATH可执行文件。有关详细信息,请参阅hlint's README

  

自动应用提示

     

通过提供--refactor标志,hlint可以自动应用最多   建议。而不是提示列表,hlint将改为输出   stdout上的重构文件。为了做到这一点,有必要   在您的路径上有refactor可执行文件。 refactor由提供   apply-refact   包,它使用GHC API来转换给定的源文件   要应用的重构列表。 Hlint直接调用可执行文件   申请建议。

请注意,hlint不会递归地应用转换,因此可能需要额外的--refactor。话虽如此,请确保在应用hlint --refactor之前提交/保存并在之后测试您的代码,因为更改可能会破坏您的代码,特别是如果您使用Rank2Types或seq

答案 1 :(得分:0)

为了补充Zeta的答案,我使用了一些额外的标志来执行重构:

hlint  --refactor --refactor-options="--inplace" path/to/your/File.hs

有时您只想应用某种提示,这可以通过传递-o标志来完成,例如:

hlint  -o="Use fewer imports" --refactor --refactor-options="--inplace" 

据我所知,建议的重构需要在每个文件的基础上完成。