diff options
| author | Anhgelus Morhtuuzh <william@herges.fr> | 2026-04-16 15:33:29 +0200 |
|---|---|---|
| committer | Anhgelus Morhtuuzh <william@herges.fr> | 2026-04-16 15:33:29 +0200 |
| commit | 7ed6d8aaa0b175efc7dd6a4ee43cb20c9168a09d (patch) | |
| tree | 167b362ef3ea8bf8c9781fe5795389216ec55055 /src/lexer/lexer.zig | |
| parent | f7316be085f149aba73a788b9ed5a0de197b7fce (diff) | |
feat(lexer): supports all single lexem
Diffstat (limited to 'src/lexer/lexer.zig')
| -rw-r--r-- | src/lexer/lexer.zig | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/lexer/lexer.zig b/src/lexer/lexer.zig index a15d2e0..034f134 100644 --- a/src/lexer/lexer.zig +++ b/src/lexer/lexer.zig @@ -76,8 +76,12 @@ pub const Lexer = struct { fn getCurrentKind(self: *Self, before: ?lexed.Kind, rune: []const u8, acc: []const u8) kindRes { if (self.force_lit) return .{ .kind = .literal }; - if (eql(u8, rune, ">")) return .{ .kind = .quote }; if (eql(u8, rune, "\n")) return .{ .kind = .delimiter }; + if (eql(u8, rune, "*")) return .{ .kind = .bold }; + if (eql(u8, rune, "_")) return .{ .kind = .italic }; + if (eql(u8, rune, ">")) return .{ .kind = .quote }; + if (eql(u8, rune, "-")) return .{ .kind = .list_unordored }; + if (eql(u8, rune, ".")) return .{ .kind = .list_ordored }; if (eql(u8, rune, "!")) return .{ .kind = .image }; if (eql(u8, rune, "<")) return .{ .kind = .ref }; if (is('#', 6, rune, acc)) return .{ .kind = .title }; @@ -96,7 +100,6 @@ fn is(v: u8, maxLen: usize, rune: []const u8, acc: []const u8) bool { } const links = &[_][]const u8{ "[", "](", ")" }; -const refs = &[_][]const u8{"<"}; fn isIn(ops: []const []const u8, rune: []const u8, p: []const u8, before: ?lexed.Kind, now: lexed.Kind) bool { var acc = p; |
