最近我一直在使用Scala和SBT。 REPL循環有一個方便的功能:~ COMMAND
,意思是爲項目中的每個源文件更改執行COMMAND。例如:Haskell構建生態系統中的類SBT功能
~ test
和
~ compile
是快速發展得不得了有用。我想知道,有沒有人知道類似於Haskell,一個cabal shell,也許?
最近我一直在使用Scala和SBT。 REPL循環有一個方便的功能:~ COMMAND
,意思是爲項目中的每個源文件更改執行COMMAND。例如:Haskell構建生態系統中的類SBT功能
~ test
和
~ compile
是快速發展得不得了有用。我想知道,有沒有人知道類似於Haskell,一個cabal shell,也許?
你可以很容易地使用inotifywait
得到這樣的東西。
剛啓動終端在您的項目目錄,並運行是這樣的:
$ while inotifywait -qq -r -e modify .; do cabal build && ./dist/build/tests/tests; done
這也適用於任何其他語言;只需插入您選擇的構建命令即可。
你可以腳本ghci既定義你自己的命令,並增加現有的命令。要做到這一點:
:def
到例如更換編寫一個宏:reload
有關GHCi :def
命令的更多信息,請參閱here。
該ghcid項目提供限於~ :reload
的東西。它提供了一些額外的功能(格式爲固定數量的行,堅持來自以前加載的文件的警告),但不是運行任何命令的一般性。
非常實用;謝謝。 – troutwine 2011-06-13 03:15:56