Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | 7795 | Kartik K. Agaram | 2021-02-23 | 1 | -1/+1 |
| | |||||
* | 7793 - baremetal/shell: menu | Kartik K. Agaram | 2021-02-22 | 1 | -3/+3 |
| | |||||
* | 7791 | Kartik K. Agaram | 2021-02-22 | 1 | -0/+22 |
| | | | | Reorganize keyboard handling. | ||||
* | 7787 - baremetal/shell: moving cursor into trace | Kartik K. Agaram | 2021-02-22 | 1 | -0/+7 |
| | |||||
* | 7780 | Kartik K. Agaram | 2021-02-21 | 1 | -0/+52 |
| | | | | | | Start trimming whitespace from the input. It's probably a bad idea to rebuild all our primitives for gap buffers. | ||||
* | 7770 - baremetal/shell: scanning through gap buffer | Kartik K. Agaram | 2021-02-21 | 1 | -1/+162 |
| | |||||
* | 7769 | Kartik K. Agaram | 2021-02-21 | 1 | -1/+0 |
| | |||||
* | 7763 - baremetal/shell: newline | Kartik K. Agaram | 2021-02-20 | 1 | -11/+23 |
| | |||||
* | 7761 - baremetal/shell: read input from keyboard | Kartik K. Agaram | 2021-02-20 | 1 | -8/+8 |
| | |||||
* | 7709 | Kartik K. Agaram | 2021-02-09 | 1 | -8/+12 |
| | | | | | | | Fix the jarringness in the previous commit. Gap buffers now always occupy the same width on screen regardless of where their cursor is. The price: we sometimes have more whitespace between words. But that is perhaps a good thing. | ||||
* | 7708 - baremetal/shell: word data structure | Kartik K. Agaram | 2021-02-09 | 1 | -1/+88 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Not everything here is tested, but enough that I'm starting to feel confident. We see our first divergence with apps/tile. In apps/tile we render everything, then go back and figure out where to position the cursor. This relies on some low-level smarts and is also quite klunky and complex. In baremetal/shell I plan to do something simpler: maintain a tree of objects where each level knows which sub-object under it has the cursor. Now I can pass in the cursor object to each object, and if it detects that it has the cursor it can recursively figure out which sub-object has the cursor. The bottom-most objects (grapheme stacks) draw the cursor as they render themselves. Single-pass algorithm, draw the cursor as you render, no low-level smarts needed. But there's a divergence. What in apps/tile used to look like this, with a cursor ␣ at the end of the word 'abc': abc␣def ..now looks like this: abc␣ def ..with an extra space. This could cause some jarring 'dancing' as you move the cursor through a list of words. | ||||
* | 7707 | Kartik K. Agaram | 2021-02-09 | 1 | -0/+14 |
| | |||||
* | 7706 | Kartik K. Agaram | 2021-02-09 | 1 | -9/+6 |
| | |||||
* | 7704 | Kartik K. Agaram | 2021-02-09 | 1 | -6/+6 |
| | |||||
* | 7703 | Kartik K. Agaram | 2021-02-09 | 1 | -0/+3 |
| | |||||
* | 7702 | Kartik K. Agaram | 2021-02-09 | 1 | -2/+2 |
| | |||||
* | 7699 | Kartik K. Agaram | 2021-02-08 | 1 | -0/+423 |
Gap buffer with a more testable interface for rendering to screen. |