summary refs log tree commit diff
path: root/bin/hilex/mdoc.l
diff options
context:
space:
mode:
authorJune McEnroe <june@causal.agency>2020-12-28 22:58:29 -0500
committerJune McEnroe <june@causal.agency>2020-12-28 22:58:29 -0500
commitcd66dac230ad3416449c126fff42cf71625d6db3 (patch)
tree9ee363cdc4837f6b8ae40b1bb95b015360e664a3 /bin/hilex/mdoc.l
parentAdd mdoc lexer (diff)
downloadsrc-cd66dac230ad3416449c126fff42cf71625d6db3.tar.gz
src-cd66dac230ad3416449c126fff42cf71625d6db3.zip
Generate Tag tokens for mdoc headings
Diffstat (limited to '')
-rw-r--r--bin/hilex/mdoc.l16
1 files changed, 15 insertions, 1 deletions
diff --git a/bin/hilex/mdoc.l b/bin/hilex/mdoc.l
index 50e2f94f..e0911628 100644
--- a/bin/hilex/mdoc.l
+++ b/bin/hilex/mdoc.l
@@ -21,7 +21,7 @@
 #include "hilex.h"
 %}
 
-%s MacroLine
+%s MacroLine Heading
 
 %%
 
@@ -38,6 +38,11 @@
 		return Normal;
 	}
 
+	S[hs] {
+		BEGIN(Heading);
+		return Keyword;
+	}
+
 	%[ABCDIJNOPQRTUV]|A[cdnopqrt]|B[cdfkloqtx]|Br[coq]|Bsx|C[dm]|D[1bcdloqtvx] |
 	E[cdfklmnorsvx]|F[acdlnortx]|Hf|I[cnt]|L[bikp]|M[st]|N[dmosx]|O[copstx] |
 	P[acfopq]|Q[cloq]|R[esv]|S[chmoqstxy]|T[an]|U[dx]|V[at]|X[cor] {
@@ -47,6 +52,15 @@
 	"\""([^""]|"\\\"")*"\"" { return String; }
 }
 
+<Heading>{
+	"\n" {
+		BEGIN(0);
+		return Normal;
+	}
+
+	[^[:space:]].* { return Tag; }
+}
+
 "\\"(.|"("..|"["[^]]*"]") { return String; }
 
 [[:blank:]]+|[^.\n""\\[:space:]]+|.|\n { return Normal; }