Commit Graph

58 Commits

Author SHA1 Message Date
Kartik Agaram
7fbf3b3e72 6858 2020-09-25 20:05:02 -07:00
Kartik Agaram
890df1de51 6843
Some keymappings to protect my pinky.
2020-09-23 21:44:44 -07:00
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