2012-05-29 26 views
10

¿Existe un código Lua para sangrar el código Lua?Código de sangría Lua en Lua

Tengo un montón de código lua donde hechizarlo sería útil, y está en un entorno lua puro.

En defensa de mi pregunta: Para algunos de ustedes la situación aquí parece imposible. Es muy similar a solicitar el código Emacs Lisp para formatear el texto. Este es un entorno Lua real de trabajo en vivo (empresa interna). Este es un ambiente lua puro. Estoy buscando una herramienta Lua que pueda sangrar el código Lua, no una opinión sobre el mejor editor. Paul Kulchenko ha proporcionado una solución increíble y también lo ha hecho Yusuf X.

+1

Esto no es realmente una pregunta de Lua, esta es una pregunta del editor de texto. Cualquier editor que valga la pena debería ser capaz de sangrar el código. Sando el código en Vim presionando '='. – Mud

+1

@Mud Definitivamente es una pregunta de Lua. El entorno que tengo solo tiene Lua y nada más. Sé de editores externos que pueden editar Lua. –

+0

@ "El entorno que tengo solo tiene Lua y nada más". Usted no tiene editor? De Verdad? – Mud

Respuesta

11

He escrito un Lua beautifier y lo aplicó a mi proyecto con un gran grupo de archivos Lua (aproximadamente 8k líneas en total) . El embellecedor está en Perl (y sí, vi que la pregunta es sobre Lua), pero (1) son solo 55 líneas y debería ser fácilmente traducible a Lua (simplemente no tengo tiempo para hacerlo) aún), y (2) puede formatear sus archivos en otro lugar y transferirlos a su entorno (a menos que necesite que este nuevo formato se realice de forma regular).

Este embellecimiento se basa en otro Lua-based one (enlace de udead a partir del 3/11/2013; web archive copy), pero el original no manejaba todos los casos que me interesaban, así que terminé reescribiéndolo . Sin embargo, aún puede funcionar para ti.

El embellecedor no cambia la estructura de la línea (era uno de los requisitos), lo que facilita la comprobación, pero cambia la sangría y el formato (y maneja casos complejos de funciones anónimas incrustadas y otras cosas similares). El enlace incluye algunos ejemplos de lo que hace. También puede revisar el compromiso largo que hice para nuestro proyecto con la mayoría de los archivos convertidos: https://github.com/pkulchenko/ZeroBraneStudio/commit/85be27559058ce085e95cef47de2c11185f9211a.

Si usted está buscando sólo para una forma fácil para sangrar sus archivos (en lugar de integrar la lógica muesca en su aplicación), entonces se puede utilizar ZeroBrane Studio IDE (Edit | Source | Correct Indentation o Ctrl-I).

+0

Veo que puedo adaptar el Lua Beautifier a mis necesidades con bastante facilidad. Eso es casi exactamente lo que estaba buscando. –

+0

El enlace basado en Lua está muerto. –

+0

Gracias Oliver; actualizó la publicación. Lamentablemente no pude encontrar una copia del código Lua original. –

2
+0

No parece que realmente tenga una sangría real, en el sentido de analizar el código y decidir cómo debe sangrarse cada línea. Por el contrario, simplemente cambia la sangría _existing_ en alguna forma canónica, dependiendo de la sangría existente para ser correcta. – snogglethorpe

0

Suena como Serpent podría ser lo que eres buscando; bonito-imprime el código fuente de Lua con sangría.

1

Probé algunas de estas, pero sin éxito. Luego busqué la solución: las herramientas de desarrollo Lua basadas en Eclipse.

http://eclipse.org/koneki/ldt/

Descargar lo que necesita para su versión (si usted tiene un Windows de 64 bits, la versión de 32 bits no funciona). Ejecute el .exe (¡no es necesario instalarlo!), Luego, haga ctrl+shift+f, ¡y su código está muy bien impreso!