2011-08-05 5 views
7

Estoy escribiendo una aplicación Java basada en consola en la que se le presentarán al usuario un comando personalizado donde puede escribir ciertos comandos, quiero implementar una característica de autocompletar para la aplicación mientras escribe el comando, si el usuario presiona TAB, entonces el comando debe completarse. La funcionalidad es similar a la autocompletada en el símbolo del sistema de Linux.Autocompletado basado en pestañas en la aplicación de consola

En la aplicación Java Console no tenemos el control sobre TAB y una TAB presionada agregará de forma predeterminada 8 espacios. Necesito un truco mediante el cual el TAB no vaya para renderizar y mi aplicación puede reemplazar el TAB con autocompletar.

Gracias de antemano.

+0

Compruebe el proyecto RHQ y su CLI. Tiene bastante buena implementación de autocompletar. http://git.fedorahosted.org/git/?p=rhq/rhq.git;a=tree;f=modules/enterprise/remoting/cli;h=ba5c185774538696525b6c05c3777964f5dd606c;hb=HEAD –

+0

Hola GJ, tengo una muy pregunta básica ¿Cómo manipulas las cadenas de la consola? ¿Usas String Buffer? ¿Puedes compartir algunas de tus decisiones de diseño? –

Respuesta

7

Puede probar el uso de una biblioteca como Java-Readline o jline2.

+0

El único en desarrollo activo es [jline3] (https://github.com/jline/jline3) ahora. –

0

La biblioteca de análisis de línea de comandos de picocli de Java agregó recientemente funcionalidad de autocompletar.

También le puede interesar cómo le permite usar colores y estilos ANSI en el mensaje de ayuda de uso.

enter image description here

responsabilidad: yo soy el autor y por lo tanto sesgada.

Cuestiones relacionadas