diff --git a/src/core/file_buffer.odin b/src/core/file_buffer.odin index f181612..40bd6db 100644 --- a/src/core/file_buffer.odin +++ b/src/core/file_buffer.odin @@ -799,73 +799,6 @@ color_character :: proc(buffer: ^FileBuffer, start: Cursor, end: Cursor, palette } } -color_buffer :: proc(buffer: ^FileBuffer) { - start_it := new_file_buffer_iter(buffer); - it := new_file_buffer_iter(buffer); - - for character in iterate_file_buffer(&it) { - if it.cursor.line > it.buffer.glyph_buffer_height && (it.cursor.line - it.buffer.top_line) > it.buffer.glyph_buffer_height { - break; - } - - if character == '/' { - start_it = it; - // need to go back one character because `it` is on the next character - iterate_file_buffer_reverse(&start_it); - - character, _, succ := iterate_file_buffer(&it); - if !succ { break; } - - if character == '/' { - iterate_file_buffer_until(&it, until_line_break); - color_character(buffer, start_it.cursor, it.cursor, .Foreground4); - } else if character == '*' { - // TODO: block comments - } - } else if character == '\'' { - start_it = it; - // need to go back one character because `it` is on the next character - iterate_file_buffer_reverse(&start_it); - - // jump into the quoted text - iterate_file_buffer_until(&it, until_single_quote); - color_character(buffer, start_it.cursor, it.cursor, .Yellow); - - iterate_file_buffer(&it); - } else if character == '"' { - start_it = it; - // need to go back one character because `it` is on the next character - iterate_file_buffer_reverse(&start_it); - - // jump into the quoted text - iterate_file_buffer_until(&it, until_double_quote); - color_character(buffer, start_it.cursor, it.cursor, .Yellow); - - iterate_file_buffer(&it); - } else if (character >= 'a' && character <= 'z') || (character >= 'A' && character <= 'Z') || character == '_' { - start_it = it; - // need to go back one character because `it` is on the next character - iterate_file_buffer_reverse(&start_it); - it = start_it; - - iterate_file_buffer_until(&it, until_end_of_word); - - // TODO: color keywords - if is_keyword(start_it, it) { - color_character(buffer, start_it.cursor, it.cursor, .Blue); - } else if character, _, cond := iterate_peek(&it, iterate_file_buffer); cond { - if character == '(' { - color_character(buffer, start_it.cursor, it.cursor, .Green); - } - } else { - break; - } - - iterate_file_buffer(&it); - } - } -} - update_glyph_buffer :: proc(buffer: ^FileBuffer) { for &glyph in buffer.glyph_buffer { glyph = Glyph{};