about summary refs log tree commit diff stats
path: root/070display.cc
Commit message (Collapse)AuthorAgeFilesLines
* 1981 - clear screen below editors in CKartik K. Agaram2015-08-121-0/+23
| | | | | Environment much more responsive now. And it doesn't slow down as much just because I'm on a larger screen.
* 1963 - redraw if window size changesKartik K. Agaram2015-08-091-3/+9
| | | | | This was important because somebody connecting on tmux would mess up the environment.
* 1848 - core instructions now check for ingredientsKartik K. Agaram2015-07-251-12/+28
| | | | Also standardized warnings.
* 1731 - ah, now fully responsiveKartik K. Agaram2015-07-081-0/+11
| | | | The trick is to check for more events and not bother rendering if so.
* 1705 - change background colorKartik K. Agaram2015-07-041-10/+16
|
* 1702 - experiment: start using 'ordinal' in namesKartik K. Agaram2015-07-041-19/+19
| | | | | | | It comes up pretty early in the codebase, but hopefully won't come up in the mu level until we get to higher-order recipes. Potentially intimidating name, but such prime real estate with no confusing overloadings in other projects!
* 1656 - smooth refresh doneKartik K. Agaram2015-06-251-9/+31
| | | | Had to take control of tb_present() after all. Termbox was wise.
* 1655 - first attempt at smooth refresh: hide-cursorKartik K. Agaram2015-06-251-0/+20
| | | | | But it doesn't work, because moving the cursor inside 'render' also starts displaying it again.
* 1641Kartik K. Agaram2015-06-241-0/+2
| | | | | | Snapshot in switching editor-data.cursor to editor-data.before-cursor. But I have trouble coercing events to touch events, even though using the integer tag 2 for the conversion works.
* 1640Kartik K. Agaram2015-06-241-1/+1
| | | | | | | | Another bug in manually running the editor. At least show the error message when you raise warnings in console mode. Later we'll want to create a separate side channel and transparently plumb warnings to the 'menu bar' of the editor..
* 1618Kartik K. Agaram2015-06-211-8/+8
|
* 1616 - merging keyboard and events into 'console'Kartik K. Agaram2015-06-211-28/+51
| | | | | Only core layers currently passing. Console apps are probably still broken.
* 1614Kartik K. Agaram2015-06-211-3/+0
|
* 1545 - sketching out a simple editor widgetKartik K. Agaram2015-06-081-0/+22
|
* 1543Kartik K. Agaram2015-06-071-2/+2
|
* 1530 - switch to termbox's 256-color modeKartik K. Agaram2015-06-051-5/+5
|
* 1518 - still horribly brokenKartik K. Agaram2015-06-011-0/+1
| | | | | | Just figured out why a first keystroke of backspace was sending me out for a spin: run_interactive needs all early exits that don't actually run anything to increment the current_step_index(). FML, this is lousy..
* 1487 - repl working interactivelyKartik K. Agaram2015-05-271-3/+3
|
* 1486 - repl: hitting enter now workingKartik K. Agaram2015-05-271-2/+12
|
* 1457 - print to display in colorKartik K. Agaram2015-05-251-1/+6
| | | | Just foreground color for now.
* 1391 - avoid unsigned integersKartik K. Agaram2015-05-171-10/+10
|
* 1368 - alias carriage-return and newlineKartik K. Agaram2015-05-141-2/+3
| | | | | | | CRLF still shows as two newlines, though. Cross that bridge when we get to it. The new chessboard test is still hanging, though.
* 1357 - temporarily revert floating-point supportKartik K. Agaram2015-05-121-3/+3
|
* 1356 - snapshot #2: floating point supportKartik K. Agaram2015-05-121-3/+3
| | | | | | | | | | | | | | | I added one test to check that divide can return a float, then hacked at the rippling failures across the entire entire codebase until all tests pass. Now I need to look at the changes I made and see if there's a system to them, identify other places that I missed, and figure out the best way to cover all cases. I also need to show real rather than encoded values in the traces, but I can't use value() inside reagent methods because of the name clash with the member variable. So let's take a snapshot before we attempt any refactoring. This was non-trivial to get right. Even if I convince myself that I've gotten it right, I might back this all out if I can't easily *persuade others* that I've gotten it right.
* 1330Kartik K. Agaram2015-05-101-0/+3
|
* 1323 - keyboard supports backspace and newlineKartik K. Agaram2015-05-101-16/+38
| | | | | | Lots mixed into this commit: some off-by-one errors in display.cc a new transform to translate jump labels that I'd somehow never gotten around to supporting
* 1322 - ctrl-c should always interruptKartik K. Agaram2015-05-101-0/+1
|
* 1318 - 1317 actually works nowKartik K. Agaram2015-05-101-0/+1
|
* 1315 - chessboard now working interactivelyKartik K. Agaram2015-05-091-1/+2
| | | | | | | | | | | | | | | | | | | | I tried to bring too much into this commit, and paid the price with some debugging effort. Still havent't tried to enable line buffering, but I'll take a snapshot. Some tests are failing because of the huge hack in the scheduler. For a while I thought there was a bug in termbox because I kept seeing segfaults and valgrind complained about out-of-bounds access. But that was just subsidiary threads trying to print to the screen after I'd returned to console mode. Maybe I should add a test for send-keys-to-channel. Or just use a fake keyboard rather than a channel. And *then* there's the fact that the interaction is molasses slow. Slower than the arc version even though the tests run so much faster. And what's with the long pauses in printing strings to screen?
* 1298 - better ingredient/product handlingKartik K. Agaram2015-05-071-32/+21
| | | | | | | | | | | | | | | | | | | All primitives now always write to all their products. If a product is not used that's fine, but if an instruction seems to expect too many products mu will complain. In the process, many primitives can operate on more than two ingredients where it seems intuitive. You can add or divide more than two numbers together, copy or negate multiple corresponding locations, etc. There's one remaining bit of ugliness. Some instructions like get/get-address, index/index-address, wait-for-location, these can unnecessarily load values from memory when they don't need to. Useful vim commands: %s/ingredients\[\([^\]]*\)\]/ingredients.at(\1)/gc %s/products\[\([^\]]*\)\]/products.at(\1)/gc .,$s/\[\(.\)]/.at(\1)/gc
* 1276 - make C++ version the defaultKartik K. Agaram2015-05-051-0/+212
I've tried to update the Readme, but there are at least a couple of issues.