SBT-like features in the Haskell build ecosystem

后端 未结 3 1343
滥情空心
滥情空心 2021-02-03 15:40

I\'ve been using Scala with SBT quite a bit lately. The REPL loop of has a handy feature: ~ COMMAND, meaning perform COMMAND for every source file change in the pro

相关标签:
3条回答
  • 2021-02-03 16:11

    You can script ghci to both define your own commands, and augment existing commands. To do this:

    • define a ~/.ghci file
    • write a macro using :def to replace e.g. :reload

    More info on GHCi :def commands is here.

    0 讨论(0)
  • 2021-02-03 16:14

    The ghcid project provides something limited to ~ :reload. It provides a few extra features (format to a fixed number of lines, persist warnings from previously loaded files), but not the generality of running any command.

    0 讨论(0)
  • 2021-02-03 16:27

    You can get something like this very easily using inotifywait.

    Just fire up a terminal in your project directory and run something like this:

    $ while inotifywait -qq -r -e modify .; do cabal build && ./dist/build/tests/tests; done
    

    This also works for any other language; just insert the build commands of your choice.

    0 讨论(0)
提交回复
热议问题