2017-03-30 00:43:00 +03:00
|
|
|
:set prompt "ghci> "
|
2020-10-29 08:53:02 +03:00
|
|
|
-- https://github.com/cdepillabout/pretty-simple
|
|
|
|
:set -package pretty-simple
|
|
|
|
:set -interactive-print=Text.Pretty.Simple.pPrint
|
2017-03-30 00:43:00 +03:00
|
|
|
|
|
|
|
-- ghci commands to be run once at ghci startup
|
|
|
|
-- http://www.haskell.org/ghc/docs/7.6.3/html/users_guide/ghci-commands.html
|
|
|
|
|
|
|
|
-- set up context (handled by make ghci/stack ghci/cabal repl now)
|
|
|
|
-- :set -ihledger-lib -ihledger -ihledger-web
|
|
|
|
-- :l hledger/hledger-cli.hs
|
|
|
|
-- import Hledger
|
|
|
|
|
|
|
|
-- -- :reload and run commands in .ghci2
|
|
|
|
-- :def R \_ -> return ":reload\n:script .ghci2"
|
|
|
|
|
|
|
|
-- -- run commands from a file, .ghci2 by default
|
|
|
|
-- :def s \f -> readFile $ if null f then ".ghci2" else f
|
|
|
|
|
|
|
|
-- -- reset hledger's sticky global debug level flag so :main --debug=N works
|
|
|
|
-- :def resetdebug \_ -> return ":!touch hledger-lib/Hledger/Utils.hs\n:reload\n"
|
|
|
|
|
|
|
|
-- -- http://www.reddit.com/r/haskell/comments/24kpyu/watching_for_changes_and_rerunning_tests_in_ghci/
|
|
|
|
-- :{
|
|
|
|
-- {-
|
|
|
|
-- import System.FSNotify
|
|
|
|
-- import Data.String
|
|
|
|
-- import Control.Concurrent.MVar
|
|
|
|
-- import Control.Concurrent
|
|
|
|
|
|
|
|
-- :def test const (withManager (\manager ->
|
|
|
|
-- do putStrLn "Listening to changes, press any key to stop..."
|
|
|
|
-- lock <- newEmptyMVar
|
|
|
|
-- watchTree manager (fromString ".") (const True) (const $ putMVar lock True)
|
|
|
|
-- forkIO (getLine >> putMVar lock False)
|
|
|
|
-- rerun <- readMVar lock
|
|
|
|
-- return $ if rerun
|
|
|
|
-- then ":reload \n :main \n :test"
|
|
|
|
-- else ""
|
|
|
|
-- ))
|
|
|
|
-- -}
|
|
|
|
-- :}
|