Pregunta

En un proyecto que estoy trabajando, estoy tratando de hacer que acepte órdenes del usuario y proporcionar la historia con la flecha hacia arriba. Estoy con el objetivo de mantener este proyecto libre de dependencias, y no quiero tener que requerir a la gente a instalar también los archivos de desarrollo readline sólo para compilar mi proyecto. ¿Alguien sabe de una simple gota en el reemplazo para GNU Readline que proporciona funcionalidad sólo es simple?

¿Fue útil?

Solución

La mayoría de los sistemas han instalado readline, así que no veo que por ser demasiado de un problema.

En segundo lugar, no creo que haya ninguna gota en el reemplazo para la biblioteca GNU Readline. Vas a tener que seguir con ella. : (

Editar 05/11/2016: Esta respuesta es obsoleta, y cualquier edición que haría sería tomar prestado casi por completo de las otras respuestas, más correctos. Resumen: rel ver LineNoise y editline alternativas readline modernos.

Otros consejos

Editline . Tiene una licencia de tipo BSD.

EDIT: Las versiones anteriores de editline eran bastante simple. Aquí hay uno con sólo dos archivos de C y un cabecera, un total de aproximadamente 1500 líneas de código. Hemos estado utilizando durante años.

He encontrado uno. antirez de Redis fama ha llegado con LineNoise , una alternativa mucho más simple.

BusyBox contiene código de edición de línea de comandos similar a readline, pero mucho más pequeño y más simple, con soporte completo para UTF-8 . Probablemente sería fácil de hacer en una biblioteca independiente.

El href="https://github.com/troglobit/editline" rel="nofollow"> editline biblioteca sin embargo, es otra alternativa. Desde el README :

  

La biblioteca editline fue creado por Simmule Turner y Rich Salz en 1992.   En el momento que eligieron para distribuir el código bajo un derecho de autor "C-News-like",   Vea la Licencia archivo para obtener más detalles.

[...]

  

Esta versión de la biblioteca editline es un tenedor de las fuentes minix3. Otro   conocer versiones, basadas a menudo fuera de la publicación comp.sources.unix original son:

           

Los parches más intersting y correcciones de errores de cada tenedor se han fusionado aquí.

editline (libedit) no admite caracteres de múltiples bytes todavía.

También estoy de acuerdo con Dan Loewenherz, la biblioteca readline está muy difundido. Por ejemplo, la mayoría de los barcos distribución de Linux golpean con readline. La mayoría de distribución Python también se incluye con readline. Si su proyecto necesita una biblioteca readline-como, es una buena idea usar la biblioteca readline de GNU, ya que es una opción popular y los usuarios pueden tenerlo instalado en el sistema operativo ya.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top