これは、Ubuntu Online、Fedora Online、Windowsオンラインエミュレーター、MACOSオンラインエミュレーターなどの複数の無料オンラインワークステーションのXNUMXつを使用してOnWorks無料ホスティングプロバイダーで実行できるコマンドluacheckです。
プログラム:
NAME
luacheck-luacheckドキュメント
内容:
LIST OF 警告
Luacheckによって生成される警告は、XNUMX桁の警告コードを使用して分類されます。 警告
コードは、を使用してCLI出力に表示できます。 -コード CLIオプションまたは コード 構成オプション。
エラーには、ゼロで始まるコードもあります。
┌──────┬──────────────────────────────────┐
│コード│説明│
├──────┼──────────────────────────────────┤
│011│構文エラー。 │
├──────┼──────────────────────────────────┤
│021│無効なインラインオプション。 │
├──────┼──────────────────────────────────┤
│022│アップエアされたインラインプッシュ│
││ディレクティブ。 │
├──────┼──────────────────────────────────┤
│023│アップエアされたインラインポップディレクティブ。 │
├──────┼──────────────────────────────────┤
│111│未定義のグローバルの設定│
││変数。 │
├──────┼──────────────────────────────────┤
│112│未定義のグローバルの変更│
││変数。 │
├──────┼──────────────────────────────────┤
│113│未定義のグローバルへのアクセス│
││変数。 │
├──────┼──────────────────────────────────┤
│121│読み取り専用グローバルの設定│
││変数。 │
├──────┼──────────────────────────────────┤
│122│読み取り専用グローバルの変更│
││変数。 │
├──────┼──────────────────────────────────┤
│131│未使用の暗黙的に定義されたグローバル│
││変数。 │
├──────┼──────────────────────────────────┤
│211│未使用のローカル変数。 │
├──────┼──────────────────────────────────┤
│212│未使用の引数。 │
├──────┼──────────────────────────────────┤
│213│未使用のループ変数。 │
├──────┼──────────────────────────────────┤
│221│ローカル変数はアクセスされますが│
││決して設定されません。 │
├──────┼──────────────────────────────────┤
│231│ローカル変数は設定されていますが、決して
││アクセス。 │
├──────┼──────────────────────────────────┤
│232│引数は設定されていますが、決して│ではありません
││アクセス。 │
├──────┼──────────────────────────────────┤
│233│ループ変数は設定されていますが、決して
││アクセス。 │
├──────┼──────────────────────────────────┤
│311│ローカルに割り当てられた値│
││変数は未使用です。 │
└──────┴──────────────────────────────────┘
│312│引数の値は未使用です。 │
├──────┼──────────────────────────────────┤
│313│ループ変数の値は│
││未使用。 │
├──────┼──────────────────────────────────┤
│321│初期化されていないローカルへのアクセス│
││変数。 │
├──────┼──────────────────────────────────┤
│411│ローカル変数の再定義。 │
├──────┼──────────────────────────────────┤
│412│引数を再定義します。 │
├──────┼──────────────────────────────────┤
│413│ループ変数の再定義。 │
├──────┼──────────────────────────────────┤
│421│ローカル変数をシャドウイングします。 │
├──────┼──────────────────────────────────┤
│422│引数をシャドウイングします。 │
├──────┼──────────────────────────────────┤
│423│ループ変数をシャドウイングします。 │
├──────┼──────────────────────────────────┤
│431│アップバリューをシャドウイングします。 │
├──────┼──────────────────────────────────┤
│432│アップバリュー引数をシャドウイングします。 │
├──────┼──────────────────────────────────┤
│433│アップバリューループのシャドウイング│
││変数。 │
├──────┼──────────────────────────────────┤
│511│到達不能コード。 │
├──────┼──────────────────────────────────┤
│512│ループは最大で実行できます│
││一度。 │
├──────┼──────────────────────────────────┤
│521│未使用のラベル。 │
├──────┼──────────────────────────────────┤
│531│割り当ての左側│
││短すぎます。 │
├──────┼──────────────────────────────────┤
│532│割り当ての左側│
││長すぎます。 │
├──────┼──────────────────────────────────┤
│541│空 do end ブロック。 │
├──────┼──────────────────────────────────┤
│542│空 if ブランチ。 │
├──────┼──────────────────────────────────┤
│551│空のステートメント。 │
└──────┴──────────────────────────────────┘
Global variables
Luacheckは、ファイルごとに、そこで使用できる定義済みグローバルのリストを作成します。 デフォルトでは
Lua標準ライブラリのグローバルのみが定義されています。 カスタムグローバルは、を使用して追加できます
-グローバル CLIオプションまたは グローバル 構成オプション、および標準ライブラリのバージョンは次のようになります
を使用して選択 --標準 CLIオプションまたは STD 構成オプション。 未定義のグローバルが設定されている場合、
変更またはアクセスされると、Luacheckは警告を生成します。
読み取り専用の グローバル
デフォルトでは、を除くすべての標準グローバル _G および パッケージ 読み取り専用としてマークされているため、
それらを設定または変更すると、警告が生成されます。 カスタム読み取り専用グローバルは、を使用して追加できます
--read-globals CLIオプションまたは read_globals 構成オプション。
暗黙のうちに 定義済みの グローバル
Luacheckは、特定の条件下で割り当てられたグローバルを次のように見なすように構成できます。
暗黙的に定義されます。 いつ -d/--allow_define CLIオプションまたは 許可_定義済み 構成オプションは
使用されると、グローバルへのすべての割り当てがそれらを定義します。 いつ -t/--allow_define_top CLIオプションまたは
許可_定義_トップ configオプションが使用され、トップレベル関数のグローバルへの割り当て
スコープ(メインチャンクとも呼ばれます)はそれらを定義します。 暗黙的に警告が生成される場合
定義されたグローバルはどこにもアクセスされません。
モジュール
ファイルは、を使用してモジュールとしてマークできます -m/-モジュール CLIオプションまたは モジュール 構成オプション
非推奨のセマンティクスをシミュレートする モジュール 関数。 内部で暗黙的に定義されたグローバル
モジュールはそのインターフェースの一部と見なされ、外部には表示されず、報告されません
未使用として。 他のグローバルへの割り当ては、定義されたものであっても許可されていません。
未使用 variables および 値
Luacheckは、名前の付いたものを除くすべての未使用のローカル変数に対して警告を生成します _。 また、
設定されているがアクセスされていない、またはアクセスされているが設定されていない変数を検出します。
未使用 値 および 未初期化 variables
Luacheckは、ローカル変数に割り当てられた値ごとに、式のセットを計算します。
使用することができます。 未使用の値に対して警告が生成されます(値を使用できない場合)
どこでも)および初期化されていない変数にアクセスするため(値が到達できない場合)
表現)。 たとえば、次のスニペット値に割り当てられています foo 1行目は未使用で、
変数 バー 9行目で初期化されていません:
ローカルfoo = expr1()
ローカルバー
condition()の場合
foo = expr2()
bar = expr3()
ほかに
foo = expr4()
print(bar)
end
foo、barを返す
二次 値 および variables
ローカル変数に割り当てられた未使用の値は、その原点が上の最後の項目である場合、XNUMX次値です。
割り当てのRHS、およびそのアイテムの別の値が使用されます。 二次値
通常、関数呼び出しの結果がローカルに配置されたときに表示され、そのうちの一部のみが表示されます
後で使用されます。 たとえば、ここでは値が割り当てられます b 二次的であり、値はに割り当てられます c is
使用され、割り当てられた値 a 単に未使用です:
ローカルa、b、c = f()、g()
cを返す
変数に割り当てられたすべての値がXNUMX次である場合、その変数はXNUMX次です。 上記のスニペットでは、
b 二次変数です。
未使用のXNUMX次値および変数に関連する警告は、次を使用して削除できます。
-s/--未使用のセカンダリなし CLIオプションまたは used_secondaries 構成オプション。
シャドウイング 宣言
Luacheckは、以前の宣言をシャドウイングしているローカル変数の宣言を検出します。
変数の名前は _。 前の宣言が新しい宣言と同じスコープにある場合、
それは再定義と呼ばれます。
それがであることに注意してください 引数を上書きするときに新しいローカル変数を定義するために必要です。
ローカル関数f(x)
ローカルx = xまたは「デフォルト」-悪い
end
ローカル関数f(x)
x = xまたは「デフォルト」-良い
end
管理 フロー および データ フロー 問題
次の制御フローとデータフローの問題が検出されます。
・最大XNUMX回実行できる到達不能コードとループ(例:
無条件の休憩);
・未使用のラベル。
・不均衡な割り当て。
・空のブロック。
・空のステートメント(前のステートメントのないセミコロン)。
COMMAND LINE INTERFACE
ルアチェック プログラムはファイル、ディレクトリ、 ロックスペック 引数として。
・与えられたファイル、 ルアチェック それをチェックします。
・与えられた -, ルアチェック stdinをチェックします。
・ディレクトリを指定すると、 ルアチェック その中のすべてのファイルをチェックし、
.lua 延長しない限り --インクルードファイル オプションが使用されます。 この機能には
Luaファイルシステム (LuaRocksを使用してLuacheckをインストールした場合は自動的にインストールされます)。
・rockspec(ファイル .rockspec 拡大)、 ルアチェック すべてのファイルをチェックします
.lua のrockspecで言及されている拡張機能 ビルド.インストール.lua, ビルド.インストール.bin および
ビルドモジュール テーブル。
の出力 ルアチェック チェックされたファイルごとに個別のレポートで構成され、
要約:
$ luacheckソース
src / bad_code.lua5の警告を確認しています
src / bad_code.lua:3:16:未使用の変数ヘルパー
src / bad_code.lua:3:23:未使用の可変長引数
src / bad_code.lua:7:10:非標準のグローバル変数の包含を設定する
src / bad_code.lua:8:10:変数optは、7行目の引数として以前に定義されていました
src / bad_code.lua:9:11:未定義の変数ヘプラーへのアクセス
src / good_code.luaOKを確認しています
src / python_code.lua1エラーの確認
src / python_code.lua:1:6:「__ future__」の近くに「=」が必要です
src / unused_code.lua9の警告を確認しています
src / unused_code.lua:3:18:未使用の引数baz
src / unused_code.lua:4:8:未使用のループ変数i
src / unused_code.lua:5:13:未使用の変数q
src / unused_code.lua:7:11:未使用のループ変数a
src / unused_code.lua:7:14:未使用のループ変数b
src / unused_code.lua:7:17:未使用のループ変数c
src / unused_code.lua:13:7:変数xに割り当てられた値は未使用です
src / unused_code.lua:14:1:変数xに割り当てられた値は未使用です
src / unused_code.lua:22:1:変数zに割り当てられた値は未使用です
合計:14つのファイルで1の警告/ 4つのエラー
ルアチェック 警告またはエラーが発生しなかった場合は0で終了し、正の数で終了します
さもないと。
Command ライン オプション
引数を取らない短いオプションをXNUMXつにまとめることができるため、次のようになります。 -qqu is
に相当 -q -q -u。 長いオプションの場合、両方 - オプション 値 or --option = value することができます
中古。
複数の引数を取るオプションは、複数回使用できます。 - 無視 foo - 無視 バー is
に相当 - 無視 foo バー.
次のようないくつかの引数を取る可能性のあるオプションに注意してください -グローバル、使用しないでください
位置引数の直前。 与えられた -グローバル foo バー ファイル.lua, ルアチェック 意志
すべてを考慮する foo, バー および ファイル.lua グローバルになり、ファイル名が残っていないためパニックになります。
┌─────────────────────────────────┬──────────────── ───────────────────┐
│オプション│意味│
├─────────────────────────────────┼──────────────── ───────────────────┤
│-g | -- グローバルではない │に関連する警告を除外する
││グローバル変数。 │
├─────────────────────────────────┼──────────────── ───────────────────┤
│-u | -いいえ-未使用 │に関連する警告を除外する
││未使用の変数と値。 │
├─────────────────────────────────┼──────────────── ───────────────────┤
│-r | -再定義なし │に関連する警告を除外する
││変数を再定義しました。 │
├─────────────────────────────────┼──────────────── ───────────────────┤
│-a | --未使用の引数なし │に関連する警告を除外する
││未使用の引数とループ│
││変数。 │
├─────────────────────────────────┼──────────────── ───────────────────┤
│-s | --未使用のセカンダリなし │に関連する警告を除外する
││一緒に設定された未使用の変数│
││中古のものと。 │
│││
││二次値と変数を参照│
├─────────────────────────────────┼──────────────── ───────────────────┤
│-無我 │に関連する警告を除外する
││暗黙的 自己 口論。 │
└─────────────────────────────────┴────────────────────── ───────────────────┘
│--標準 │標準グローバルを設定します。 することができます│
││次のいずれかになります:│
│││
││・ _G -ルアのグローバル│
││通訳 ルアチェック │
││実行時(デフォルト); │
│││
││・ ルア51 -Luaのグローバル│
││5.1; │
│││
││・ ルア52 -Luaのグローバル│
││5.2; │
│││
││・ lua52c -Luaのグローバル│
││5.2でコンパイル
││LUA_COMPAT_ALL; │
│││
││・ ルア53 -Luaのグローバル│
││5.3; │
│││
││・ lua53c -Luaのグローバル│
││5.3でコンパイル
││LUA_COMPAT_5_2; │
│││
││・ ルアジット -のグローバル│
││LuaJIT2.0; │
│││
││・ ngx_lua -のグローバル│
││Openresty│
││ lua-nginx-モジュール と│
││LuaJIT2.0; │
│││
││・ 分 -│の交差点
││Lua5.1、Luaのグローバル
││5.2およびLuaJIT2.0; │
│││
││・ マックス -グローバルの和集合│
││Lua5.1、Lua 5.2、および│
││LuaJIT2.0; │
│││
││・ 壊れた -グローバルが追加されました│
││Busted2.0による; │
│││
││・ なし -標準なし│
││グローバル。 │
│││
││参照 セット of 標準 │
││ グローバル │
├─────────────────────────────────┼──────────────── ───────────────────┤
│-グローバル [[ ] ... │上にカスタムグローバルを追加
││標準的なもの。 │
├─────────────────────────────────┼──────────────── ───────────────────┤
│--read-globals [[ ] ... │読み取り専用グローバルを追加します。 │
├─────────────────────────────────┼──────────────── ───────────────────┤
│-- 新しいグローバル [[ ] ... │カスタムグローバルを設定します。 削除│
││以前に追加されたカスタムグローバル。 │
├─────────────────────────────────┼──────────────── ───────────────────┤
│--new-read-globals [[ ] │読み取り専用グローバルを設定します。 削除│
│... │読み取り専用グローバルが追加されました│
││以前。 │
├─────────────────────────────────┼──────────────── ───────────────────┤
│-c | --互換性 │と同等 --標準 マックス。 │
└─────────────────────────────────┴────────────────────── ───────────────────┘
│-d | --許可定義 │グローバルの定義を許可する│
││それらを設定することにより暗黙的に。 │
│││
││暗黙的に定義されたグローバルを参照│
├─────────────────────────────────┼──────────────── ───────────────────┤
│-t | --allow-定義-トップ │グローバルの定義を許可する│
││それらを│に設定することにより暗黙的に
││トップレベルのスコープ。 │
│││
││暗黙的に定義されたグローバルを参照│
├─────────────────────────────────┼──────────────── ───────────────────┤
│-m | -モジュール │暗黙的に可視性を制限する│
││ファイルにグローバルを定義しました。 │
│││
││モジュールを参照│
├─────────────────────────────────┼──────────────── ───────────────────┤
│- 無視 | -i [[ ] │一致する警告を除外する│
│... │パターン。 │
├─────────────────────────────────┼──────────────── ───────────────────┤
│- 有効 | -e [[ ] │警告を除外しない│
│... │マッチングパターン。 │
├─────────────────────────────────┼──────────────── ───────────────────┤
│- それだけ | -o [[ ] ... │一致しない警告を除外する│
││パターン。 │
├─────────────────────────────────┼──────────────── ───────────────────┤
│-インラインなし │インラインオプションを無効にします。 │
├─────────────────────────────────┼──────────────── ───────────────────┤
│--config │カスタム構成へのパス│
││ファイル(デフォルト: .luacheckrc)。 │
├─────────────────────────────────┼──────────────── ───────────────────┤
│--no-config │カスタムを検索しないでください│
││構成ファイル。 │
├─────────────────────────────────┼──────────────── ───────────────────┤
│- ファイル名 │出力に別のファイル名を使用します、│
││構成を選択するため
││オーバーライドおよびファイル用│
││フィルタリング。 │
├─────────────────────────────────┼──────────────── ───────────────────┤
│-除外-ファイル [ ] │一致するファイルをチェックしない│
│... │これらのグロブパターン。 │
││のような再帰的なグロブ **/*。lua │
││がサポートされています。 │
├─────────────────────────────────┼──────────────── ───────────────────┤
│--インクルードファイル [ ] │一致しないファイルをチェックしない│
│... │これらのグロブパターン。 │
├─────────────────────────────────┼──────────────── ───────────────────┤
│- キャッシュ [ ] │キャッシュファイルへのパス。 (デフォルト:│
││ .luacheckcache)。 見る キャッシング │
├─────────────────────────────────┼──────────────── ───────────────────┤
│-キャッシュなし │キャッシュを使用しないでください。 │
├─────────────────────────────────┼──────────────── ───────────────────┤
│-j | -ジョブ │チェック 並列のファイル。 │
││必要 ルアラネス。 │
└─────────────────────────────────┴────────────────────── ───────────────────┘
│-フォーマッター │カスタムフォーマッターを使用します。 │
││ モジュールである必要があります│
││名前または次のいずれか:│
│││
││・ TAP -何かをテストする│
││プロトコルフォーマッター; │
│││
││・ JUnit -JUnitXML│
││フォーマッター; │
│││
││・ 平野 -シンプル│
││行ごとの警告│
││フォーマッター; │
│││
││・ デフォルト -標準│
││フォーマッター。 │
├─────────────────────────────────┼──────────────── ───────────────────┤
│-q | - 静かな │ファイルのレポート出力を抑制します│
││警告なし。 │
│││
││・ -qq -出力を抑制する│
警告の││。 │
│││
││・ -qqq -出力のみ│
││まとめ。 │
├─────────────────────────────────┼──────────────── ───────────────────┤
│-コード │警告コードを表示します。 │
├─────────────────────────────────┼──────────────── ───────────────────┤
│-範囲 │関連する列の範囲を表示する│
││警告へ。 │
├─────────────────────────────────┼──────────────── ───────────────────┤
│-無着色 │出力に色を付けないでください。 │
├─────────────────────────────────┼──────────────── ───────────────────┤
│-v | - バージョン │Luacheckとそのバージョンを表示する│
││依存関係と終了。 │
├─────────────────────────────────┼──────────────── ───────────────────┤
│-h | - 助けて │ヘルプを表示して終了します。 │
└─────────────────────────────────┴────────────────────── ───────────────────┘
パターン
CLIオプション - 無視, - 有効 および - それだけ および対応する構成オプションにより、フィルタリングが可能になります
警告コード、変数名、またはその両方でパターンマッチングを使用した警告。 パターンの場合
スラッシュが含まれ、スラッシュの前の部分は警告コードと一致し、後の部分は一致します
変数名。 それ以外の場合、パターンに文字またはアンダースコアが含まれていると、
変数名。 それ以外の場合は、警告コードと一致します。 例えば:
┌────────┬────────────────────────────────┐
│パターン│一致する警告│
├───┼───────────────┤
│4.2│のシャドウイング宣言
││引数またはそれらを再定義します。 │
├───┼───────────────┤
│。* _│変数に関連する警告│
││with _ サフィックス。 │
├───┼───────────────┤
│4.2/.*_│のシャドウイング宣言│
││引数 _ 接尾辞または│
││それらを再定義します。 │
└────────┴────────────────────────────────┘
すでに固定されていない限り、変数名に一致するパターンは両側に固定され、
警告コードに一致するパターンは、最初に固定されています。 これにより、
カテゴリで警告をフィルタリングします(例: - それだけ 1 焦点を当てて ルアチェック グローバル関連の警告について)。
セット of 標準 グローバル
CLIオプション --stds 上記の組み込みセットを使用して組み合わせることができます +。 例えば、
--標準 マックス に相当します --std = lua51 + lua52 + lua53。 先頭のプラス記号は、に新しいセットを追加します
置き換える代わりにデフォルトのもの。 例えば、 --標準 +バスト チェックに適しています
を使用するテストファイル バステッド テストフレームワーク。 グローバルのカスタムセットは、次のように定義できます。
グローバル変数の変更 性感染症 構成で。 custom_stdsを参照してください
フォーマッター
CLIオプション -フォーマッター のカスタムフォーマッタを選択できます ルアチェック 出力。 カスタム
formatterは、XNUMXつの引数を持つ関数を返すLuaモジュールです。
ルアチェック モジュール(レポートを参照)、ファイル名の配列、およびオプションのテーブル。 オプションが含まれています
に割り当てられた値 静かな, カラー, 制限, コード, 範囲 および フォーマッター CLIのオプションまたは
構成。 Formatter関数は文字列を返す必要があります。
キャッシング
LuaFileSystemが使用可能な場合、Luacheckはファイルのチェック結果をキャッシュできます。 その後
チェック、最後のチェック以降に変更されたファイルのみが再チェックされ、改善されます
実行時間は大幅に。 オプションの変更(たとえば、追加のグローバルの定義)はしません
キャッシュを無効にします。 を使用してキャッシュを有効にできます - キャッシュ オプションまたは キャッシュ 設定
オプション。 使用する - キャッシュ 引数や設定なし キャッシュ 構成オプション true セット
.luacheckcache キャッシュファイルとして。 ご了承ください - キャッシュ 毎回使用する必要があります ルアチェック is
最初の実行だけではなく、実行します。
安定した インタフェース の エディタ プラグイン および 豊富なツール群
Luacheckのコマンドラインインターフェイスは、マイナーリリース間で変更される可能性があります。 0.11.0から
バージョン、次のインターフェイスは少なくとも1.0.0バージョンまで保証されており、
Luacheck出力を使用するツール(エディタープラグインなど)で使用されます。
・luacheckは、チェックされたファイルを含むディレクトリから開始する必要があります。
・ファイルは、を使用してstdinを通過できます。 - 引数として、または一時ファイルを使用します。 本物
ファイル名はを使用して渡す必要があります - ファイル名 オプションを選択します。
・プレーンフォーマッタを使用する必要があります。 XNUMX行にXNUMXつの問題(警告またはエラー)を出力します。
・正確なエラーの場所を取得するには、 -範囲 オプションを使用できます。 各行は本物で始まります
ファイル名(を使用して渡されます - ファイル名)、 に続く : : - :,
コラボレー 問題が発生した行番号であり、 - is
問題に関連するトークンの列の包括的範囲。 番号付けは1から始まります。
-範囲 は使用されず、終了列とダッシュは印刷されません。
・警告およびエラーコードを取得するには、 -コード オプションを使用できます。 各行について、部分文字列
括弧の間にXNUMX桁の発行コードが含まれ、接頭辞は E エラーと W
警告のため。 このような部分文字列の欠如は、致命的なエラー(I / Oエラーなど)を示します。
・行の残りは警告メッセージです。
古いバージョンのLuacheckとの互換性が必要な場合は、 ルアチェック - 助けて することができます
そのバージョンを取得するために使用されます。 文字列が含まれている場合 0。 。ここで、 〜で
少なくとも11と patch は任意の数です。上記のインターフェースを使用する必要があります。
CONFIGURATION FILE
ルアチェック から構成をロードしようとします .luacheckrc 現在のディレクトリ内のファイル。 もしも
見つからない場合は、親ディレクトリなどで検索し、それまで検索します。
ファイルシステムのルートに到達します。 構成へのパスは、を使用して設定できます --config オプション、その場合
再帰的な読み込み中に使用されます。 構成の読み込みは、を使用して無効にできます --no-config
フラグ。
Configは、によって実行される単純なLuaスクリプトです。 ルアチェック。 によって様々なオプションを設定することができます
グローバルに割り当てるか、オプション名をキーとして持つテーブルを返すことによって。
設定 オプション
┌───────────────────┬──────────────────────────┬── ───────────────────┐
│オプション│タイプ│デフォルト値│
├───────────────────┼──────────────────────────┼── ───────────────────┤
│カラー │ブール型│ true │
├───────────────────┼──────────────────────────┼── ───────────────────┤
│コード │ブール型│ false │
└───────────────────┴──────────────────────────┴─── ───────────────────┘
│フォーマッター │文字列または関数│ "デフォルト" │
├───────────────────┼──────────────────────────┼── ───────────────────┤
│キャッシュ │ブール値または文字列│ false │
├───────────────────┼──────────────────────────┼── ───────────────────┤
│jobs │正の整数│ 1 │
├───────────────────┼──────────────────────────┼── ───────────────────┤
│extract_files │文字列の配列│ {} │
├───────────────────┼──────────────────────────┼── ───────────────────┤
│include_files │文字列の配列│(すべてのファイルを含む)│
├───────────────────┼──────────────────────────┼── ───────────────────┤
│全体的な │ブール型│ true │
├───────────────────┼──────────────────────────┼── ───────────────────┤
│未使用 │ブール型│ true │
├───────────────────┼──────────────────────────┼── ───────────────────┤
│次の高みへ │ブール型│ true │
├───────────────────┼──────────────────────────┼── ───────────────────┤
│used_args │ブール型│ true │
├───────────────────┼──────────────────────────┼── ───────────────────┤
│used_secondaries │ブール型│ true │
├───────────────────┼──────────────────────────┼── ───────────────────┤
│自己 │ブール型│ true │
├───────────────────┼──────────────────────────┼── ───────────────────┤
│STD │文字列またはのセット│ 「_G」 │
││標準グローバル││
├───────────────────┼──────────────────────────┼── ───────────────────┤
│グローバル │文字列の配列│ {} │
├───────────────────┼──────────────────────────┼── ───────────────────┤
│新しいグローバル │文字列の配列│(上書きしないでください)│
├───────────────────┼──────────────────────────┼── ───────────────────┤
│read_globals │文字列の配列│ {} │
├───────────────────┼──────────────────────────┼── ───────────────────┤
│new_read_globals │文字列の配列│(上書きしないでください)│
├───────────────────┼──────────────────────────┼── ───────────────────┤
│互換性 │ブール型│ false │
├───────────────────┼──────────────────────────┼── ───────────────────┤
│許可_定義済み │ブール型│ false │
├───────────────────┼──────────────────────────┼── ───────────────────┤
│許可_定義_トップ │ブール型│ false │
├───────────────────┼──────────────────────────┼── ───────────────────┤
│モジュール │ブール型│ false │
├───────────────────┼──────────────────────────┼── ───────────────────┤
│無視する │パターンの配列(│を参照) {} │
││パターン)││
├───────────────────┼──────────────────────────┼── ───────────────────┤
│enable │パターンの配列│ {} │
├───────────────────┼──────────────────────────┼── ───────────────────┤
│の │パターンの配列│(フィルタリングしない)│
├───────────────────┼──────────────────────────┼── ───────────────────┤
│インライン │ブール型│ true │
└───────────────────┴──────────────────────────┴─── ───────────────────┘
を作成する構成の例 ルアチェック ポータブルからのグローバルのみを確認してください
Lua 5.1、Lua 5.2、Lua 5.3、LuaJIT 2.0の交差点が使用され、無効になります
未使用の引数の検出:
std = "min"
無視= {"212"}
カスタム セット of グローバル
STD オプションを使用すると、テーブルを使用してグローバルのカスタム標準セットを設定できます。 その表では、
文字列キーはグローバルであり、配列部分の文字列は読み取り専用のグローバルです。
さらに、グローバルを変更することにより、カスタムセットに名前を付けることができます 性感染症 変数。 にとって
例、使用する場合 LPEG ライブラリ、それは簡潔に使用してその関数にアクセスすることは理にかなっています
グローバル。 その場合、次の構成により、に関連する誤検知を削除できます。
簡単にグローバルアクセス:
stds.lpeg =「lpeg」が必要
ローカルlpeg =「lpeg」が必要
ローカル関数parse1(...)
-この関数は、グローバルとしてlpeg関数のみを使用します。
ローカル_ENV = lpeg
--luacheck:std lpeg
ローカル桁、スペース= R "09"、S ""
--..。
end
ローカル関数parse2(...)
-この関数は、lpeg関数と標準のグローバルを使用します。
local _ENV = setmetatable({}、{__ index = function(_、k)return _ENV [k]またはlpeg [k] end})
--luacheck:std + lpeg
ローカル桁、スペース= R "09"、S ""
ローカル番号= C(digit ^ 1)/ tonumber
--..。
end
ファイルごと および パスごと オーバーライド
の環境 ルアチェック 構成に特別なグローバルが含まれていることをロードします ファイル。 時
ファイルをチェックする , ルアチェック メイン設定のオプションをエントリで上書きします
from ファイル[ ] および ファイル[ ]、最初に短いパスのエントリを適用します。 にとって
たとえば、次の設定では、次のファイルに対してのみ未使用の引数の検出が再度有効になります。
src / dirしかし、そうではない src / dir / myfile.lua、および使用を許可します バステッド 内のグローバル スペック/:
std = "min"
無視= {"212"}
files ["src / dir"] = {enable = {"212"}}
files ["src / dir / myfile.lua"] = {ignore = {"212"}}
files ["spec"] = {std = "+ busted"}
注意してください ファイル テーブルは自動生存をサポートしているため、
files ["myfile.lua"]。ignore = {"212"}
および
files ["myfile.lua"] = {ignore = {"212"}}
同等です。
列をなして OPTIONS
Luacheckは、インラインを使用してチェックされたファイルに直接いくつかのオプションを設定することをサポートしています
構成コメント。 インライン構成コメントはで始まります luacheck: ラベル、
おそらく空白の後。 コメントの本文にはカンマ区切りを含める必要があります
オプション。オプションの呼び出しは、名前とスペースで区切られた引数で構成されます。 The
次のオプションがサポートされています。
┌───────────────────┬────────────────────────────── ─────┐
│オプション│引数の数│
├───────────────────┼────────────────────────────── ─────┤
│グローバル│0│
├───────────────────┼────────────────────────────── ─────┤
│未使用│0│
├───────────────────┼────────────────────────────── ─────┤
│再定義│0│
├───────────────────┼────────────────────────────── ─────┤
│未使用の引数│0│
├───────────────────┼────────────────────────────── ─────┤
│未使用のセカンダリー│0│
├───────────────────┼────────────────────────────── ─────┤
│自己│0│
└───────────────────┴────────────────────────────── ─────┘
│compat│0│
├───────────────────┼────────────────────────────── ─────┤
│モジュール│0│
├───────────────────┼────────────────────────────── ─────┤
│定義を許可│0│
├───────────────────┼────────────────────────────── ─────┤
│定義されたトップを許可│0│
├───────────────────┼────────────────────────────── ─────┤
│std│1│
├───────────────────┼────────────────────────────── ─────┤
│グローバル│0+│
├───────────────────┼────────────────────────────── ─────┤
│新しいグローバル│0+│
├───────────────────┼────────────────────────────── ─────┤
│グローバル変数の読み取り│0+│
├───────────────────┼────────────────────────────── ─────┤
│新しい読み取りグローバル│0+│
├───────────────────┼────────────────────────────── ─────┤
│無視│0+(引数なしですべて│
││無視されます)│
├───────────────────┼────────────────────────────── ─────┤
│有効化│1+│
├───────────────────┼────────────────────────────── ─────┤
│のみ│1+│
└───────────────────┴────────────────────────────── ─────┘
引数をとらないオプションには、接頭辞を付けることができます いいえ それらの意味を逆にする。 例えば
--luacheck: いいえ 未使用 引数 未使用の引数の警告を無効にします。
インラインオプションの影響を受けるファイルの一部は、ファイルが配置されている場所によって異なります。 ある場合
オプションを指定した行のコード。その行のみが影響を受けます。 それ以外の場合は、
現在のクロージャの終わりはです。 特に、ファイルの上部にあるインラインオプション
すべてに影響します:
--luacheck:グローバルg1 g2、fooを無視
local foo = g1(g2)-警告は発行されません。
-次の未使用の関数は報告されません。
ローカル関数f()-luacheck:無視
--luacheck:グローバルg3
g3()-警告なし。
end
g3()-警告は、g3が影響を受ける関数fのみを定義するインラインオプションとして発行されます。
インラインオプションの可視性をきめ細かく制御するには、 luacheck: プッシュ および luacheck:
ポップ ディレクティブ:
--luacheck:プッシュ無視foo
foo()-警告なし。
--luacheck:ポップ
foo()-警告が発行されます。
インラインオプションは、を使用して完全に無効にすることができます -インラインなし CLIオプションまたは インライン 設定
オプションを選択します。
ルアチェック モジュール
ローカル ルアチェック = 必要とする 「ルアチェック」 インポートします ルアチェック モジュール。 それは含まれています
次の機能:
· luacheck.get_report(ソース):指定されたソース文字列は、分析データ(テーブル)を返します。
· luacheck.process_reports(reports、 オプション):一連の分析レポートを処理し、
オプションを適用します。 レポート[i] 使用されます オプション, オプション[i], オプション[i] [1], オプション[i] [2]、 ...
オプションとして、この順序で相互にオーバーライドします。 オプションテーブルは、フィールドを持つテーブルです
設定オプションに似ています。 オプションを参照してください。 フィールド付きの分析レポート 致命的な 無視されます。
プロセスレポート 最終レポートを返します。を参照してください。 レポート 形式でアーカイブしたプロジェクトを保存します..
· luacheck.check_strings(sources、 オプション):オプションを使用してソースの配列をチェックし、戻り値
最終報告。 フィールドのあるテーブル 致命的な 以内 ソース 配列は無視されます。
· luacheck.check_files(files、 オプション):オプションを使用してファイルの配列をチェックし、finalを返します
報告する。 ファイル名の代わりに開いているファイルハンドルを渡すことができます。その場合、ファイル名は次のようになります。
EOFまで読み取り、閉じます。
· luacheck.get_message(issue):問題の文字列メッセージを返します。を参照してください。 レポート 形式でアーカイブしたプロジェクトを保存します..
luacheck._VERSION の文字列としてLuacheckバージョンが含まれています メジャー.マイナー.パッチ 形式でダウンロードすることができます。
使い方 ルアチェック 関数としての呼び出しと同等です luacheck.check_files.
レポート 形式でアーカイブしたプロジェクトを保存します.
最終レポートは、ファイルレポートとフィールドの配列です。 警告, エラー および 致命的な
それに応じて、警告、エラー、致命的なエラーの総数が含まれます。
ファイルレポートは、一連の問題(警告またはエラー)です。 致命的なエラーが発生した場合
ファイルをチェックすると、そのレポートには 致命的な エラータイプを含むフィールド。
問題はフィールドのあるテーブルです コード そのタイプを示します(を参照) 警告)、およびフィールド ライン,
の項目に表示されます。 および 終了列 警告のソースを指しています。 名 フィールドには名前を含めることができます
関連変数の。 一部のタイプの問題には、追加のフィールドが含まれる場合もあります。
┌──────┬─────────────┐
│コード│追加フィールド│
§──────┼─────────────────┤
│011│ MSG フィールドに構文エラーが含まれています│
││メッセージ。 │
§──────┼─────────────────┤
│111│ モジュール フィールドは、│を示します
││割り当ては非モジュールへです│
││グローバル変数。 │
§──────┼─────────────────┤
│211│ ファンク フィールドは未使用であることを示します│
││変数は関数です。 │
§──────┼─────────────────┤
│4..│ 前の行 および 前の列 フィールド│
││の場所が含まれています│
││上書きされた定義。 │
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┘
内部的な理由により、他のフィールドが存在する場合があります。
これは、0.13.0バージョンのドキュメントです。 ルアチェック、リンター Luaの.
onworks.netサービスを使用してオンラインでluacheckを使用する