mirror of
https://github.com/simonmichael/hledger.git
synced 2024-11-14 02:14:14 +03:00
52 lines
1.7 KiB
Plaintext
52 lines
1.7 KiB
Plaintext
:set prompt "ghci> "
|
|
import System.Environment
|
|
setEnv "NO_COLOR" "1"
|
|
-- TEMP
|
|
-- :m +*Hledger.Cli.Commands
|
|
|
|
-- https://github.com/cdepillabout/pretty-simple
|
|
-- If not using a cabal environment file with pretty-simple added, this adds itK here:
|
|
-- :set -package pretty-simple
|
|
:set -interactive-print=Text.Pretty.Simple.pPrintNoColor
|
|
|
|
-- 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"
|
|
|
|
-- Reload (to flush cached unsafe IO values) and run main with the given args
|
|
:def rmain \args -> return $ ":reload\n:main "<>args
|
|
|
|
-- -- 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 ""
|
|
-- ))
|
|
-- -}
|
|
-- :}
|