Fix whitespace when converting to string

This commit is contained in:
Joscha 2018-01-05 18:38:24 +00:00
parent 8973d30cae
commit bb509c9800

View file

@ -225,19 +225,25 @@ nomToInteger = (truncate :: Double -> Integer) . realToFrac
elementsToString :: Elements -> String elementsToString :: Elements -> String
elementsToString (Elements e) = elementsToString (Elements e) =
let elms = map snd $ sortBy (compare `on` fst) $ Map.toList e let elms = map snd $ sortBy (compare `on` fst) $ Map.toList e
in unlines $ intersperse "" $ map (\x -> elementToString x) elms in unlines $ intercalate ["", ""] $ map (\x -> elementToString x) elms
elementToString :: Element -> String elementToString :: Element -> [String]
elementToString (EComment str) = unlines ['#' : str] elementToString (EComment str) = ['#' : str]
elementToString (ECard card) = cardToString card elementToString (ECard card) = cardToString card
cardToString :: Card -> String cardToString :: Card -> [String]
cardToString Card{sides=s, tier=t, lastChecked=lc, offset=o} = cardToString Card{sides=s, tier=t, lastChecked=lc, offset=o}
let info = ":: {\"level\": " ++ (show $ fromEnum t) ++ | t == minBound =
", \"last_checked\": " ++ formatTime defaultTimeLocale "%s" lc ++ let info = ":: {\"level\": " ++ (show $ fromEnum t) ++
", \"delay\": " ++ (show $ nomToInteger o) ++ ", \"last_checked\": " ++ formatTime defaultTimeLocale "%s" lc ++
"}" "}"
in unlines $ info : intersperse "::" s in info : intersperse "::" s
| otherwise =
let info = ":: {\"level\": " ++ (show $ fromEnum t) ++
", \"last_checked\": " ++ formatTime defaultTimeLocale "%s" lc ++
", \"delay\": " ++ (show $ nomToInteger o) ++
"}"
in info : intersperse "::" s
{- {-
- Parsing - Parsing