diff options
| author | ruki <[email protected]> | 2023-02-01 00:53:04 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2023-02-01 00:53:04 +0800 |
| commit | 8fcfa349daf5add9d1be7ab5091eab4c5b89ea76 (patch) | |
| tree | 7dd4a72e1e7d24539d26ec43269f4c62cb649771 | |
| parent | 93aa9ca807fd263059df50406abe033f24846b31 (diff) | |
do check
| -rw-r--r-- | xmake/plugins/check/checker.lua | 2 | ||||
| -rw-r--r-- | xmake/plugins/check/checkers/api/target/languages.lua | 1 | ||||
| -rw-r--r-- | xmake/plugins/check/checkers/api/target/packages.lua | 1 | ||||
| -rw-r--r-- | xmake/plugins/check/main.lua | 27 |
4 files changed, 28 insertions, 3 deletions
diff --git a/xmake/plugins/check/checker.lua b/xmake/plugins/check/checker.lua index 148c21059..025b4bde8 100644 --- a/xmake/plugins/check/checker.lua +++ b/xmake/plugins/check/checker.lua @@ -50,7 +50,7 @@ function complete(complete, opt) else table.insert(list, "...") end - elseif k:startswith(complete) then + elseif name:startswith(complete) then table.insert(list, name) end end diff --git a/xmake/plugins/check/checkers/api/target/languages.lua b/xmake/plugins/check/checkers/api/target/languages.lua index 5a0b8122e..c401f5584 100644 --- a/xmake/plugins/check/checkers/api/target/languages.lua +++ b/xmake/plugins/check/checkers/api/target/languages.lua @@ -19,4 +19,5 @@ -- function main() + print("check languages ..") end diff --git a/xmake/plugins/check/checkers/api/target/packages.lua b/xmake/plugins/check/checkers/api/target/packages.lua index fe3de2f01..900948e3d 100644 --- a/xmake/plugins/check/checkers/api/target/packages.lua +++ b/xmake/plugins/check/checkers/api/target/packages.lua @@ -19,4 +19,5 @@ -- function main() + print("check packages ..") end diff --git a/xmake/plugins/check/main.lua b/xmake/plugins/check/main.lua index 3e411ff54..e2479526d 100644 --- a/xmake/plugins/check/main.lua +++ b/xmake/plugins/check/main.lua @@ -23,6 +23,7 @@ import("core.base.option") import("core.base.text") import("checker") +-- show checkers list function _show_list() local tbl = {align = 'l', sep = " "} local checkers = checker.checkers() @@ -39,6 +40,7 @@ function _show_list() cprint(text.table(tbl)) end +-- show checker information function _show_info(name) local checkers = checker.checkers() local info = checkers[name] @@ -50,10 +52,31 @@ function _show_info(name) end end +-- do check +function _check(group_or_name, arguments) + local checked_checkers = {} + local checkers = checker.checkers() + if checkers[group_or_name] then + table.insert(checked_checkers, group_or_name) + else + for name, _ in table.orderpairs(checkers) do + if name:startswith(group_or_name .. ".") then + table.insert(checked_checkers, name) + end + end + end + assert(#checked_checkers > 0, "checker(%s) not found!", group_or_name) + for _, name in ipairs(checked_checkers) do + import("checkers." .. name, {anonymous = true})(arguments) + end +end + function main() if option.get("list") then - return _show_list() + _show_list() elseif option.get("info") then - return _show_info(option.get("info")) + _show_info(option.get("info")) + elseif option.get("checkers") then + _check(option.get("checkers"), option.get("arguments")) end end |
