Anvil::App
Die Inline-Anwendung: Blocklisten, Live-Region, Eingabezeile und modale Abfragen — das Modell von smith und Claude Code.
Fertige Blöcke wandern einmal in den Scrollback; die Region darunter wird neu gezeichnet, solange sich etwas ändert.
Constants
Constructors
Instance methods
Blockiert den rufenden Fiber, bis der Nutzer eine der Tasten drückt.
Die Tastenschleife läuft derweil weiter — ohne das gäbe es keine
Werkzeug-Freigabe mitten in einem laufenden Vorgang.
cancel gibt an, womit Escape und Ctrl-C beantwortet werden. Ohne das
ließe sich eine Frage nur mit einer der angebotenen Tasten verlassen —
und "abbrechen" ist bei einer Rückfrage die Erwartung, nicht die
Ausnahme.
Wie ask, aber mit eigener Tastenschleife — für Fragen, die beantwortet
sein müssen, bevor run überhaupt anläuft (ein Vertrauens-Dialog beim
Start). Blockiert den rufenden Fiber, ohne dass die Hauptschleife läuft.
Dasselbe für eine Zeile Text (Plan-Rückmeldung, freie Antwort).
Alles wegräumen: Blöcke fallen weg, der Bildschirm wird gelöscht. Für ein ausdrückliches "von vorn" der Anwendung.
Öffentlich, damit Tests (und Einbettungen) Ereignisse einspeisen können, ohne ein Terminal zu brauchen.
Sieht jede Taste vor der Zustandsmaschine. Gibt der Haken true
zurück, gilt die Taste als verbraucht und die App rührt sie nicht an.
Dafür da, dass eine Anwendung Tastenbedeutungen behalten kann, die nur sie kennt — ein offenes Popup, das die Pfeiltasten beansprucht, oder ein Ctrl-C, das erst die Eingabe leert und dann beendet.
Sieht jede Taste vor der Zustandsmaschine. Gibt der Haken true
zurück, gilt die Taste als verbraucht und die App rührt sie nicht an.
Dafür da, dass eine Anwendung Tastenbedeutungen behalten kann, die nur sie kennt — ein offenes Popup, das die Pfeiltasten beansprucht, oder ein Ctrl-C, das erst die Eingabe leert und dann beendet.
Was mit einer abgesendeten Zeile geschieht. run setzt das aus seinem
Block; direkt gesetzt lässt sich die App auch ohne Schleife treiben.
Was mit einer abgesendeten Zeile geschieht. run setzt das aus seinem
Block; direkt gesetzt lässt sich die App auch ohne Schleife treiben.
Popup-Zeilen über der Eingabe, wenn die App eins offen hat.
Bildschirm löschen und den gesamten Verlauf neu ausgeben.
Das Zurücksetzen des Commit-Zählers ist der Punkt: ohne das bliebe nach dem Löschen nur die Live-Region übrig und alles bereits Committete wäre vom Bild verschwunden. Gebraucht bei Ctrl-L (etwas hat an uns vorbei geschrieben) und nach einer Größenänderung (das Terminal hat den Scrollback neu umbrochen).
Wie die Statuszeile aussieht, entscheidet die App — hier steht nur, dass es eine gibt und dass sie nie weggekürzt wird.
Wie die Statuszeile aussieht, entscheidet die App — hier steht nur, dass es eine gibt und dass sie nie weggekürzt wird.