From d588b0a245bb162ea60165eb2e42ef44e9b540bc Mon Sep 17 00:00:00 2001 From: Tom Smeding Date: Fri, 7 Mar 2025 17:19:48 +0100 Subject: pprintExpr --- src/AST/Pretty.hs | 7 +++++-- 1 file 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 -- cgit v1.2.3-70-g09d2