- Changed cur_l_num to cur_line_num
- Testing - Updated the test for moving right
- Testing - Updated the test for letter insertion
- Testing - Updated the test for moving left
- Testing - Added test for screen's go_to_first_line function
- Testing - Updated line & screen init tests
- Save confirmation window - aborting exit with ^C
- Save confirmation window functionality
- Save confirmation window showing up properly on quit
- Started implementing save confirmation window
- disable bottom info bar
- make space for confirmation window
- Removed an unnecessary line being added to every opened file
- Fixed line's visual cursor not incrementing on tabs
- Refactored file_save function
- Refactored render_line function
- Implemented proper file saving
- Fixed moving right at the edge when bottom line is a wrap (Issue #9)
- Fixed jumping over a line when moving down with top line wrapped (Issue #8)
- Fixed s->row becoming negative when moving the render up with top line wrapped
- Fixed rendering with multiple wrapped lines
- Fixed adjusting current wrap number after moving up/down
- Moving to the first line after reading a file
- Started implementing file handling
- Opening and closing files
- Getting file contents while opening it
- Implemented storing and moving to a bigger column when moving up
- Fixed stored column on moving down
- Implemented storing and moving to a bigger column when moving down
- Fixed wrapping lines by inserting chars in the middle (Issue #5)
- Fixed blinking cursor sometimes showing up in windows other than contents
- Added visual_cursor to the Line struct
- Fixed cursor after moving lines down when the top line is wrapped
- Fixed line wrapping in release mode (Issue #4)
- Added bottom bar with useful editing information
- Added top bar with basic nano-like information
- Changed most counter variables to uint
- Added uint typedef to all header files
- Changed comment style on screen's struct fields to be more concise
- Fixed pressing enter at the last visual column in debug mode
- Implemented proper wrap handling for movement up
- Implemented proper wrap handling for movement down
- Implemented properly rendering line numbers with wraps
- Fixed right movement to properly handle wrapped lines
- Fixed left movement to properly handle wrapped lines
- Added wrap field to the line struct
- Attempts to fix movement with wrapped lines
- Implemented moving right at the end (down) through the wraps of the wrapped line
- Implemented moving left at the beginning (up) through the wraps of the wrapped line
- Changed move right handling to consider wrapping lines
- Added wraps field to the line struct
- Added cols field to the screen struct
- Fixed visual cursor position when wrapping lines
- Started handling line wraps
- When moving up/down onto a tab, cursor now ends up before it
- Implemented moving lines up using backspace at top left corner
- Widened line numbers bar to 5 characters (4 digits + space)
- Added a field in screen containing the number of visual rows
- Synced with ncurses's LINES but independent
- added testing field cur_l_num to test_split_line
- Switched screen_new_line_under and screen_new_line_above to cur_l_num instead of s->row
- Regarding issue #1
- Implemented moving up and down with more lines using right/left arrow
- Regarding issue #1
- Implemented moving down with more lines (down arrow key)
- Regarding issue #1
- Implemented moving up with more lines
- Regarding issue #1
- Started implementing handling of number of lines exceeding the window
- Enter at the bottom properly adds a new line and moves down the render
- Added tests for merging the line
- Added tests for splitting the line
- Added tests for the backspace key
- Added tests for the tab key
- Added tests for the enter key
- Added tests for moving down
- Added tests for moving up
- Added tests for moving right
- Added tests for moving left
- Moved entire editor's logic into editor library
- Added tests for letter insertion
- Added tests for initialization - test_line_init
- Added tests for line management - test_new_line_under & test_new_line_above
- Fixed splitting the line when visual cursor was at the start of the gap
- Fixed visual end when merging lines containing tabs
- Added unit testing - logic_test - general - initialization - screen_init
- Separated screen_ init and screen_init_ncurses
- Moved screen into a separate library
- Fixed visual_end when splitting line containing multiple tabs
- Added separate function inserting a line above to improve performance
- Fixed debug render cursor char according to the gap
- Refactored some input handling functions to have more useful names:
- handle_key_right => handle_move_right
- Added a bar separating debug info from content
- Moved debug mode information into a separate window
- Refactored debug mode special characters rendering into a switch statement
- Added proper resize handling
- Igoring unhandled special characters
- Rendering - added line numbers
- Fixed cursor movement when merging lines by backspace (tab-related)
- Added color to tabs in debug mode
- Added TASKS.md