En un proyecto en el que estoy trabajando, trato de que acepte comandos de usuario y proporcione el historial con la flecha hacia arriba. Mi objetivo es mantener este proyecto libre de dependencias, y no quiero tener que pedirle a la gente que también instale los archivos de desarrollo de readline solo para compilar mi proyecto. ¿Alguien sabe de un simple reemplazo directo para GNU Readline que proporciona solo una funcionalidad simple?¿Existe una alternativa simple a Readline?
Respuesta
mayoría de los sistemas de readline han instalado, por lo que no ver 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 eso. :(
Edición 11/05/2016: Esta respuesta es obsoleta, y cualquier edición que haría sería tomar prestado casi por completo de las otras respuestas correctas, más Resumen:.. linenoise ver y editline de alternativas modernas readline
Editline tiene una licencia de tipo BSD
EDIT:.... Las versiones anteriores de editline eran bastante simples Aquí está uno con just two C files and a header, un total de cerca de 1500 líneas de código Hemos estado usando durante años.
editline (libedit) aún no admite caracteres de varios bytes.
También estoy de acuerdo con Dan Loewenherz, la biblioteca readline está muy difundido. Por ejemplo, la mayoría de las distribuciones de linux envían bash con readline. La mayoría de la distribución de Python también se envía con readline. Si su proyecto necesita una biblioteca similar a readline, es una buena idea usar la biblioteca GNU readline ya que es una opción popular y los usuarios pueden tenerla instalada en el sistema operativo.
A partir del 2010-04-24 editline se puede construir con soporte utf-8 utilizando './configure--enable-widec'. –
A partir del 2016-06-18 editline siempre se crea con soporte unicode (wide-char/UTF-8), y la bandera '--enable-widec' está en desuso. – AndreyT
Encontré una. antirez de la fama de Redis ha llegado con linenoise, una alternativa mucho más simple.
Estoy seguro de que los usuarios no ingleses les encanta cuando su programa barfs en el texto que intenta escribir en su propio idioma .... –
BusyBox contiene un código de edición de línea de comandos similar a readline, pero mucho más pequeño y simple, con soporte completo para UTF-8. Probablemente sería fácil convertirlo en una biblioteca independiente.
Es GPL demasiado sin embargo. – Demi
La biblioteca editline 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", ver el archivo LICENSE para detalles.
[...]
Esta versión de la biblioteca editline es un tenedor de las fuentes minix3. Otras conocen versiones, a menudo basadas en los comp.sources originales.UNIX publicación son:
- libeditline Debian, http://packages.qa.debian.org/e/editline.html
- Heimdal, http://www.h5l.org
- Festival del habla-tools, http://festvox.org/festival/
- Steve Tell de parches editline, http://www.cs.unc.edu/~tell/dist.html
Los parches más intersting y error las correcciones de cada tenedor se han fusionado aquí.
- 1. Alternativa simple a la biblioteca GNU Readline no GPL
- 2. Alternativa simple a Greasemonkey
- 3. No existe el fichero a cargar - readline
- 4. ¿Existe una alternativa no Java a OSGi?
- 5. ¿Existe una alternativa a TOP en MySQL?
- 6. ¿Existe una alternativa a HTML Tidy?
- 7. No existe el fichero a cargar - readline (Error de carga)
- 8. ¿Alternativa libtool simple?
- 9. ¿Existe una buena alternativa a la extensión SOAP de PHP?
- 10. ¿Existe una alternativa más ordenada a `except: pass`?
- 11. ¿Existe una alternativa genérica a la clase ListDictionary?
- 12. ¿Existe una función de suspensión alternativa en C a milisegundos?
- 13. ¿Existe una alternativa a los grandes atributos desordenados?
- 14. ¿Existe una alternativa más rápida a GDI GetPixel()?
- 15. ¿Existe una alternativa Perl o Lua a Capistrano?
- 16. ¿Existe una alternativa a getClass(). GetResource() para un ImageIcon estático
- 17. ¿Existe una buena alternativa a FishEye de Atlassian?
- 18. ¿Existe una buena alternativa a SQL * PLUS para Oracle?
- 19. ¿Existe una alternativa a inet_ntop/InetNtop en Windows XP?
- 20. ¿Existe una alternativa práctica a struct inheritance? (C#)
- 21. ¿Existe una alternativa más rápida a Google Analytics?
- 22. ¿Existe una alternativa gratuita al Exception hunter?
- 23. ¿Existe una alternativa genérica viable para apache.commons.collections.CollectionUtils?
- 24. Alternativa Http simple para Wireshark
- 25. ¿Existe alguna alternativa válida a ANTLR escrita en C#?
- 26. C función readline
- 27. Buscando una alternativa a cfdump
- 28. CMS PHP simple como una alternativa al hackeo de Wordpress
- 29. ¿Existe una alternativa moderna sessionStorage que funcione entre subdominios?
- 30. ¿Existe una alternativa de fuente abierta para StreamBase?
Sí, no parece que lo esté solucionando. Revisé las alternativas, como Editline y libtecla, pero no cumplen el requisito "simple". Voy a tener que agruparlo. –
Prefiero no decir eso. [clisp] (http://clisp.cvs.sourceforge.net/viewvc/clisp/clisp/doc/Why-CLISP-is-under-GPL) es el primero en convertir a GPL debido a readline. [aquí] (http://lwn.net/Articles/428111/) es un artículo sobre readline y GPL. –
Actualizaría esta respuesta, ni Windows ni Mac OS X tienen readline instalada, ¡eso es una gran proporción de usuarios! –