about summary refs log tree commit diff stats
path: root/apps/browse.mu
Commit message (Collapse)AuthorAgeFilesLines
* 6720Kartik Agaram2020-08-221-2/+2
|
* 6703 - new types: code-point and graphemeKartik Agaram2020-08-021-2/+4
| | | | | | | | | | Both have the same size: 4 bytes. So far I've just renamed print-byte to print-grapheme, but it still behaves the same. I'm going to support printing code-points next, but grapheme 'clusters' spanning multiple code-points won't be supported for some time.
* 6699 - start building out fake screenKartik Agaram2020-08-011-11/+11
| | | | | We now have all existing apps and prototypes going through the dependency-injected wrapper, even though it doesn't actually implement the fake screen yet.
* 6601Kartik Agaram2020-06-291-7/+7
|
* 6600Kartik Agaram2020-06-291-2/+2
|
* 6599Kartik Agaram2020-06-291-1/+1
|
* 6529 - don't let `addr`s escape functionsKartik Agaram2020-06-151-19/+21
| | | | | | | | | | | | | | | | | | I've gone back and forth on this. I initially disallowed this, then allowed it because I forgot why I disallowed it. The reason to disallow it: if you return an `addr` to a variable allocated on the stack, the space might be reused for a different type, which violates type-safety. And once you can reinterpret bits of one type as another you lose memory-safety as well. This has some interesting implications for Mu programs; certain kinds of helper functions become impossible to write. Now I find myself relying a lot more on scopes (and editor folding support) for abstracting details. And they won't help manage duplication. We'll see how this goes. While I'm being draconian about `addr`s on the stack, I'm still abusing `addr`s on the heap, with the expectation that future checks on reclamation will protect me. The boon and bane of stack space is that it's constantly reclaimed.
* 6510Kartik Agaram2020-06-111-1/+1
|
* 6474Kartik Agaram2020-06-051-3/+3
|
* 6457 - revert apps/browse.mu to a working stateKartik Agaram2020-06-011-195/+61
|
* 6455 - abortive second attempt at parsing headingsKartik Agaram2020-05-311-53/+146
| | | | | | | | | | | | | This 'OO' approach seems more scalable, but I need to first wrestle with a parsing issue: this text has a heading: abc *def # ghi* Ugh, so I can't do this translation in a single pass. Then again, maybe I should just keep going and not try to be compatible with GitHub-Flavored Markdown. Require that new headings are also new paragraphs.
* 6454: abortive first attempt at parsing headingsKartik Agaram2020-05-311-3/+41
| | | | | The state machine is already out of control, and I already have bugs like turning '*abc_' into bold text.
* 6453Kartik Agaram2020-05-301-5/+5
|
* 6452Kartik Agaram2020-05-301-6/+7
| | | | Support more than two states.
* 6451Kartik Agaram2020-05-301-2/+6
| | | | Now the trailing asterisk or underscore renders correctly, for starters.
* 6450Kartik Agaram2020-05-301-52/+50
| | | | | The current organization doesn't really work for the next feature (section headings) so let's inline attribute-handling.
* 6449 - italicsKartik Agaram2020-05-301-0/+19
| | | | | | | We're not going to render italics since they still feel like an advanced feature for terminals, and different terminals have different escape sequences for them, and since they often look weird to my eyes on the monospace font of a terminal window. So underscores and italics will both be bold.
* 6448 - markdown for boldKartik Agaram2020-05-301-2/+39
|
* 6447Kartik Agaram2020-05-301-1/+7
|
* 6446Kartik Agaram2020-05-301-6/+1
|
* 6439Kartik Agaram2020-05-291-2/+0
| | | | | Make print-byte less error-prone to use. Now none of our screen primitives are buffered.
* 6438 - multiple pages on screenKartik Agaram2020-05-291-7/+28
| | | | At the moment the number of pages is hard-coded to my screen width.
* 6437 - check screen/window dimensionsKartik Agaram2020-05-291-6/+11
| | | | | | | | This was why I was trying to use a different output register: a second function to call. And I managed to mess it up again, changing the output of load-file, but not how it was computed in the body.
* 6436Kartik Agaram2020-05-291-2/+0
|
* 6435Kartik Agaram2020-05-291-2/+13
|
* 6434Kartik Agaram2020-05-291-3/+3
|
* 6433 - render newlines correctlyKartik Agaram2020-05-291-0/+3
| | | | | | | | | | | | | There were three confounding issues to get past before this seemed to be working right: - row/col count from 1 rather than 0 - I was thinking in decimal rather than hex - print-byte buffers to stdout, but print-string does not. I didn't think this mattered, but it does matter to flush the current line before moving cursor again. Only one of these issues was a bug in the code. The first two were bugs in my mental model that necessitated no changes to code to be corrected.
* 6432 - paginator starting to take shapeKartik Agaram2020-05-291-2/+56
|
* 6431 - Mu function blocks can double as loopsKartik Agaram2020-05-291-7/+5
|
* 6430Kartik Agaram2020-05-291-4/+3
| | | | | Perhaps the lack of safety just forces us to make smaller functions, like Forth.
* 6429Kartik Agaram2020-05-291-0/+35
Baby steps. I managed to mess up even this tiny refactoring of print-file.mu. Wish output registers were already checked in calls.