summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Smeding <t.j.smeding@uu.nl>2025-03-07 17:19:48 +0100
committerTom Smeding <t.j.smeding@uu.nl>2025-03-07 17:19:48 +0100
commitd588b0a245bb162ea60165eb2e42ef44e9b540bc (patch)
tree063c329c7ecc14e67357e3186e089fdac879d3ac
parentbb88a7dfdb377c77264801db01d72f2e8b245199 (diff)
pprintExpr
-rw-r--r--src/AST/Pretty.hs7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/AST/Pretty.hs b/src/AST/Pretty.hs
index 7634cd0..8c0a406 100644
--- a/src/AST/Pretty.hs
+++ b/src/AST/Pretty.hs
@@ -7,7 +7,7 @@
{-# LANGUAGE PolyKinds #-}
{-# LANGUAGE TupleSections #-}
{-# LANGUAGE TypeOperators #-}
-module AST.Pretty (ppExpr, ppSTy, ppTy, PrettyX(..)) where
+module AST.Pretty (pprintExpr, ppExpr, ppSTy, ppTy, PrettyX(..)) where
import Control.Monad (ap)
import Data.List (intersperse)
@@ -64,6 +64,9 @@ genNameIfUsedIn' prefix ty idx ex
genNameIfUsedIn :: STy a -> Idx env a -> Expr x env t -> M String
genNameIfUsedIn = genNameIfUsedIn' "x"
+pprintExpr :: (KnownEnv env, PrettyX x) => Expr x env t -> IO ()
+pprintExpr = putStrLn . ppExpr knownEnv
+
ppExpr :: PrettyX x => SList f env -> Expr x env t -> String
ppExpr senv e = render $ fst (runM (mkVal senv >>= \val -> ppExpr' 0 val e) 1)
where
@@ -360,7 +363,7 @@ annotToANSI AKey = PT.bold
annotToANSI AWith = PT.color PT.Red <> PT.underlined
annotToANSI AHighlight = PT.color PT.Blue
annotToANSI AMonoid = PT.color PT.Green
-annotToANSI AExt = mempty
+annotToANSI AExt = PT.colorDull PT.White
type ADoc = Doc Annot