refactor lexer #2

Merged
primrose merged 13 commits from primrose/haddock2:leana8959 into dev 2025-09-26 14:44:47 +00:00
2 changed files with 7 additions and 7 deletions
Showing only changes of commit 6ec47dad04 - Show all commits

View file

@ -51,8 +51,8 @@ data Token
| ParenClose
| BracketOpen
| BracketClose
| MathsParenOpen
| MathsParenClose
| MathInlineOpen
| MathInlineClose
| MathsBracketOpen
| MathsBracketClose
| NumericEntity Int
@ -86,7 +86,7 @@ lexText = go
choice $
Parsec.try
<$> [ mathsBracket
, mathsParens
, mathInline
, escape -- maths go before escape to avoid mismatch
, headers
, newlineToken
@ -245,8 +245,8 @@ labeledLink = do
mathsBracket :: Lexer
mathsBracket = delimited "\\[" "\\]" MathsBracketOpen MathsBracketClose
mathsParens :: Lexer
mathsParens = delimited "\\(" "\\)" MathsParenOpen MathsParenClose
mathInline :: Lexer
mathInline = delimited "\\(" "\\)" MathInlineOpen MathInlineClose

❤️

❤️
birdTrack :: Lexer
birdTrack = delimitedNoTrailing ">> " eol BirdTrack

View file

@ -98,9 +98,9 @@ maths = do
, (1, 12, MathsBracketClose)
]
"\\(other maths\\)"
`shouldLexTo` [ (1, 1, MathsParenOpen)
`shouldLexTo` [ (1, 1, MathInlineOpen)
, (1, 3, Token "other maths")
, (1, 14, MathsParenClose)
, (1, 14, MathInlineClose)
]
escaping :: Expectation