2013-07-31 14 views
9

Sto cercando un'alternativa GNU readline. Viene fornito con molte funzionalità, ma solo alcune di esse sono utili come spiegato di seguito -Alternativa Leggera GNU

Sto lavorando a un'applicazione di prompt dei comandi interattiva (visualizza prompt e accetta il comando del prossimo utente da eseguire). Voglio implementare alcune funzionalità di modifica e cronologia per il prompt. Quindi quando l'utente preme il tasto SU dovrebbe mostrare l'ultimo comando di marcia. Inoltre, l'utente dovrebbe essere in grado di navigare usando i tasti freccia se ha bisogno di modificare qualsiasi errore di battitura o comando, ecc.

Su Windows qualcosa di simile esiste già, se si utilizza fgets o scanf per ottenere l'input sul prompt cmd che già mantiene cronologia e consente anche di modificare.

C'è una buona opzione disponibile su linux?

+0

Seriamente? È una specie di add-on di Visual Studio? – Duck

+0

@Duck grazie, sto usando C. Sto usando VS ma non sono sicuro che sia un componente aggiuntivo. – punekr12

+2

cosa c'è che non va usando solo readline? È abbastanza facile da integrare nella tua applicazione. – rici

risposta

8

Questo è un obiettivo ammirevole penso :-)

Forse Linenoise, libedit/editline o tecla misura la fattura?

Di quelli che probabilmente il libedit è il più utilizzato - ad es. shell client postgreqsql e vari programmi di utilità BSD per Kerberos e ntp (sebbene per le origini a monte potrebbe non essere la libreria di modifica di riga predefinita per la compilazione a causa dell'uso diffuso di libreadline su Linux). Ci sono un paio di versioni leggermente diverse di libedit/editline come vedrai se leggi alcuni di questi riferimenti e fai qualche ulteriore ricerca.

Saluti e buona fortuna con il tuo progetto.