From 60367d8fe23f6af98ec28e3cf6c2094dfe332df0 Mon Sep 17 00:00:00 2001 From: Gabriel Schneider Date: Sun, 6 Sep 2026 18:11:36 -0300 Subject: Refactor panes and filesystem; replace FUSE with 9P Consolidate pane, layout, memory and host code. Serve 9P by default over Unix sockets, with runtime mounts and optional TCP/QUIC transports. Remove FUSE and obsolete proof-of-concept examples. Fix highlighting and terminal-history performance, expand differential and stress-test infrastructure, sort navigation results while preserving the next occurrence, add syntax-colored Braille minimaps, remove SPC-k, and document 9P interaction as a repository skill. --- test/snapshots/acmefs-event.snap | 39 --------------------------------------- 1 file changed, 39 deletions(-) delete mode 100644 test/snapshots/acmefs-event.snap (limited to 'test/snapshots/acmefs-event.snap') diff --git a/test/snapshots/acmefs-event.snap b/test/snapshots/acmefs-event.snap deleted file mode 100644 index 33f8b01c..00000000 --- a/test/snapshots/acmefs-event.snap +++ /dev/null @@ -1,39 +0,0 @@ -# The acme INVERSION, end to end: while a script holds a pane's `event` file -# open, a middle click in that pane is REPORTED to the script instead of being -# executed by the editor. That is how an acme client defines its own commands — -# `Step`, `Run`, `Clear` in examples/acmefs/life.py — and it is the one piece of -# this filesystem that changes what a click MEANS. -# -# The clicked word is `Newcol`, a real pardes builtin, so the two halves of the -# test cannot be confused with each other: with a reader attached the screen -# must not change and the record must arrive; with the reader gone the same -# click must open a column. It sits on the +New pane's first body line — row 5, -# and the line-number gutter is 7 cells wide, so the word starts at column 8. -run sh -c 'fusermount3 -u -z /tmp/pardes-acmefs-ev 2>/dev/null; rm -rf /tmp/pardes-acmefs-ev; exit 0' -start 30 100 --fs=/tmp/pardes-acmefs-ev -wait 8000 New Newcol -stable 700 20000 -run sh -c 'M=/tmp/pardes-acmefs-ev; id=$(cut -c1-11 < $M/new/ctl | tr -d " "); echo $id > id.txt; printf "Newcol\n" >> $M/$id/body' -wait 8000 New Newcol -stable 700 15000 -# a reader arrives: from here on, buttons 2 and 3 in this pane are its business -run sh -c 'M=/tmp/pardes-acmefs-ev; id=$(cat id.txt); (cat $M/$id/event > events.txt & echo $! > cat.pid); sleep 1' -press middle 9 5 -release middle 9 5 -stable 700 15000 -# The screen must be UNCHANGED: no column opened, because the click belonged to -# the reader. An editor that had performed it would have split the layout. -snap after-suppressed-click -# The reader's death is asynchronous: the kernel sends RELEASE when the process -# closes, and pardes drains filesystem requests in its frame poll, AFTER input. -# A click delivered in the same wakeup as that RELEASE is therefore still the -# reader's. One second of sleep is more than the frame this takes. -run sh -c 'sleep 1; kill $(cat cat.pid) 2>/dev/null; sleep 1; sed -e "s/$/|/" events.txt > ev.txt; exit 0' -snapfile events ev.txt -# ...and with the reader gone, the same click is an ordinary Exec again: this -# one opens the column. -press middle 9 5 -release middle 9 5 -stable 700 15000 -snap after-unsuppressed-click -run sh -c 'fusermount3 -u -z /tmp/pardes-acmefs-ev 2>/dev/null; rm -rf /tmp/pardes-acmefs-ev; exit 0' -- cgit v1.3