Added anchors

This commit is contained in:
Igor Ranieri 2025-09-21 21:20:35 +02:00
parent 7c4603528d
commit 82e1c76fe7
2 changed files with 28 additions and 0 deletions

View file

@ -83,6 +83,7 @@ lexText = go
, link , link
, labeledLink , labeledLink
, modules , modules
, anchors
, textElement , textElement
, quotes , quotes
, birdTrack , birdTrack
@ -161,6 +162,24 @@ header5 = delimitedMaybe (void $ "===== ") eol (Header Five) Nothing
header6 :: Lexer header6 :: Lexer
header6 = delimitedMaybe (void $ "====== ") eol (Header Six) Nothing header6 = delimitedMaybe (void $ "====== ") eol (Header Six) Nothing
-- #anchors#
anchors :: Lexer
anchors = do
pos <- getPosition
void $ try anchor'
pos' <- getPosition
txt <- anyUntil anchor'
pos'' <- getPosition
void $ try anchor'
pure
[ (pos, Anchor)
, (pos', Token txt)
, (pos'', Anchor)
]
where
anchor' = (string "#" <|> string "\\#")
-- "Module.Name" -- "Module.Name"
-- "Module.Name#anchor" -- "Module.Name#anchor"
-- "Module.Name#anchor" -- "Module.Name#anchor"

View file

@ -19,6 +19,7 @@ main = hspec $ do
it "handles unicode" unicode it "handles unicode" unicode
it "escapes" escaping it "escapes" escaping
it "maths" maths it "maths" maths
it "anchors" anchors
it "space chars" space it "space chars" space
it "bare string" someString it "bare string" someString
it "emphasis" emphatic it "emphasis" emphatic
@ -81,6 +82,14 @@ labeledLink =
, (1, 35, LabeledLinkClose) , (1, 35, LabeledLinkClose)
] ]
anchors :: Expectation
anchors =
"#myAnchor#"
`shouldLexTo` [ (1, 1, Anchor)
, (1, 2, Token "myAnchor")
, (1, 10, Anchor)
]
maths :: IO () maths :: IO ()
maths = do maths = do
"\\[some math\\]" "\\[some math\\]"