diff options
Diffstat (limited to 'src/lexer')
| -rw-r--r-- | src/lexer/Lexer.zig | 23 | ||||
| -rw-r--r-- | src/lexer/Token.zig | 7 |
2 files changed, 30 insertions, 0 deletions
diff --git a/src/lexer/Lexer.zig b/src/lexer/Lexer.zig index cdf1bd8..983aa23 100644 --- a/src/lexer/Lexer.zig +++ b/src/lexer/Lexer.zig @@ -223,6 +223,29 @@ test "lexer common" { try std.testing.expect(l.next() == null); } +test "lexer image" { + var l = try init(""); + + try doTest(&l, .image, "!"); + try doTest(&l, .link, "["); + try doTest(&l, .literal, "alt"); + try doTest(&l, .link, "]("); + try doTest(&l, .literal, "src"); + try doTest(&l, .link, ")"); + + try std.testing.expect(l.next() == null); + + l = try init(""); + + try doTest(&l, .image, "!"); + try doTest(&l, .link, "["); + try doTest(&l, .link, "]("); + try doTest(&l, .literal, "src"); + try doTest(&l, .link, ")"); + + try std.testing.expect(l.next() == null); +} + test "lexer multiline" { var l = try init( \\# Title diff --git a/src/lexer/Token.zig b/src/lexer/Token.zig index 18b2d10..bd2a07b 100644 --- a/src/lexer/Token.zig +++ b/src/lexer/Token.zig @@ -27,6 +27,13 @@ pub const Kind = enum { else => false, }; } + + pub fn isPar(self: @This()) bool { + return switch (self) { + .literal, .link, .code, .math, .bold, .italic, .ref => true, + else => false, + }; + } }; kind: Kind, |
