aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnhgelus Morhtuuzh <william@herges.fr>2026-04-16 15:33:29 +0200
committerAnhgelus Morhtuuzh <william@herges.fr>2026-04-16 15:33:29 +0200
commit7ed6d8aaa0b175efc7dd6a4ee43cb20c9168a09d (patch)
tree167b362ef3ea8bf8c9781fe5795389216ec55055
parentf7316be085f149aba73a788b9ed5a0de197b7fce (diff)
feat(lexer): supports all single lexem
-rw-r--r--src/lexer/lexer.zig7
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;