2012-05-29 53 views
10

是否存在用於縮進Lua代碼的Lua代碼?Lua中的Lua縮進代碼

我有很多lua代碼,其中縮進它會有所幫助,並且它在純粹的lua環境中。

捍衛我的問題:對於你們中的一些人來說,這裏的情況聽起來不可能。這與請求Emacs Lisp代碼格式化文本非常相似。這是一個真正的現場工作(公司內部)Lua環境。這是一個純粹的盧阿環境。我正在尋找可以縮進Lua代碼的Lua工具,而不是關於最佳編輯器的意見。保羅Kulchenko提供了一個驚人的解決方案等方面具有優素福X.

+1

這不是一個真正的Lua問題,這是一個文本編輯器問題。任何值得使用鹽的編輯器都應該能夠縮進代碼。我通過點擊'='在Vim中縮進代碼。 – Mud

+1

@Mud這絕對是一個Lua的問題。我擁有的環境只有Lua,沒有別的。我知道可以編輯Lua的外部編輯。 –

+0

@「我所擁有的環境只有Lua,沒有別的。」你沒有編輯器?真? – Mud

回答

11

我已經寫了Lua beautifier,並將其與一大羣的Lua文件應用到我的項目(總共約8K行) 。美化是Perl(是的,我看到的問題是關於它在Lua中),但(1)它只有55行,它應該很容易轉換爲Lua(我只是沒有時間做到這一點(2)你可以在別的地方格式化你的文件,然後傳回你的環境(除非你需要定期完成這個重新格式化)。

這個美化者基於另一個Lua-based one(udead鏈接截至2013年3月11日; web archive copy),但原來的並沒有處理我感興趣的所有情況,所以我最終重寫了它。它可能仍然適用於你。

美化者不改變線結構(這是需求之一),這使得它易於檢查,但改變縮進和格式(並處理嵌入式匿名函數和其他類似事情的複雜情況)。該鏈接包含了它所做的一些例子。您也可以查看我爲我們的項目所做的長時間提交,其中大部分轉換後的文件爲:https://github.com/pkulchenko/ZeroBraneStudio/commit/85be27559058ce085e95cef47de2c11185f9211a

如果你只是在尋找一種簡單的方法來縮進您的文件(而不是壓痕邏輯到您的應用程序集成),那麼你可以使用ZeroBrane Studio IDEEdit | Source | Correct IndentationCtrl-I)。

+0

我發現我可以很容易地將Lua Beautifier適應我的需求。這幾乎就是我正在尋找的東西。 –

+0

基於Lua的鏈接已經死亡。 –

+0

謝謝奧利弗;更新了這篇文章。不幸的是我找不到原始Lua代碼的副本。 –

2
+0

從解析代碼和決定每行如何縮進的意義上說,它看起來並不像真正的縮進。相反,它只是將_existing_ indentation更改爲某種規範形式,具體取決於現有縮進是否正確。 – snogglethorpe

1

我嘗試了一些這些但沒有真正的成功。然後我碰到了這個解決方案:基於Eclipse的Lua開發工具。

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

下載你需要爲你的版本是什麼(如果你有一個64位Windows,32位版本不工作)。運行.exe(不需要安裝!),然後執行ctrl+shift+f,你的代碼都打印出來了!