Compare commits

..

No commits in common. "46a0466ff4f80af01023205420edb80902fb32df" and "001cf5fa576556c4fb01a4451a1a029dc86fd85a" have entirely different histories.

7 changed files with 99 additions and 91 deletions

View File

@ -10,14 +10,12 @@ PRIME DIRECTIVE: SIMPLIFY
[] Look into removing *keyboard* buffer - seems like over long sessions, that could get out of hand [] Look into removing *keyboard* buffer - seems like over long sessions, that could get out of hand
- good first step: print out the memory footprint of this buffer when we exit 4coder, just so we can see what it's taking up - good first step: print out the memory footprint of this buffer when we exit 4coder, just so we can see what it's taking up
[] multi cursor editing [] multi cursor editing
[] matching curly brace highlight
[] yeet sheet
## Investigations ## Investigations
[] What are fade ranges? Do we need them? [] What are fade ranges? Do we need them?
# DONE # DONE
[x] matching curly brace highlight
[x] when buffers have the same filename, a short name is appended. I'd prefer to append the path relative to the project, and if the file is outside the project, append the full path. [x] when buffers have the same filename, a short name is appended. I'd prefer to append the path relative to the project, and if the file is outside the project, append the full path.
[x] reload dirty files if there are no local edits to them automatically [x] reload dirty files if there are no local edits to them automatically
[x] remove audio (search @Remove) [x] remove audio (search @Remove)

View File

@ -19,11 +19,13 @@ string_from_file_name(Editing_File_Name *name){
internal void internal void
file_edit_positions_set_cursor(File_Edit_Positions *edit_pos, i64 pos){ file_edit_positions_set_cursor(File_Edit_Positions *edit_pos, i64 pos){
edit_pos->cursor_pos = pos; edit_pos->cursor_pos = pos;
edit_pos->last_set_type = EditPos_CursorSet;
} }
internal void internal void
file_edit_positions_set_scroll(File_Edit_Positions *edit_pos, Buffer_Scroll scroll){ file_edit_positions_set_scroll(File_Edit_Positions *edit_pos, Buffer_Scroll scroll){
edit_pos->scroll = scroll; edit_pos->scroll = scroll;
edit_pos->last_set_type = EditPos_ScrollSet;
} }
internal void internal void

View File

@ -12,7 +12,14 @@
#if !defined(FRED_FILE_H) #if !defined(FRED_FILE_H)
#define FRED_FILE_H #define FRED_FILE_H
typedef i32 Edit_Pos_Set_Type;
enum{
EditPos_None,
EditPos_CursorSet,
EditPos_ScrollSet
};
struct File_Edit_Positions{ struct File_Edit_Positions{
Edit_Pos_Set_Type last_set_type;
Buffer_Scroll scroll; Buffer_Scroll scroll;
i64 cursor_pos; i64 cursor_pos;
}; };

View File

@ -450,6 +450,7 @@ view_set_cursor_and_scroll(Thread_Context *tctx, Models *models, View *view, i64
Vec2_f32 p = view_relative_xy_of_pos(tctx, models, view, cursor.line, pos); Vec2_f32 p = view_relative_xy_of_pos(tctx, models, view, cursor.line, pos);
view->preferred_x = p.x; view->preferred_x = p.x;
file_edit_positions_set_scroll(&edit_pos, scroll); file_edit_positions_set_scroll(&edit_pos, scroll);
edit_pos.last_set_type = EditPos_None;
view_set_edit_pos(view, edit_pos); view_set_edit_pos(view, edit_pos);
} }

View File

@ -20,7 +20,7 @@ use_scope_highlight = true;
use_paren_helper = true; use_paren_helper = true;
use_comment_keywords = true; use_comment_keywords = true;
lister_whole_word_backspace_when_modified = true; lister_whole_word_backspace_when_modified = true;
show_line_number_margins = true; show_line_number_margins = false;
enable_output_wrapping = false; enable_output_wrapping = false;
enable_undo_fade_out = false; enable_undo_fade_out = false;

View File

@ -32,7 +32,7 @@ defcolor_highlight_junk = 0xFF3A0000;
defcolor_highlight_white = 0xFF003A3A; defcolor_highlight_white = 0xFF003A3A;
defcolor_paste = 0xFFDDEE00; defcolor_paste = 0xFFDDEE00;
defcolor_undo = 0xFF00DDEE; defcolor_undo = 0xFF00DDEE;
defcolor_back_cycle = { 0xff282828, 0xff323232, 0xff3C3C3C, defcolor_back, }; defcolor_back_cycle = { defcolor_back, defcolor_back, defcolor_back, defcolor_back, defcolor_back, defcolor_back, defcolor_back, defcolor_back, defcolor_back, defcolor_back, defcolor_back};
defcolor_text_cycle = { 0xFFA00000, 0xFF00A000, 0xFF0030B0, 0xFFA0A000 }; defcolor_text_cycle = { 0xFFA00000, 0xFF00A000, 0xFF0030B0, 0xFFA0A000 };
defcolor_line_numbers_back = defcolor_back; defcolor_line_numbers_back = defcolor_back;
defcolor_line_numbers_text = 0xFF404040; defcolor_line_numbers_text = 0xFF404040;