"[|" { token ITopenExpQuote }
"[e|" { token ITopenExpQuote }
"[p|" { token ITopenPatQuote }
- "[d|" { token ITopenDecQuote }
+ "[d|" { layout_token ITopenDecQuote }
"[t|" { token ITopenTypQuote }
"|]" { token ITcloseQuote }
}
special :: Token__ -> Action
special tok loc end _buf len = return (T loc end tok)
-token :: Token__ -> Action
+token, layout_token :: Token__ -> Action
token t loc end buf len = return (T loc end t)
+layout_token t loc end buf len = pushLexState layout >> return (T loc end t)
idtoken :: (StringBuffer -> Int -> Token__) -> Action
idtoken f loc end buf len = return (T loc end $! (f buf len))
maybe_layout ITof = pushLexState layout
maybe_layout ITlet = pushLexState layout
maybe_layout ITwhere = pushLexState layout
+maybe_layout ITrec = pushLexState layout
maybe_layout _ = return ()
-- Pushing a new implicit layout context. If the indentation of the