直到最近,我一直在执行这个美丽来构建 + 运行一个带有堆栈的项目:
stack build && .stack-work/install/x86_64-linux/lts-4.1/7.10.3/bin/<project-name>
我在 IRC 上被告知这可以简化为
stack build && stack exec <project-name>
这是否可以进一步简化,以
stack run
或者至少
stack run <project-name>
?
如果我没记错的话,这是可能的cabal run
。
编辑:
@haoformayor 的评论越来越接近:
alias b='stack build --fast --ghc-options="-Wall" && stack exec'
虽然这仍然需要项目名称,对吧?
我也开始接近
function stack-run () { stack build && stack exec `basename "$PWD"` }
尽管这仅在项目名称与文件夹名称匹配时才有效。也许我们可以查询 cabal/stack 以获取executable
.cabal 文件中的第一个条目?或者也许我们可以用sed
......