From 36e95f25682b0740928765e758a74c7f85f5a362 Mon Sep 17 00:00:00 2001 From: "N0\\A" Date: Mon, 13 Jul 2026 14:26:07 +0200 Subject: [PATCH] BreakLine token --- src/parser.odin | 38 +++++++++++++++++--------------------- 1 file changed, 17 insertions(+), 21 deletions(-) diff --git a/src/parser.odin b/src/parser.odin index 13ea937..1713e05 100644 --- a/src/parser.odin +++ b/src/parser.odin @@ -53,33 +53,29 @@ parse_header :: proc(line: string) -> (int, string) { return lvl, line[lvl + 1:] } -parse :: proc(lines: []string, allocator := context.allocator) -> string { - builder := strings.builder_make(allocator) - strings.write_string(&builder, "

") +parse :: proc(lines: []string, allocator := context.allocator) -> [dynamic]Token { + for untrimmed_line in lines { + line := strings.trim_space(untrimmed_line) - for line in lines { - trimmed := strings.trim_space(line) - - if len(trimmed) == 0 { - strings.write_string(&builder, "
\n") + if len(line) == 0 { + append(&token_tree, Token{TokenType.BreakLine, TokenMode.Start, nil}) continue } - lvl, text := parse_header(trimmed) - is_header := lvl > 0 + // lvl, text := parse_header(trimmed) + // is_header := lvl > 0 - if is_header { - fmt.sbprintf(&builder, "", lvl) - strings.write_string(&builder, text) - fmt.sbprintf(&builder, "", lvl) - } else { - strings.write_string(&builder, text) - strings.write_string(&builder, "
") - } + // if is_header { + // fmt.sbprintf(&builder, "", lvl) + // strings.write_string(&builder, text) + // fmt.sbprintf(&builder, "", lvl) + // } else { + // strings.write_string(&builder, text) + // strings.write_string(&builder, "
") + // } - strings.write_string(&builder, "\n") + // strings.write_string(&builder, "\n") } - strings.write_string(&builder, "

") - return strings.to_string(builder) + return token_tree }