From 7ed6d8aaa0b175efc7dd6a4ee43cb20c9168a09d Mon Sep 17 00:00:00 2001 From: Anhgelus Morhtuuzh Date: Thu, 16 Apr 2026 15:33:29 +0200 Subject: feat(lexer): supports all single lexem --- src/lexer/lexer.zig | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'src/lexer') 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; -- cgit v1.2.3