当运行带有“自动更正”选项的格式化程序和 linting 工具等工具时,a 的输入和输出Rule
可能是同一个文件;例如:
"//*.hs" %> \out ->
cmd_ "ormolu" "-m" "inplace" out
-- OR
batch 10 ("//*.hs" %>)
( \out -> do
cmd_ "ormolu" "-m" "inplace" out
pure out
)
(cmd_ "hlint")
这似乎“正确”工作(如果源文件已编辑并已更改,则规则将重新运行need
),但我们不确定这是一个愉快的巧合还是shake
按设计工作 - 特别是当我们开始考虑缓存结果时shakeShare
或者在未来的Cloud Shake。这是处理此类规则的最佳方法,还是有更好的方法?