Commit Graph

56 Commits

Author SHA1 Message Date
Kartik Agaram 85eb816725 6565 - support tmux in control mode
https://github.com/tmux/tmux/wiki/Control-Mode
https://www.iterm2.com/documentation-tmux-integration.html
2020-06-21 14:08:30 -07:00
Kartik Agaram 3fe43bca71 6427 2020-05-29 00:35:21 -07:00
Kartik Agaram 14a06183d9 mu.subx: 6 failing tests remaining 2020-05-22 14:45:54 -07:00
Kartik Agaram 456b44fbfb mu.subx: first code-gen test passing! 2020-05-18 00:44:49 -07:00
Kartik Agaram b2c8b7327b 6215 - show call stack in trace 2020-05-03 23:49:30 -07:00
Kartik Agaram 64563c29db 6027
Changing `switchbuf` globally is too heavyweight a change just to do the
right thing when hitting `:T`. I don't even use it anymore since I got
`<Leader>t`; why was I hitting `:T` just to navigate to `last_run`, again?
2020-02-20 00:05:28 -08:00
Kartik Agaram aeac1e061d 5966 - document all supported Mu instructions 2020-01-31 18:55:37 -08:00
Kartik Agaram 113bae7311 5856 2020-01-01 17:23:29 -08:00
Kartik Agaram f88f77cdab 5758 2019-11-25 17:49:20 -08:00
Kartik Agaram eafdbfc103 5749
Support running a single test when the current function around the cursor
ends in '?'.
2019-11-17 17:21:15 -08:00
Kartik Agaram a5fa978579 5662
Fix several breakages.
2019-09-15 16:31:31 -07:00
Kartik Agaram 4c131b3813 5643 2019-09-08 00:17:34 -07:00
Kartik Agaram ac4839899a 5642 2019-09-07 23:47:18 -07:00
Kartik Agaram 6fb244a788 5641 2019-09-07 23:46:22 -07:00
Kartik Agaram 82b958685c 5640 2019-09-07 16:43:45 -07:00
Kartik Agaram 2844327aa7 5639 - tmux support for running a single test
Keep the top/left most pane for a shell, and try hitting `<Leader>t` from
within a test.

If you hit `<Leader>t` from within code, it will try to remember what test
you ran last and rerun that.
2019-09-07 16:39:03 -07:00
Kartik Agaram c2d60fbe87 5618 2019-09-04 17:35:37 -07:00
Kartik Agaram 5a0a0005cc 5617 2019-09-04 17:33:20 -07:00
Kartik Agaram 794ceae0af 5509 2019-08-11 23:04:52 -07:00
Kartik Agaram 1ed1d1c842 5499 2019-07-31 15:28:23 -07:00
Kartik Agaram a56d969ec9 5489 - fix a few broken links 2019-07-27 18:16:38 -07:00
Kartik Agaram 6e1eeeebfb 5485 - promote SubX to top-level 2019-07-27 17:47:59 -07:00
Kartik Agaram fc95aaf893 fork vimrc for Mu and SubX
I checked if we needed to bring back anything since commit 3976, but the
only difference is dropping the :(scenario) DSL.
2019-06-11 23:43:55 -07:00
Kartik Agaram fa66b0afa4 only open the trace if test fails 2019-06-11 23:43:55 -07:00
Kartik Agaram 5ac0786623 new Vim convenience macro
Runs test under cursor and opens its trace.
2019-06-11 23:43:55 -07:00
Kartik Agaram 50581f2a0e . 2019-05-15 17:16:50 -07:00
Kartik Agaram bff79aeb28 5079 2019-04-11 11:30:07 -07:00
Kartik Agaram 4a943d4ed3 5001 - drop the :(scenario) DSL
I've been saying for a while[1][2][3] that adding extra abstractions makes
things harder for newcomers, and adding new notations doubly so. And then
I notice this DSL in my own backyard. Makes me feel like a hypocrite.

[1] https://news.ycombinator.com/item?id=13565743#13570092
[2] https://lobste.rs/s/to8wpr/configuration_files_are_canary_warning
[3] https://lobste.rs/s/mdmcdi/little_languages_by_jon_bentley_1986#c_3miuf2

The implementation of the DSL was also highly hacky:

a) It was happening in the tangle/ tool, but was utterly unrelated to tangling
layers.

b) There were several persnickety constraints on the different kinds of
lines and the specific order they were expected in. I kept finding bugs
where the translator would silently do the wrong thing. Or the error messages
sucked, and readers may be stuck looking at the generated code to figure
out what happened. Fixing error messages would require a lot more code,
which is one of my arguments against DSLs in the first place: they may
be easy to implement, but they're hard to design to go with the grain of
the underlying platform. They require lots of iteration. Is that effort
worth prioritizing in this project?

On the other hand, the DSL did make at least some readers' life easier,
the ones who weren't immediately put off by having to learn a strange syntax.
There were fewer quotes to parse, fewer backslash escapes.

Anyway, since there are also people who dislike having to put up with strange
syntaxes, we'll call that consideration a wash and tear this DSL out.

---

This commit was sheer drudgery. Hopefully it won't need to be redone with
a new DSL because I grow sick of backslashes.
2019-03-12 19:14:12 -07:00
Kartik Agaram ed4e645306 4985 2019-02-23 13:29:35 -08:00
Kartik Agaram 5beb25b508 4875
Another tweak for a light background.
2018-12-25 23:02:16 -08:00
Kartik Agaram 14da19a272 4806
Drop a wildcard in my edit shortcuts that's getting confused between apps/crenshaw2-1.subx
and apps/crenshaw2-1b.subx. We're pretty much always using the full filename
(excluding .subx extension) anyway.
2018-11-30 16:39:27 -08:00
Kartik Agaram a8f47b4a64 4772 2018-11-24 22:42:02 -08:00
Kartik Agaram e59a91b73d 4757
Let's start highlighting all global variables in Red. Assembly programming
has a tendency to over-use them. They're a necessary evil, but we should
minimize the number of functions that access them.
2018-11-20 19:43:36 -08:00
Kartik Agaram 674cf5833c 4751 2018-11-18 13:28:42 -08:00
Kartik Agaram 5f21a5e788 4726 2018-10-27 22:46:23 -07:00
Kartik Agaram 5e5f569c17 4725 - back to porting the Crenshaw compiler 2018-10-26 10:16:02 -07:00
Kartik Agaram 399f5c1372 4673
To search for instructions in .subx files, just run `:G 8b.*copy` inside
Vim without any quotes.
2018-10-07 23:19:27 -07:00
Kartik Agaram 857ba19206 4672 2018-10-07 12:45:30 -07:00
Kartik Agaram 3dfeaaff4f 4570 2018-09-21 14:28:39 -07:00
Kartik Agaram 694d8485d4 4568
Get the 'edit' script working again with the 'EE' command in Vim.
2018-09-21 13:51:43 -07:00
Kartik Agaram 9968eda491 4474 2018-08-04 16:24:07 -07:00
Kartik Agaram bc394aaf39 4323 2018-07-07 13:54:16 -07:00
Kartik Agaram d1262cd690 4299 2018-06-30 23:05:10 -07:00
Kartik Agaram 01ce563dfe 4262 - literal 'null' 2018-06-17 15:57:37 -07:00
Kartik Agaram dd66068298 4261 - start using literals for 'true' and 'false'
They uncovered one bug: in edit/003-shortcuts.mu
  <scroll-down> was returning 0 for an address in one place where I
  thought it was returning 0 for a boolean.

Now we've eliminated this bad interaction between tangling and punning
literals.
2018-06-17 00:29:22 -07:00
Kartik K. Agaram 7a4bf4cfab 3976 2017-08-20 22:03:31 -07:00
Kartik K. Agaram 49620728e8 3707
Be more disciplined about tagging 2 different concepts in the codebase:

a) Use the phrase "later layers" to highlight places where a layer
doesn't have the simplest possible self-contained implementation.

b) Use the word "hook" to point out functions that exist purely to
provide waypoints for extension by future layers.

Since both these only make sense in the pre-tangled representation of
the codebase, using '//:' and '#:' comments to get them stripped out of
tangled output.

(Though '#:' comments still make it to tangled output at the moment.
Let's see if we use it enough to be worth supporting. Scenarios are
pretty unreadable in tangled output anyway.)
2016-12-12 10:07:59 -08:00
Kartik K. Agaram a9817844ae 3566
vim: Stop loading C++-specific syntax highlighting in non-C++ files.

I also figured out why the autocommand wasn't running on the first file:
my local setup for directory-specific vimrc files runs inside an
autocommand, and it runs autocommands recursively inside an autocommand,
and it runs only autocommands inside a 'LocalVimrc' autocommand group to
ensure infinite regress (autocommands running multiple times in
practice). And I'd forgotten this 'feature' of my vimrc setup by the
time I set this up for Mu.
2016-10-23 17:00:24 -07:00
Kartik K. Agaram 9a81d7460f 3561 2016-10-22 16:56:07 -07:00
Kartik K. Agaram 3e1349d29f 3431
Improvements to syntax highlighting, particularly for Mu code in C++
files.
2016-09-30 10:45:14 -07:00