Odin rewrite #1

Manually merged
N0VA merged 7 commits from odin-rewrite into main 2026-07-13 15:03:05 +02:00
Showing only changes of commit 36e95f2568 - Show all commits
+17 -21
View File
@@ -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, "<p>")
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, "<br>\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, "<h%d>", lvl)
strings.write_string(&builder, text)
fmt.sbprintf(&builder, "</h%d>", lvl)
} else {
strings.write_string(&builder, text)
strings.write_string(&builder, "<br>")
}
// if is_header {
// fmt.sbprintf(&builder, "<h%d>", lvl)
// strings.write_string(&builder, text)
// fmt.sbprintf(&builder, "</h%d>", lvl)
// } else {
// strings.write_string(&builder, text)
// strings.write_string(&builder, "<br>")
// }
strings.write_string(&builder, "\n")
// strings.write_string(&builder, "\n")
}
strings.write_string(&builder, "</p>")
return strings.to_string(builder)
return token_tree
}