Open source · libreria per terminali

REPLAI

Pre-release

Una libreria Rust e C per costruire interfacce da terminale: input, editing Unicode e interazione, integrabili nella propria applicazione.

Esplora REPLAI

Rust · C ABI · Unicode · PTY · Developer tools

Cattura autentica dello showcase pubblico REPLAI in uno pseudo-terminale. Fixture locale deterministica, senza esecuzione di comandi.

Panoramica

Offrire input e interazione da terminale come libreria integrabile, separando il motore di editing dalla logica dell’applicazione.

Architettura, API Rust, ABI C, modello di interazione, renderer terminale, test PTY e qualificazione multipiattaforma.

Contesto

Le applicazioni da terminale hanno bisogno di editing, completamento e messaggi senza accoppiare il proprio dominio al renderer. I risultati asincroni devono rimanere coerenti con l’input corrente.

Architettura

Core Rust, modalità di integrazione blocking, session e driven, ABI C dedicata e consumatori di prova. Snapshot revisionati collegano risultati e stato; il renderer e i test PTY osservano l’interazione nel terminale.

  • Modalità blocking, session e driven in Rust
  • C ABI 1
  • Runtime Linux e macOS; core portabile verificato separatamente

Implementazione e decisioni

Rust come nucleo, C come interfaccia

Le modalità Rust consentono diversi gradi di controllo sul ciclo d’interazione. L’ABI C espone un contratto più ristretto: non tutte le funzioni Rust sono automaticamente disponibili dall’altra interfaccia.

Risultati legati alla versione dello stato

Un suggerimento o un’analisi possono arrivare dopo che l’input è cambiato. Il controllo degli snapshot impedisce di applicare un risultato obsoleto allo stato nuovo.

Test nel terminale, non soltanto sulle stringhe

Unicode, editing e comportamento del renderer richiedono sia test del nucleo sia prove tramite pseudo-terminale. La portabilità del core è distinta dalla disponibilità del runtime.

Verifica

La revisione ha riscontrato test Rust su analisi e snapshot, test dell’interfaccia C e test PTY. La CI pubblica documenta un’esecuzione riuscita; Linux e macOS sono i runtime indicati, mentre i controlli Windows riguardano il core.

Stato attuale

Pre-release. È materiale per integrazione e valutazione tecnica, non una promessa di compatibilità immutabile o di runtime completo su ogni piattaforma.

Riferimenti

Attività tecniche collegate