about summary refs log tree commit diff stats
Commit message (Collapse)AuthorAgeFilesLines
* 7736Kartik K. Agaram2021-02-131-22/+34
| | | | Game of Life with a larger grid.
* 7735 - baremetal: game of life simulatorKartik K. Agaram2021-02-131-0/+243
|
* 7734 - baremetal/shell: break out of groupKartik K. Agaram2021-02-131-2/+93
|
* 7733 - baremetal/shell: conditional skips groupsKartik K. Agaram2021-02-131-1/+83
|
* 7732 - baremetal/shell: grouping wordsKartik K. Agaram2021-02-121-1/+95
| | | | Now there's a neat resonance carrying over all 3 levels of Mu notation.
* 7731 - baremetal/shell: conditional executionKartik K. Agaram2021-02-121-3/+69
|
* 7730 - baremetal/shell: boolean valuesKartik K. Agaram2021-02-125-13/+229
| | | | | In the process I found a bug in the Mu compiler. Limitations of just asserting the emitted code but not running it.
* 7729Kartik K. Agaram2021-02-121-3/+3
|
* 7728Kartik K. Agaram2021-02-121-0/+30
|
* 7727 - baremetal/shell: 1+1Kartik K. Agaram2021-02-113-0/+35
|
* 7726Kartik K. Agaram2021-02-113-7/+210
|
* 7725 - baremetal/shell: start on evaluatorKartik K. Agaram2021-02-112-0/+174
|
* 7724 - baremetal: rendering array valuesKartik K. Agaram2021-02-115-0/+1644
|
* 7723 - baremetal: rendering string valuesKartik K. Agaram2021-02-116-3/+370
|
* 7722Kartik K. Agaram2021-02-111-0/+2
|
* 7721 - baremetal: start rendering valuesKartik K. Agaram2021-02-111-0/+84
|
* 7720 - baremetal: load more sectors againKartik K. Agaram2021-02-113-12/+28
|
* 7719 - baremetal: print floatsKartik K. Agaram2021-02-114-0/+646
|
* 7718Kartik K. Agaram2021-02-111-4/+4
| | | | Bugfix in clear-screen.
* 7717 - baremetal: enable FPU (I think)Kartik K. Agaram2021-02-112-5/+20
|
* 7716Kartik K. Agaram2021-02-101-0/+8
|
* 7715Kartik K. Agaram2021-02-101-2/+1
|
* 7714Kartik K. Agaram2021-02-101-0/+8
|
* 7713Kartik K. Agaram2021-02-105-14/+20
|
* 7712Kartik K. Agaram2021-02-101-71/+0
|
* 7711 - baremetal/shell: line data structureKartik K. Agaram2021-02-102-4/+176
| | | | | | Pretty thin; perhaps we should put cursor management in words. But we don't need every node in the list of words to know which word in the list the cursor is at.
* 7710Kartik K. Agaram2021-02-101-0/+58
| | | | Include a file for commit 7708.
* 7709Kartik K. Agaram2021-02-092-24/+28
| | | | | | | 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 structureKartik K. Agaram2021-02-092-1/+786
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* 7707Kartik K. Agaram2021-02-091-0/+14
|
* 7706Kartik K. Agaram2021-02-092-9/+30
|
* 7705Kartik K. Agaram2021-02-091-6/+3
|
* 7704Kartik K. Agaram2021-02-091-6/+6
|
* 7703Kartik K. Agaram2021-02-091-0/+3
|
* 7702Kartik K. Agaram2021-02-092-7/+7
|
* 7701Kartik K. Agaram2021-02-093-9/+9
|
* 7700Kartik Agaram2021-02-091-0/+0
|
* 7699Kartik K. Agaram2021-02-082-11/+442
| | | | Gap buffer with a more testable interface for rendering to screen.
* 7698 - starting to test-drive baremetal shellKartik Agaram2021-02-074-5/+259
|
* 7697Kartik Agaram2021-02-071-4/+6
|
* 7696Kartik Agaram2021-02-071-1/+0
|
* 7695 - baremetal: second bg assertion for spacesKartik Agaram2021-02-071-1/+60
| | | | | | When I'm also checking graphemes I assume that spaces can be in other bg colors. However, if I want to closely check the bg color for a cell with a space in it (ahem, cursor), I have to check the color in isolation.
* 7694 - baremetal: asserting bg color in testsKartik Agaram2021-02-072-7/+103
|
* 7693 - baremetal: pass background color everywhereKartik Agaram2021-02-0714-117/+137
|
* 7692Kartik Agaram2021-02-073-6/+33
| | | | | It's bad enough that metadata comments are restricted to integer literals; let's at least make them work on _all_ integer literals.
* 7691Kartik Agaram2021-02-072-5/+21
|
* 7690Kartik Agaram2021-02-0751-662/+662
| | | | Convert comments about magic constants into metadata.
* 7689 - permit metadata on Mu literal integersKartik Agaram2021-02-062-0/+33
| | | | | | | | | | | | | | Metadata is always ignored. It's purely for documentation purposes. But as long as Mu has no named constants it's starting to feel increasingly essential. I'm still not going to bother to add metadata to other parts of the language. Let's see if we need them. Even though it's a little warty that the rules vary throughout the stack: - bare SubX: metadata everywhere - SubX with syntax sugar: no metadata in calls or addressing-mode sigil-expressions - Mu: metadata only for literal integers
* 7688Kartik Agaram2021-02-061-1/+1
|
* 7687Kartik Agaram2021-02-051-0/+3
|