Commit 04a12a3d authored by Ian Lynagh's avatar Ian Lynagh

Add another GHC layout rule relaxation to RelaxedLayout

parent 1e70cb6e
......@@ -211,7 +211,7 @@ $tab+ { warn Opt_WarnTabs (text "Warning: Tab character") }
-- context if the curly brace is missing.
-- Careful! This stuff is quite delicate.
<layout, layout_do> {
\{ / { notFollowedBy '-' } { pop_and open_brace }
\{ / { notFollowedBy '-' } { hopefully_open_brace }
-- we might encounter {-# here, but {- has been handled already
\n ;
^\# (line)? { begin line_prag1 }
......@@ -757,6 +757,19 @@ pop :: Action
pop _span _buf _len = do _ <- popLexState
lexToken
hopefully_open_brace :: Action
hopefully_open_brace span buf len
= do relaxed <- extension relaxedLayout
ctx <- getContext
(AI l _) <- getInput
let offset = srcLocCol l
isOK = relaxed ||
case ctx of
Layout prev_off : _ -> prev_off < offset
_ -> True
if isOK then pop_and open_brace span buf len
else failSpanMsgP span (text "Missing block")
pop_and :: Action -> Action
pop_and act span buf len = do _ <- popLexState
act span buf len
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment