Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | . | Kartik K. Agaram | 2021-07-19 | 1 | -3/+1 |
| | |||||
* | . | Kartik K. Agaram | 2021-07-19 | 1 | -3/+3 |
| | |||||
* | error message when trying to jump to primitive | Kartik K. Agaram | 2021-07-19 | 1 | -0/+15 |
| | |||||
* | . | Kartik K. Agaram | 2021-07-19 | 1 | -9/+9 |
| | |||||
* | render functions in MRU order | Kartik K. Agaram | 2021-07-19 | 1 | -6/+8 |
| | |||||
* | reorg primitives on screen | Kartik K. Agaram | 2021-07-02 | 1 | -13/+13 |
| | |||||
* | preserve indentation of the sandbox | Kartik K. Agaram | 2021-06-20 | 1 | -4/+4 |
| | |||||
* | more precisely track count of calls to eval | Kartik K. Agaram | 2021-06-15 | 1 | -1/+3 |
| | | | | | Before I only separately counted calls at each stack depth. I don't remember if that seemed good enough or was just an oversight. | ||||
* | . | Kartik K. Agaram | 2021-06-12 | 1 | -35/+35 |
| | | | | | Roll back to commit 70919b45f0. Recent commits add lots of extra function args for dubious benefit. | ||||
* | eliminate some implicit writes to real screen | Kartik K. Agaram | 2021-06-12 | 1 | -35/+35 |
| | |||||
* | . | Kartik K. Agaram | 2021-06-12 | 1 | -2/+2 |
| | | | | | | Rename cells containing screens to screen vars because of the ambiguity that each grapheme in fake screens is represented by a type screen-cell. While we're at it, we also analogously rename keyboard vars. | ||||
* | shell: larger fake screen | Kartik K. Agaram | 2021-06-12 | 1 | -32/+30 |
| | |||||
* | cancel pending test | Kartik K. Agaram | 2021-06-11 | 1 | -64/+0 |
| | | | | | | | | | | | After all that, I'm not sure this is the desired behavior. If a function defines multiple bindings, we shouldn't rename all their keys. So how to choose? Perhaps it's not so bad to have "symlinks" in this "file system". To unlink two bindings you now need to define one of them in the sandbox. All the refactoring is still useful, though. | ||||
* | . | Kartik K. Agaram | 2021-06-11 | 1 | -1/+1 |
| | |||||
* | . | Kartik K. Agaram | 2021-06-11 | 1 | -1/+1 |
| | |||||
* | . | Kartik K. Agaram | 2021-06-11 | 1 | -0/+41 |
| | |||||
* | . | Kartik K. Agaram | 2021-06-09 | 1 | -1/+1 |
| | | | | Add argument to a few functions. | ||||
* | make tests pass again | Kartik K. Agaram | 2021-06-09 | 1 | -1/+1 |
| | | | | | I'm temporarily disabling the pending state. I'm also providing a clearer error message when we encounter the bug. | ||||
* | snapshot: attempt at modifying a function name | Kartik K. Agaram | 2021-06-09 | 1 | -0/+64 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | It turns out there's another problem, and it predates the ability to create new definitions: ctrl-s triggers a call to `evaluate`, which inserts a new definition into globals. which has a null gap buffer. All this happens long before the new code in this commit, resulting in a null gap buffer by the time we get to word-at-cursor. Which in turn happens because we perform a raw `evaluate`, which doesn't update the gap buffer like `run` does (using `maybe-stash-gap-buffer-to-global`). And arguably `evaluate` shouldn't mess with the gap buffer. Gap buffers are a UI concern. The hardest version of this immediate scenario: It's unclear how to guarantee that every definition have a gap buffer, when two definitions may share one (closures sharing a lexical environment). New plan: - improve the logic for detecting definitions. Looking at the outermost layer isn't enough. And a single expression can create multiple definitions. - extract a helper to attach a single gap buffer to multiple definitions. - have the UI detect conflicts in gap buffers and prompt the user for a decision if a different gap buffer already exists for a definition. | ||||
* | . | Kartik K. Agaram | 2021-06-08 | 1 | -330/+330 |
| | |||||
* | shell: function modal now also creates functions | Kartik K. Agaram | 2021-06-08 | 1 | -4/+163 |
| | |||||
* | shell: expand set of possible errors | Kartik K. Agaram | 2021-06-08 | 1 | -12/+13 |
| | | | | | Requires a change to mu.subx, to unify literal strings with generic (addr array _) | ||||
* | . | Kartik K. Agaram | 2021-06-08 | 1 | -20/+17 |
| | |||||
* | a place for error messages in the function modal | Kartik K. Agaram | 2021-06-08 | 1 | -7/+101 |
| | | | | Probably not ideal, but it's a start. | ||||
* | ok, function modal now has full coverage | Kartik K. Agaram | 2021-06-08 | 1 | -3/+104 |
| | |||||
* | . | Kartik K. Agaram | 2021-06-08 | 1 | -7/+85 |
| | |||||
* | first test for function modal | Kartik K. Agaram | 2021-06-08 | 1 | -6/+41 |
| | |||||
* | . | Kartik K. Agaram | 2021-06-08 | 1 | -37/+33 |
| | |||||
* | . | Kartik K. Agaram | 2021-06-08 | 1 | -14/+38 |
| | | | | | | | I wrote a comment about how some code was not covered by tests, and then promptly forgot what it was for. This is why we need tests. Now the hack is gone. | ||||
* | shell: first test for entire environment | Kartik K. Agaram | 2021-06-08 | 1 | -0/+71 |
| | | | | This introduces some ergonomic issues. But we have to start somewhere. | ||||
* | handle navigating to a non-existent function | Kartik K. Agaram | 2021-06-06 | 1 | -14/+23 |
| | | | | We need a place to show error messages. Maybe on the top row? | ||||
* | more space for definitions | Kartik K. Agaram | 2021-06-06 | 1 | -4/+4 |
| | |||||
* | refresh edited definitions on ctrl-s | Kartik K. Agaram | 2021-06-05 | 1 | -2/+16 |
| | |||||
* | working on jumping to word at cursor | Kartik K. Agaram | 2021-06-05 | 1 | -0/+45 |
| | | | | | I had a nice clean definition for word-at-cursor, but it's wrong and I'm going to have to mangle it. | ||||
* | start editing function definitions | Kartik K. Agaram | 2021-06-04 | 1 | -1/+1 |
| | |||||
* | run sandbox even when cursor in function | Kartik K. Agaram | 2021-06-04 | 1 | -0/+7 |
| | |||||
* | bugfix: show functions after ctrl-g, enter | Kartik K. Agaram | 2021-06-04 | 1 | -1/+8 |
| | |||||
* | select function to render first | Kartik K. Agaram | 2021-06-04 | 1 | -1/+1 |
| | |||||
* | conditionally display cursor on function side | Kartik K. Agaram | 2021-06-04 | 1 | -1/+1 |
| | | | | | Always shows at top-most function. Can't actually do any editing yet. | ||||
* | conditionally display cursor in sandbox | Kartik K. Agaram | 2021-06-04 | 1 | -1/+5 |
| | |||||
* | modal dialog for function name to jump to | Kartik K. Agaram | 2021-06-04 | 1 | -2/+99 |
| | |||||
* | . | Kartik K. Agaram | 2021-06-04 | 1 | -4/+4 |
| | |||||
* | . | Kartik K. Agaram | 2021-06-04 | 1 | -0/+54 |
| | | | | Keyboard state machine for jumping to function definition. | ||||
* | . | Kartik K. Agaram | 2021-06-04 | 1 | -1/+1 |
| | |||||
* | . | Kartik K. Agaram | 2021-06-04 | 1 | -2/+2 |
| | |||||
* | . | Kartik K. Agaram | 2021-06-04 | 1 | -3/+3 |
| | |||||
* | . | Kartik K. Agaram | 2021-06-04 | 1 | -2/+2 |
| | |||||
* | . | Kartik K. Agaram | 2021-06-03 | 1 | -2/+11 |
| | |||||
* | starting to support function editing | Kartik K. Agaram | 2021-06-03 | 1 | -1/+10 |
| | |||||
* | . | Kartik K. Agaram | 2021-06-03 | 1 | -0/+177 |