私はLua美化器を作成し、それをLuaファイルの大規模なグループ(合計で約8k行)を使用してプロジェクトに適用しました。美化器はPerlにあります(そして、はい、質問はLuaにあることについてです)が、(1)それは55行しかないので、Luaに簡単に翻訳できるはずです(私はそれをする時間がありません(2)ファイルを別の場所でフォーマットして、環境に戻すことができます(この再フォーマットを定期的に行う必要がある場合を除く)。
この美化器は別のLuaベースのもの(2013年3月11日現在のudeadリンク; Webアーカイブコピー)に基づいていますが、元の美化器は私が興味を持ったすべてのケースを処理しなかったので、私は書き直しましたそれ。それでもあなたのために働くかもしれません。
ビューティファイアは行構造を変更しないため(要件の1つでした)、確認が容易になりますが、インデントとフォーマットが変更されます(また、埋め込まれた無名関数やその他の同様のものの複雑なケースが処理されます)。リンクには、その機能の例がいくつか含まれています。変換されたファイルのほとんどを使用して、プロジェクトに対して行った長いコミットを確認することもできます:https ://github.com/pkulchenko/ZeroBraneStudio/commit/85be27559058ce085e95cef47de2c11185f9211a 。
(インデントロジックをアプリケーションに統合するのではなく)ファイルをインデントする簡単な方法のみを探している場合は、ZeroBrane Studio IDE(Edit | Source | Correct Indentation
またはCtrl-I
)を使用できます。