HeadlinesBriefing favicon HeadlinesBriefing.com

paveluv/e: Ein anpassbarer Emacs-ähnlicher Editor in Chez Scheme

Hacker News •
×

Eine kleine Konsolen-Texteditor in Chez Scheme, paveluv/e ist Emacs-like im Geist, aber kein Klon. Es verfügt über Buffers, Fenster, ein Kill Ring, inkrementelle Suche und ein Schemetop-Level. Alles ist eine R6RS Bibliothek mit minimalem Core und immutabler API, plus Erweiterungsmodule für Syntax-Modi, Klammern passen, Editing Helfer und M-x.

M-x evaluiert Scheme gegen das Editor live Top Level mit Symbol-Vervollständigung, Parameter-Hinweisen, History und einem Transcript Buffer. Module hot-reload: Speichern eines Moduls Quelltext innerhalb des Editor lädt es in die laufende Sitzung nach; externe Edits werden via reload-module! erkannt. Registrierungen werden ersetzt, abhängige Module kompilieren nach, und Buffers bleiben erhalten.

Der Editor wird von selbst entwickelt mit keinerlei Abhängigkeiten außer Chez Scheme und einem Unix-ähnlichen Terminal. Es gibt keinen Build- oder Installationsschritt — ein Checkout läuft vor Ort. Der erste Start kompiliert Bibliotheken; spätere Starts dauern ca. 100 ms.

Undo-Aktionen melden sich wie 'Undo insert "hello"' oder 'Undo (replace-all! "xx" "yy")'. Getippte Zeichen coaleszen zu Läufen, Paste ist ein einziger Schritt, und M-x-Befehle sind als Schritte gekennzeichnet. Quick start: klonen als ~/.e oder vendore innerhalb eines Projekts.

Jede Installation ist selbstständig, nutzt lib/ neben dem Script und kompilierte Objekte in eo/. Terminalgröße wird über ioctl oder LINES/COLUMNS Umgebungsvariablen erkannt. Unter FreeBSD Shebang anpassen oder chez-scheme --script e ausführen.

Tastenkombinationen umfassen C-x C-s (speichern), C-x C-f (Datei besuchen), C-x C-c (beenden), C-x b (Buffer wechseln), C-x 2/3 (Fenster teilen), C-x o (nächstes Fenster), und Bewegung/Editier-Tasten wie C-b/f, C-p/n, C-a/e, C-d/Backspace.