Repository navigation
Add optional Acme-inspired Look and Execute commands - #3
dharmatech wants to merge 2 commits into
Conversation
|
Here's a demo of the legmacs acme extension: |
|
Mostly just sharing this as an example of an extension targeting plan9. It also demonstrates what had to be extended in the core to accommodate the extension. Leaving this in a draft state since I wouldn't say it's ready to merge. |
|
Thanks for this — really nice piece of work, and a fun exploration of what Acme's text-as-interface model looks like inside legmacs. I went through it against the design docs in A couple of small things worth a pass before landing, nothing blocking:
Happy to see this land once those are addressed — great contribution. |
|
Rebased this onto current One real conflict in the rebase: On the three points: 3, the dedup. 2, the modeline change. Turned out 1, the blocking Execute. Went with the general version of the status-frame idea rather than a local fix. There's a new workspace-shared That chaining is the part I actually care about, because it's the seam the async job model can grow from later: you can poll a running process across loop iterations without anything below To be clear about the limit: rc still runs to completion before the next key is read. This only fixes the frozen-frame half, where the screen sat on the state from before the keystroke with nothing saying why. That was the part that read as a bug; the waiting itself doesn't. I left Two notes on the let-go side, since both changes introduce closures and #766 is silent:
Suite is at 300 tests, 1269 assertions, 0 failures. |
|
Landed on main via #15 (rebased onto current main, review notes addressed, |
Summary
rcexpression and appending output to a reusabledir/+ErrorsbufferApproach
This explores what a keyboard-driven Acme interaction model feels like inside LegMacs on Plan 9. The directory view deliberately remains plain editable text rather than introducing a Dired-style mode. The extension is opt-in so the existing editor behavior is unchanged unless a user enables it.
Design and impact
/:default-directory; file, generated, REPL, help, and fallback buffers receive useful directory contextrfork eenvironment andrc -pprevent inherited CPU-session function definitions from breaking nested Plan 9 scripts such aslcThis draft is also intended to invite architectural feedback. The core additions are designed as general extension facilities, but generated-directory metadata and the named-output API are useful areas to review before treating the experiment as final.
Validation
pwdand nestedlc /execution without the inherited-function stderr failure