Last active
February 6, 2018 19:40
-
-
Save andrevdm/737e514eada126bb593c876f1fa19d0e to your computer and use it in GitHub Desktop.
GHCi pretty print surviving reload (using :rr) for GHC +8.0
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
:set -package pretty-show | |
:set -package hscolour | |
:set -XOverloadedStrings | |
:set -XNoImplicitPrelude | |
:set -XScopedTypeVariables | |
:set -XTupleSections | |
:set -fno-warn-type-defaults | |
:set prompt "λ: " | |
import Protolude | |
-- before using it: | |
-- $ stack install pretty-show | |
-- $ stack install hscolour | |
:def pretty \_ -> return ("import Protolude\nimport Text.Show.Pretty (ppShow)\nimport qualified System.IO as XXIO\nimport qualified Language.Haskell.HsColour as XXH\nimport qualified Language.Haskell.HsColour.Colourise as XXH\nmyColourPrefs = XXH.defaultColourPrefs { XXH.conop = [XXH.Foreground XXH.Yellow] , XXH.conid = [XXH.Foreground XXH.Yellow, XXH.Bold] , XXH.string = [XXH.Foreground $ XXH.Rgb 29 193 57] , XXH.char = [XXH.Foreground XXH.Cyan] , XXH.number = [XXH.Foreground $ XXH.Rgb 202 170 236] , XXH.keyglyph = [XXH.Foreground XXH.Yellow]}\ncolorPrint = XXIO.putStrLn . XXH.hscolour XXH.TTY myColourPrefs False False [] False . ppShow\n:set -interactive-print colorPrint") | |
:def no-pretty \_ -> return (":set -interactive-print System.IO.print") | |
:def rr \_ -> pure ":r\n:pretty" | |
putText ":rr to reload" | |
:rr | |
:def package \ m -> return $ ":! ghc-pkg --simple-output find-module " <> m | |
:def hlint const . return $ ":! hlint \"src\"" | |
:def hoogle \s -> return $ ":! hoogle --count=30 \"" <> s <> "\"" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment