module Sound.MED.Basic.Pretty where pretty :: String -> String pretty :: String -> String pretty = Int -> String -> String pretty' Int 0 pretty' :: Int -> String -> String pretty' :: Int -> String -> String pretty' Int _ [] = String "\n" pretty' Int level (Char c:String cs) = case Char c of Char ' ' -> Int -> String -> String pretty' Int level String cs Char '=' -> String " = " forall a. [a] -> [a] -> [a] ++ Int -> String -> String pretty' Int level String cs Char '{' -> String "{\n" forall a. [a] -> [a] -> [a] ++ Int -> String indent (Int levelforall a. Num a => a -> a -> a +Int 1) forall a. [a] -> [a] -> [a] ++ Int -> String -> String pretty' (Int levelforall a. Num a => a -> a -> a +Int 1) String cs Char '}' -> String "\n" forall a. [a] -> [a] -> [a] ++ Int -> String indent (Int levelforall a. Num a => a -> a -> a -Int 1) forall a. [a] -> [a] -> [a] ++ String "}" forall a. [a] -> [a] -> [a] ++ Int -> String -> String pretty' (Int levelforall a. Num a => a -> a -> a -Int 1) String cs Char '[' -> String "[\n" forall a. [a] -> [a] -> [a] ++ Int -> String indent (Int levelforall a. Num a => a -> a -> a +Int 1) forall a. [a] -> [a] -> [a] ++ Int -> String -> String pretty' (Int levelforall a. Num a => a -> a -> a +Int 1) String cs Char ']' -> String "\n" forall a. [a] -> [a] -> [a] ++ Int -> String indent (Int levelforall a. Num a => a -> a -> a -Int 1) forall a. [a] -> [a] -> [a] ++ String "]" forall a. [a] -> [a] -> [a] ++ Int -> String -> String pretty' (Int levelforall a. Num a => a -> a -> a -Int 1) String cs Char '(' -> String "(\n" forall a. [a] -> [a] -> [a] ++ Int -> String indent (Int levelforall a. Num a => a -> a -> a +Int 1) forall a. [a] -> [a] -> [a] ++ Int -> String -> String pretty' (Int levelforall a. Num a => a -> a -> a +Int 1) String cs Char ')' -> String "\n" forall a. [a] -> [a] -> [a] ++ Int -> String indent (Int levelforall a. Num a => a -> a -> a -Int 1) forall a. [a] -> [a] -> [a] ++ String ")" forall a. [a] -> [a] -> [a] ++ Int -> String -> String pretty' (Int levelforall a. Num a => a -> a -> a -Int 1) String cs Char ',' -> String ",\n" forall a. [a] -> [a] -> [a] ++ Int -> String indent Int level forall a. [a] -> [a] -> [a] ++ Int -> String -> String pretty' Int level String cs Char _ -> Char c forall a. a -> [a] -> [a] : Int -> String -> String pretty' Int level String cs indent :: Int -> String indent :: Int -> String indent Int level = forall a. Int -> a -> [a] replicate (Int levelforall a. Num a => a -> a -> a *Int 4) Char ' '