summaryrefslogtreecommitdiff
path: root/src/Transfer/Syntax/ResolveLayout.hs
diff options
context:
space:
mode:
Diffstat (limited to 'src/Transfer/Syntax/ResolveLayout.hs')
-rw-r--r--src/Transfer/Syntax/ResolveLayout.hs11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/Transfer/Syntax/ResolveLayout.hs b/src/Transfer/Syntax/ResolveLayout.hs
index 02c730585..9d7ab607a 100644
--- a/src/Transfer/Syntax/ResolveLayout.hs
+++ b/src/Transfer/Syntax/ResolveLayout.hs
@@ -9,11 +9,18 @@ prTokens :: [Token] -> String
prTokens = prTokens_ 1 1
where
prTokens_ _ _ [] = ""
- prTokens_ l c (PT p t:ts) =
+ prTokens_ l c (t@(PT (Pn _ l' c') _):ts) =
+ replicate (l'-l) '\n'
+ ++ replicate (if l' == l then c'-c else c'-1) ' '
+ ++ s ++ prTokens_ l' (c'+length s) ts
+ where s = prToken t
-- prTokens_ l c (Err p:ts) =
layout :: String -> String
-layout s = prTokens . resolveLayout True . tokens
+layout s = prTokens ts'
+-- ++ "\n" ++ show ts'
+ where ts = tokens s
+ ts' = resolveLayout True ts
main :: IO ()
main = do args <- getArgs