diff options
author | Joey Hess <joey@kitenet.net> | 2011-12-22 20:21:42 -0400 |
---|---|---|
committer | Joey Hess <joey@kitenet.net> | 2011-12-23 01:08:18 -0400 |
commit | db964e358f16d19e9a2e6124d6be8a9c87fdd88b (patch) | |
tree | 27617e53edb4540da5f25ae38f43ec7d3d9b63cf | |
parent | eb7ef6264ee57f69520960ae818ad0b94e5873c2 (diff) |
reorg
-rw-r--r-- | Utility/Format.hs | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/Utility/Format.hs b/Utility/Format.hs index 804dbff4c..d16708701 100644 --- a/Utility/Format.hs +++ b/Utility/Format.hs @@ -36,10 +36,6 @@ data Frag = Const String | Var String Padding - justification. -} type Padding = Int -empty :: Frag -> Bool -empty (Const "") = True -empty _ = False - {- Expands a Format using some variables, generating a formatted string. - This can be repeatedly called, efficiently. -} format :: Format -> M.Map String String -> String @@ -63,7 +59,7 @@ gen :: FormatString -> Format gen = filter (not . empty) . fuse [] . scan [] . decode_c where -- The Format is built up in reverse, for efficiency, - -- and can have adjacent Consts. Fusing it fixes both + -- and can have many adjacent Consts. Fusing it fixes both -- problems. fuse f [] = f fuse f (Const c1:Const c2:vs) = fuse f $ Const (c2++c1) : vs @@ -90,6 +86,9 @@ gen = filter (not . empty) . fuse [] . scan [] . decode_c novar v = "${" ++ reverse v foundvar f v p cs = scan (Var (reverse v) p : f) cs +empty :: Frag -> Bool +empty (Const "") = True +empty _ = False {- Decodes a C-style encoding, where \n is a newline, \NNN is an octal - encoded character, etc. |