HLint提供了如何改进源代码的建议。但是,鉴于建议的性质,我想知道是否可以自动应用这些建议。
是否可以自动应用hlint
提出的建议?
答案 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"
据我所知,建议的重构需要在每个文件的基础上完成。