module FP.Pretty.Examples where import FP.Prelude import FP.Pretty.Color import FP.Pretty.Pretty import FP.Pretty.Instances () -- Tests testPrettyFormats ∷ Doc testPrettyFormats = ppVertical [ ppPun "punctuation" , ppKeyPun "keyword punctuation" , ppKey "keyword" , ppCon "constructor" , ppOp "operator" , ppBdr "binder" , ppLit "literal" , ppHl "highlighted" , ppHeader "header" , ppErr "error" ] testPrettyNesting ∷ Doc testPrettyNesting = ppVertical [ pretty $ [ dict [ (111, set [10000,11111,22222,33333,44444,55555,66666,77777]) , (222, set [10000,11111,22222,33333,44444,55555,66666,77777,88888]) , (333, set [10000,11111,22222,33333,44444,55555,66666,77777,88888,99999]) ] ] ] testPrettyUndertags ∷ Doc testPrettyUndertags = ppVertical [ ppText "not undertaggedd" , ppUT '~' green $ ppText "undertagged green" , ppUT '^' blue $ ppVertical [ ppText "multiline" , ppText "undertagged" , ppFG darkPink $ ppText "with color inside" ] ] testPrettyLineNumbers ∷ Doc testPrettyLineNumbers = ppVertical [ ppLineNumbers $ ppText "show lines" , ppText "don't show lines" , ppLineNumbers $ ppVertical [ ppText "multiline" , ppText "show lines" ] ] testPrettyBlinders ∷ Doc testPrettyBlinders = let lines ∷ [Doc] lines = list $ map (\ (i,p) → ppHorizontal [p,ppNoFormat $ pretty i]) $ list $ withIndex $ stream $ replicate (𝕟 30) (ppText "line number") in ppLineNumbers $ ppBlinders (𝕟 10) (𝕟 20) $ ppVertical $ lines