on master help sign in
Vastly improve pretty-printing of definitions in :printdef
commit1305e3a37219a3a9607773b75bea300320d5ae37 authorDavid Raymond Christiansen <david@davidchristiansen.dk> dateWed 24 Sep 2014, 13:27 (12 years ago) parent4d85599
1 file changed+9−7
src/Idris/REPL.hs+9−7
src/Idris/REPL.hs+9−7
@@ -81,7 +81,7 @@ import Control.Concurrent.MVar
8181import Network
8282import Control.Concurrent
8383import Data.Maybe
84−import Data.List
84+import Data.List hiding (group)
8585import Data.Char
8686import Data.Version
8787import Data.Word (Word)
@@ -1180,16 +1180,18 @@ process fn (PrintDef n) =
11801180 where ppDef :: IState -> (Name, ([([Name], Term, Term)], [PTerm])) -> Doc OutputAnnotation
11811181 ppDef ist (n, (clauses, missing)) =
11821182 prettyName True True [] n <+> colon <+>
1183− pprintPTerm (ppOptionIst ist) [] [] [] (delabTy ist n) <$>
1183+ align (pprintDelabTy ist n) <$>
11841184 indent 2 (ppClauses ist clauses <> ppMissing missing)
11851185 ppClauses ist [] = text "No clauses."
11861186 ppClauses ist cs = vsep (map pp cs)
11871187 where pp (vars, lhs, rhs) =
1188− let ppTm = pprintPTerm (ppOptionIst ist)
1189− (zip vars (repeat False))
1190− [] [] .
1191− delab ist
1192− in ppTm lhs <+> text "=" <+> ppTm rhs
1188+ let ppTm t = annotate (AnnTerm (zip vars (repeat False)) t) .
1189+ pprintPTerm (ppOptionIst ist)
1190+ (zip vars (repeat False))
1191+ [] [] .
1192+ delab ist $
1193+ t
1194+ in group $ ppTm lhs <+> text "=" <$> (group . align . hang 2 $ ppTm rhs)
11931195 ppMissing _ = empty
11941196
11951197