@@ -55,7 +55,9 @@ toTable fs = map (map toBin)
55-- | Binary operator
55-- | Binary operator
56binary :: String -> (FC -> PTerm -> PTerm -> PTerm) -> Assoc -> Operator IdrisParser PTerm
56binary :: String -> (FC -> PTerm -> PTerm -> PTerm) -> Assoc -> Operator IdrisParser PTerm
57binary name f = Infix (do fc <- getFC
57binary name f = Infix (do fc <- getFC
58+ indentPropHolds gtProp
58 reservedOp name
59 reservedOp name
60+ indentPropHolds gtProp
59 doc <- option "" (docComment '^')
61 doc <- option "" (docComment '^')
60 return (f fc))
62 return (f fc))
@@ -63,12 +65,15 @@ binary name f = Infix (do fc <- getFC
63prefix :: String -> (FC -> PTerm -> PTerm) -> Operator IdrisParser PTerm
65prefix :: String -> (FC -> PTerm -> PTerm) -> Operator IdrisParser PTerm
64prefix name f = Prefix (do reservedOp name
66prefix name f = Prefix (do reservedOp name
65 fc <- getFC
67 fc <- getFC
68+ indentPropHolds gtProp
66 return (f fc))
69 return (f fc))
68-- | Backtick operator
71-- | Backtick operator
69backtick :: Operator IdrisParser PTerm
72backtick :: Operator IdrisParser PTerm
73+backtick = Infix (do indentPropHolds gtProp
70−backtick = Infix (do lchar '`'; n <- fnName
74+ lchar '`'; n <- fnName
76+ indentPropHolds gtProp
72 fc <- getFC
77 fc <- getFC
73 return (\x y -> PApp fc (PRef fc n) [pexp x, pexp y])) AssocNone
78 return (\x y -> PApp fc (PRef fc n) [pexp x, pexp y])) AssocNone