refactor lexer #2

Merged
primrose merged 13 commits from primrose/haddock2:leana8959 into dev 2025-09-26 14:44:47 +00:00
Showing only changes of commit 368e5bc9a0 - Show all commits

View file

@ -152,6 +152,9 @@ delimitedSymmetric s t1 t2 = delimited s s t1 t2
eol :: Parser ()
eol = void "\n" <|> void "\r\n" <|> Parsec.eof
anchorHash :: Parser Text
anchorHash = "#" <|> try "\\#"
header1 :: Lexer
header1 = delimitedNoTrailing "= " eol (Header One)
@ -172,15 +175,10 @@ header6 = delimitedNoTrailing "====== " eol (Header Six)
-- #anchors#
anchors :: Lexer
anchors = do
pos <- getPosition
void $ try anchor'
txt <- anyUntil anchor'
void $ try anchor'
pure [(pos, Anchor txt)]
where
anchor' = (string "#" <|> string "\\#")
anchors =
tokenise
[ between anchorHash anchorHash (Anchor <$> anyUntil anchorHash)
]
-- "Module.Name"
-- "Module.Name#anchor"