aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2024-01-07Make undo a bit less weird.Rose Hogenson1-17/+22
2024-01-07Support pasting text into the editor.Rose Hogenson2-108/+171
The editor only repaints when there is a small delay in the input, which only happens when the user is typing. Otherwise the bytes go straight into the buffer.
2024-01-07Avoid an extra copy.Rose Hogenson1-11/+7
2024-01-07Add a README.Rose Hogenson1-0/+8
That's how you get the github stars
2024-01-07Implement redo.Rose Hogenson2-49/+86
Is this how redo works?
2024-01-06Implement undo.Rose Hogenson2-12/+46
2024-01-06Use a b-tree for the rope.Rose Hogenson3-160/+352
Now it's balanced :D
2024-01-06Fix some bugs with long lines.Rose Hogenson2-41/+8
2024-01-06Implement backspace.Rose Hogenson3-5/+23
2024-01-06Fix input issues when scrolling quickly.Rose Hogenson2-17/+31
Unfortunately the user input comes on the same channel as the terminal status report from 6n, so there's a possibility of getting confused here. As long as the program is relatively efficient, it shouldn't be observable.
2024-01-06Support inserting newline.Rose Hogenson2-37/+91
2024-01-06Allow scrolling up and down.Rose Hogenson2-13/+23
2024-01-06Truncate long lines.Rose Hogenson2-22/+58
2024-01-06Wrap the cursor around at the ends of a line.Rose Hogenson1-5/+12
2024-01-06Use more idiomatic error handling.Rose Hogenson3-178/+82
2024-01-06Fix unicode handling.Rose Hogenson2-68/+212
It's hard to say if this counts as "fixed," but I think it's at least better than GNU nano.
2024-01-05Clean up the rope code.Rose Hogenson2-216/+139
2023-12-29Allow saving the file with CTRL-S.Rose Hogenson3-1/+29
2023-12-29Support inserting text.Rose Hogenson3-6/+71
2023-12-29Keep track of cursor position.Rose Hogenson2-31/+172
2023-12-29Allow moving the cursor with the arrow keys.Rose Hogenson2-20/+82
2023-12-27Wait for ctrl-q to exit.Rose Hogenson1-9/+26
2023-12-27Add some TODOs for important enhancements.Rose Hogenson1-0/+2
2023-12-27Wait for keypress before exiting.Rose Hogenson1-2/+17
2023-12-27Handle error from putting terminal in raw mode.Rose Hogenson1-1/+6
2023-12-27Print each line separately.Rose Hogenson2-28/+20
Now that the terminal is in raw mode, we need to also include \r after each line.
2023-12-27Put the terminal in raw mode.Rose Hogenson2-11/+56
2023-12-27Rename tiocgwinsz.rs to term.rs.Rose Hogenson2-2/+2
I will be putting more functionality in this file.
2023-12-27Use stdout to get terminal size.Rose Hogenson1-1/+1
2023-12-27Print the first n lines of the file.Rose Hogenson2-6/+85
2023-12-27Remove unnecessary length field.Rose Hogenson1-11/+9
2023-12-27Fix a bug in how unicode is printed.Rose Hogenson2-23/+28
Technically a single character can be split across multiple chunks, so we can just join all the chunks before printing. It's not the most efficient, but this is only for debugging.
2023-12-26Add function to get terminal size.Rose Hogenson4-10/+52
2023-12-26Add the basic rope.Rose Hogenson2-1/+116
2023-12-26Start text editor.Rose Hogenson4-0/+19