hledger/.ghci

43 lines
1.4 KiB
Plaintext
Raw Normal View History

2017-03-30 00:43:00 +03:00
:set prompt "ghci> "
-- 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 ""
-- ))
-- -}
-- :}