2012-05-29 7 views
10

Esiste il codice Lua per indentare il codice Lua?Codice indentazione Lua in Lua

Ho un sacco di codice lua dove indentarlo sarebbe di aiuto, ed è in un ambiente puro lua.

In difesa della mia domanda: per alcuni di voi qui la situazione qui sembra impossibile. È molto simile alla richiesta di codice Lisp Emacs per formattare il testo. Questo è un vero ambiente di lavoro Lua (interno aziendale). Questo è un puro ambiente lua. Sto cercando uno strumento Lua che possa indentare il codice Lua, non un'opinione sul miglior editor. Paul Kulchenko ha fornito una soluzione straordinaria e così ha Yusuf X.

+1

Questa non è veramente una domanda Lua, questa è una domanda di editor di testo. Qualsiasi editor che valga la pena di essere salato dovrebbe essere in grado di indentare il codice. Inserisco il codice in Vim premendo '='. – Mud

+1

@Mud È sicuramente una domanda Lua. L'ambiente che ho ha solo Lua e nient'altro. Conosco degli editor esterni che possono modificare Lua. –

+0

@ "L'ambiente che ho ha solo Lua e nient'altro." Non hai un editore? Veramente? – Mud

risposta

11

Ho scritto un Lua beautifier e lo ha applicato al mio progetto con un grande gruppo di file Lua (circa 8k linee in totale) . L'abbellitore è in Perl (e sì, ho visto che la domanda riguarda il fatto che sia in Lua), ma (1) è solo 55 linee e dovrebbe essere facilmente traducibile in Lua (non ho tempo per farlo ancora), e (2) è possibile formattare i file da qualche altra parte e ritrasferirli al proprio ambiente (a meno che non sia necessario eseguire periodicamente la riformattazione).

Questo beautifier è basato su un altro Lua-based one (collegamento udead del 3/11/2013; web archive copy), ma quello originale non gestiva tutti i casi che mi interessavano, quindi ho finito per riscriverlo . Potrebbe comunque funzionare anche per te.

L'abbellitore non modifica la struttura della linea (era uno dei requisiti), il che semplifica il controllo, ma modifica il rientro e la formattazione (e gestisce casi complessi di funzioni anonime incorporate e altre cose simili). Il link include alcuni esempi di ciò che fa. È anche possibile rivedere il commit lungo che ho fatto per il nostro progetto con la maggior parte dei file convertiti: https://github.com/pkulchenko/ZeroBraneStudio/commit/85be27559058ce085e95cef47de2c11185f9211a.

Se siete alla ricerca solo di un modo semplice per far rientrare i file (piuttosto che integrare la logica di rientro nella vostra applicazione), quindi è possibile utilizzare ZeroBrane Studio IDE (Edit | Source | Correct Indentation o Ctrl-I).

+0

Vedo che posso adattare facilmente Lua Beautifier ai miei bisogni. Questo è quasi esattamente quello che stavo cercando. –

+0

Il collegamento Lua è morto. –

+0

Grazie Oliver; aggiornato il post. Purtroppo non sono riuscito a trovare una copia del codice Lua originale. –

2
+0

Non sembra che in realtà faccia una vera indentazione, nel senso di analizzare il codice e decidere come ogni riga dovrebbe essere rientrata. Piuttosto, modifica semplicemente la rientranza _ esistente in una forma canonica, a seconda della rientranza esistente per essere corretta. – snogglethorpe

0

Suona come Serpent potrebbe essere quello che sei cercando; codice sorgente Lua con impronta.

1

Ho provato un numero di questi, ma senza un vero successo. Poi ho trovato la soluzione: gli strumenti di sviluppo Lua basati su Eclipse.

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

Scarica quello che vi serve per la versione (se si dispone di un Windows a 64 bit, la versione a 32 bit non funziona). Esegui il file .exe (nessuna installazione richiesta!), Quindi esegui ctrl+shift+f e il tuo codice è tutto abbastanza stampato!