15

是否存在缩进 Lua 代码的 Lua 代码?

我有很多 lua 代码,缩进会有所帮助,而且它在纯 lua 环境中。

为我的问题辩护:对于你们中的一些人来说,这里的情况听起来是不可能的。这与请求 Emacs Lisp 代码格式化文本非常相似。这是一个真实的工作(公司内部)Lua 环境。这是一个纯lua环境。我正在寻找可以缩进 Lua 代码的 Lua 工具,而不是关于最佳编辑器的意见。Paul Kulchenko 提供了一个惊人的解决方案,Yusuf X 也是如此。

4

6 回答 6

14

我已经编写了一个Lua 美化器,并将它应用到我的项目中,其中包含大量 Lua 文件(总共大约 8k 行)。美化器在 Perl 中(是的,我看到问题是关于它在 Lua 中),但是(1)它只有 55 行,它应该很容易翻译成 Lua(我只是没有时间这样做然而),以及(2)您可以在其他地方格式化您的文件并传输回您的环境(除非您需要定期进行这种重新格式化)。

这个美化器基于另一个基于Lua 的美化器(截至 2013 年 3 月 11 日的 udead 链接;网络存档副本),但原来的美化器并没有处理我感兴趣的所有案例,所以我最终重写了它。不过,它可能仍然对您有用。

美化器不会改变行结构(这是要求之一),这使它易于检查,但会改变缩进和格式(并处理嵌入式匿名函数和其他类似事情的复杂情况)。该链接包括它的一些示例。您还可以查看我为我们的项目所做的大部分转换文件的长期提交:https ://github.com/pkulchenko/ZeroBraneStudio/commit/85be27559058ce085e95cef47de2c11185f9211a 。

如果您只是在寻找一种简单的方法来缩进您的文件(而不是将缩进逻辑集成到您的应用程序中),那么您可以使用ZeroBrane Studio IDEEdit | Source | Correct IndentationCtrl-I)。

于 2012-06-08T17:29:08.950 回答
2

这是一个: http: //lua-users.org/wiki/SourceCodeFormatter

于 2012-05-29T15:46:10.297 回答
1

我尝试了其中的一些,但没有真正的成功。然后我找到了解决方案:基于 Eclipse 的 Lua 开发工具。

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

下载您需要的版本(如果您有 64 位 Windows,则 32 位版本不起作用)。运行 .exe(无需安装!),然后运行ctrl+shift+f,您的代码就打印好了!

于 2015-03-22T08:24:09.940 回答
0

试试这个用 Lua 编写的代码格式化程序,它有几个选项,如果你想在选项之外自定义它,你可以随时编辑它:

http://lua-users.org/wiki/SourceCodeFormatter

于 2012-08-03T22:44:45.880 回答
0

听起来Serpent可能就是您要找的东西。漂亮地打印带有缩进的 Lua 源代码。

于 2012-09-07T20:40:41.033 回答
0

还有https://github.com/LuaDist/luapretty

虽然它是基于 Lua 的,但它需要一些库。请参阅自述文件。

于 2015-10-07T12:08:39.807 回答