summary refs log tree commit diff
path: root/src/terminal.rs
AgeCommit message (Collapse)Author
14 hoursthe hjkl commands are partly implementedIrene Knapp
it's now possible to move the cursor around the screen, but it doesn't interact with the buffer in any way. in particular it isn't forced to stay within the buffer, it just moves wherever. Force-Push: yes Change-Id: If56d044b97c761a2070ffc2cc3f541b35ef9965f
15 hoursadd a loop that reads a character of user inputIrene Knapp
(right now it exits after the first time, doing nothing) Force-Push: yes Change-Id: I89f8d3d298e6a42e373e536121e6b434e30ef66f
16 hoursimplement abstractions Terminal and BufferIrene Knapp
Terminal encapsulates most of the already-existing logic for drawing things Buffer corresponds directly to the user-facing concept of a buffer. it has facilities for creating a new empty one; for loading itself from a file; and for scanning its contents to compute the offsets to the start of each line. at the moment, the assumption is that buffers are always entirely in-memory, but this will not always be true, so significant attention has been paid to aysnc behavior. there's locks in a few places which may or may not turn out to be how it ultimately works, but they seem like a credible first attempt. the draw() routine is the heart of what exists so-far, doing all the really interesting stuff. Force-Push: yes Change-Id: Ifddc5debb12628233113c0bd6db3ea8cf10e6a5a