diff options
Diffstat (limited to 'xmake/plugins')
| -rw-r--r-- | xmake/plugins/check/xmake.lua | 9 | ||||
| -rw-r--r-- | xmake/plugins/doxygen/xmake.lua | 32 | ||||
| -rw-r--r-- | xmake/plugins/format/xmake.lua | 63 | ||||
| -rw-r--r-- | xmake/plugins/lua/xmake.lua | 104 | ||||
| -rw-r--r-- | xmake/plugins/macro/xmake.lua | 107 | ||||
| -rw-r--r-- | xmake/plugins/pack/xmake.lua | 5 | ||||
| -rw-r--r-- | xmake/plugins/plugin/xmake.lua | 14 | ||||
| -rw-r--r-- | xmake/plugins/project/xmake.lua | 86 | ||||
| -rw-r--r-- | xmake/plugins/repo/xmake.lua | 43 | ||||
| -rw-r--r-- | xmake/plugins/show/xmake.lua | 20 | ||||
| -rw-r--r-- | xmake/plugins/watch/xmake.lua | 60 |
11 files changed, 228 insertions, 315 deletions
diff --git a/xmake/plugins/check/xmake.lua b/xmake/plugins/check/xmake.lua index 07b045a71..4664c3888 100644 --- a/xmake/plugins/check/xmake.lua +++ b/xmake/plugins/check/xmake.lua @@ -34,12 +34,11 @@ task("check") " - xmake check api.target.languages", "", "The supported checkers list:", - values = function (complete, opt) - return import("private.check.checker").complete(complete, opt) - end}, + values = function (complete, opt) + return import("private.check.checker").complete(complete, opt) + end}, {nil, "arguments", "vs", nil, "Set the checker arguments.", "e.g.", - " - xmake check clang.tidy [arguments]"} + " - xmake check clang.tidy [arguments]"}, } } - diff --git a/xmake/plugins/doxygen/xmake.lua b/xmake/plugins/doxygen/xmake.lua index a849af053..f9adc0126 100644 --- a/xmake/plugins/doxygen/xmake.lua +++ b/xmake/plugins/doxygen/xmake.lua @@ -18,31 +18,15 @@ -- @file doxygen.lua -- --- define task task("doxygen") - - -- set category set_category("plugin") - - -- on run on_run("main") - - -- set menu set_menu { - -- usage - usage = "xmake doxygen [options] [arguments]" - - -- description - , description = "Generate the doxygen document." - - -- options - , options = - { - {'o', "outputdir", "kv", nil, "Set the output directory." } - , {} - , {nil, "srcdir", "v", "src", "Set the source code directory." } - } - } - - - + usage = "xmake doxygen [options] [arguments]", + description = "Generate the doxygen document.", + options = { + {'o', "outputdir", "kv", nil, "Set the output directory."}, + {}, + {nil, "srcdir", "v", "src", "Set the source code directory."}, + } + } diff --git a/xmake/plugins/format/xmake.lua b/xmake/plugins/format/xmake.lua index 5de1b8120..964fa1d34 100644 --- a/xmake/plugins/format/xmake.lua +++ b/xmake/plugins/format/xmake.lua @@ -22,35 +22,34 @@ task("format") set_category("plugin") on_run("main") set_menu { - usage = "xmake format [options] [arguments]", - description = "Format the current project.", - options = { - {'s', "style", "kv", nil, "Set the path of .clang-format file, a coding style", - values = {"LLVM", "Google", "Chromium", "Mozilla", "WebKit"}}, - {nil, "create", "k", nil, "Create a .clang-format file from a coding style"}, - {'n', "dry-run", "k", nil, "Do not make any changes, just show the files that would be formatted."}, - {'e', "error", "k", nil, "If set, changes formatting warnings to errors."}, - {'j', "jobs", "kv", tostring(os.default_njob()), - "Set the number of parallel format jobs."}, - {'a', "all", "k", nil, "Format all targets."}, - {'g', "group", "kv", nil, "Format all targets of the given group. It support path pattern matching.", - "e.g.", - " xmake format -g test", - " xmake format -g test_*", - " xmake format --group=benchmark/*"}, - {'f', "files", "kv", nil, "Build the given source files.", - "e.g.", - " - xmake format --files=src/main.c", - " - xmake format --files='src/*.c' [target]", - " - xmake format --files='src/**.c|excluded_file.c'", - " - xmake format --files='src/main.c" .. path.envsep() .. "src/test.c'" }, - {}, - {nil, "targets", "vs", nil, "The target names. It will format all default targets if this parameter is not specified.", - "e.g.", - " xmake format target1 target2 ..." - , values = function (complete, opt) return import("private.utils.complete_helper.targets")(complete, opt) end } - } - } - - - + usage = "xmake format [options] [arguments]", + description = "Format the current project.", + options = { + {'s', "style", "kv", nil, "Set the path of .clang-format file, a coding style", + values = {"LLVM", "Google", "Chromium", "Mozilla", "WebKit"}}, + {nil, "create", "k", nil, "Create a .clang-format file from a coding style"}, + {'n', "dry-run", "k", nil, "Do not make any changes, just show the files that would be formatted."}, + {'e', "error", "k", nil, "If set, changes formatting warnings to errors."}, + {'j', "jobs", "kv", tostring(os.default_njob()), + "Set the number of parallel format jobs."}, + {'a', "all", "k", nil, "Format all targets."}, + {'g', "group", "kv", nil, "Format all targets of the given group. It supports path pattern matching.", + "e.g.", + " xmake format -g test", + " xmake format -g test_*", + " xmake format --group=benchmark/*"}, + {'f', "files", "kv", nil, "Build the given source files.", + "e.g.", + " - xmake format --files=src/main.c", + " - xmake format --files='src/*.c' [target]", + " - xmake format --files='src/**.c|excluded_file.c'", + " - xmake format --files='src/main.c" .. path.envsep() .. "src/test.c'"}, + {}, + {nil, "targets", "vs", nil, "The target names. It will format all default targets if this parameter is not specified.", + "e.g.", + " xmake format target1 target2 ...", + values = function (complete, opt) + return import("private.utils.complete_helper.targets")(complete, opt) + end}, + } + } diff --git a/xmake/plugins/lua/xmake.lua b/xmake/plugins/lua/xmake.lua index dee1707b6..2c56c637e 100644 --- a/xmake/plugins/lua/xmake.lua +++ b/xmake/plugins/lua/xmake.lua @@ -18,69 +18,49 @@ -- @file xmake.lua -- --- define task task("lua") - - -- set category set_category("plugin") - - -- on run on_run("main") - - -- set menu set_menu { - -- usage - usage = "xmake lua|l [options] [script] [arguments]" - - -- description - , description = "Run the lua script." - - -- xmake l - , shortname = 'l' - - -- options - , options = - { - - {'l', "list" , "k" , nil , "List all scripts." } - , {'c', "command" , "k" , nil , "Run script as command" } - , {'d', "deserialize" , "kv" , nil , "Deserialize arguments starts with given prefix" } - , {nil, "stdin" , "k" , nil , "Run script from stdin", - "e.g.", - " - echo 'print(\"hello\")' | xmake lua --stdin", - " - cat script.lua | xmake lua --stdin" - } - , {nil, "script" , "v" , nil , "Run the given lua script name, file or module and enter interactive mode if no given script.", - "e.g.", - " - xmake lua (enter interactive mode)", - " - xmake lua /tmp/script.lua", - " - xmake lua echo 'hello xmake'", - " - xmake lua core.xxx.xxx", - " - xmake lua -c 'print(...)' hello xmake!" - , values = function (complete, opt) - if not complete or opt.command or opt.list then - return - end - local list = import("main.scripts")() - if list and complete then - local result = {} - for _, item in ipairs(list) do - if item:startswith(complete) then - table.insert(result, item) - end - end - if #result > 0 then - return result - end - end - -- we just return nil and fallback to system autocomplete - -- it will complete file path, e.g. `xmake l scripts/test.lua` - end } - , {nil, "arguments" , "vs" , nil , "The script arguments, use '--deserialize' option to enable deserializing.", - "e.g.", - " - xmake lua -d@ lib.detect.find_tool tar @{version=true}" } - } - } - - - + usage = "xmake lua|l [options] [script] [arguments]", + description = "Run the lua script.", + shortname = 'l', + options = { + {'l', "list", "k", nil, "List all scripts."}, + {'c', "command", "k", nil, "Run script as command"}, + {'d', "deserialize", "kv", nil, "Deserialize arguments starts with given prefix"}, + {nil, "stdin", "k", nil, "Run script from stdin", + "e.g.", + " - echo 'print(\"hello\")' | xmake lua --stdin", + " - cat script.lua | xmake lua --stdin"}, + {nil, "script", "v", nil, "Run the given lua script name, file or module and enter interactive mode if no given script.", + "e.g.", + " - xmake lua (enter interactive mode)", + " - xmake lua /tmp/script.lua", + " - xmake lua echo 'hello xmake'", + " - xmake lua core.xxx.xxx", + " - xmake lua -c 'print(...)' hello xmake!", + values = function (complete, opt) + if not complete or opt.command or opt.list then + return + end + local list = import("main.scripts")() + if list and complete then + local result = {} + for _, item in ipairs(list) do + if item:startswith(complete) then + table.insert(result, item) + end + end + if #result > 0 then + return result + end + end + -- we just return nil and fallback to system autocomplete + -- it will complete file path, e.g. `xmake l scripts/test.lua` + end}, + {nil, "arguments", "vs", nil, "The script arguments, use '--deserialize' option to enable deserializing.", + "e.g.", + " - xmake lua -d@ lib.detect.find_tool tar @{version=true}"}, + } + } diff --git a/xmake/plugins/macro/xmake.lua b/xmake/plugins/macro/xmake.lua index 2a8710924..2cd022d6a 100644 --- a/xmake/plugins/macro/xmake.lua +++ b/xmake/plugins/macro/xmake.lua @@ -18,69 +18,54 @@ -- @file macro.lua -- --- define task task("macro") - - -- set category set_category("plugin") - - -- on run on_run("main") - - -- set menu set_menu { - -- usage - usage = "xmake macro|m [options] [name] [arguments]" - - -- description - , description = "Run the given macro." - - -- xmake m - , shortname = 'm' - - -- options - , options = - { - {'b', "begin", "k", nil, "Start to record macro." - , "e.g." - , "Record macro with name: test" - , " xmake macro --begin" - , " xmake config --plat=macosx" - , " xmake clean" - , " xmake -r" - , " xmake package" - , " xmake macro --end test" } - , {'e', "end", "k", nil, "Stop to record macro." } - , {} - , {nil, "show", "k", nil, "Show the content of the given macro." } - , {'l', "list", "k", nil, "List all macros." } - , {'d', "delete", "k", nil, "Delete the given macro." } - , {'c', "clear", "k", nil, "Clear the all macros." } - , {} - , {nil, "import", "kv", nil, "Import the given macro file or directory." - , "e.g." - , " xmake macro --import=/xxx/macro.lua test" - , " xmake macro --import=/xxx/macrodir" } - , {nil, "export", "kv", nil, "Export the given macro to file or directory." - , "e.g." - , " xmake macro --export=/xxx/macro.lua test" - , " xmake macro --export=/xxx/macrodir" } - , {} - , {nil, "name", "v", ".", "Set the macro name." - , "e.g." - , " Run the given macro: xmake macro test" - , " Run the anonymous macro: xmake macro ." - , " Run the last command: xmake macro .." - , values = function (complete, opt) - -- hide in help menu - if not complete then return end - -- don't need name - if opt.begin or opt.list or opt.clear then return end - -- name should be given by user - if opt["end"] or opt.import then return end + usage = "xmake macro|m [options] [name] [arguments]", + description = "Run the given macro.", + shortname = 'm', + options = { + {'b', "begin", "k", nil, "Start to record macro.", + "e.g.", + "Record macro with name: test", + " xmake macro --begin", + " xmake config --plat=macosx", + " xmake clean", + " xmake -r", + " xmake package", + " xmake macro --end test"}, + {'e', "end", "k", nil, "Stop to record macro."}, + {}, + {nil, "show", "k", nil, "Show the content of the given macro."}, + {'l', "list", "k", nil, "List all macros."}, + {'d', "delete", "k", nil, "Delete the given macro."}, + {'c', "clear", "k", nil, "Clear the all macros."}, + {}, + {nil, "import", "kv", nil, "Import the given macro file or directory.", + "e.g.", + " xmake macro --import=/xxx/macro.lua test", + " xmake macro --import=/xxx/macrodir"}, + {nil, "export", "kv", nil, "Export the given macro to file or directory.", + "e.g.", + " xmake macro --export=/xxx/macro.lua test", + " xmake macro --export=/xxx/macrodir"}, + {}, + {nil, "name", "v", ".", "Set the macro name.", + "e.g.", + " Run the given macro: xmake macro test", + " Run the anonymous macro: xmake macro .", + " Run the last command: xmake macro ..", + values = function (complete, opt) + -- hide in help menu + if not complete then return end + -- don't need name + if opt.begin or opt.list or opt.clear then return end + -- name should be given by user + if opt["end"] or opt.import then return end - return import("main.macros")(".") - end } - , {nil, "arguments", "vs", nil, "Set the macro arguments." } - } - } + return import("main.macros")(".") + end}, + {nil, "arguments", "vs", nil, "Set the macro arguments."} + } + } diff --git a/xmake/plugins/pack/xmake.lua b/xmake/plugins/pack/xmake.lua index f95abcf98..6e0a358aa 100644 --- a/xmake/plugins/pack/xmake.lua +++ b/xmake/plugins/pack/xmake.lua @@ -28,13 +28,14 @@ task("pack") {'o', "outputdir", "kv", nil, "Set the output directory. (default: build/xpack)"}, {nil, "basename", "kv", nil, "Set the basename of the output file."}, {nil, "autobuild", "kv", true, "Build targets automatically."}, - {'j', "jobs", "kv", tostring(os.default_njob()), "Set the number of parallel compilation jobs." }, + {'j', "jobs", "kv", tostring(os.default_njob()), + "Set the number of parallel compilation jobs."}, {'f', "formats", "kv", "all", "Pack the given package formats.", "e.g.", " - xmake pack -f nsis,deb,rpm", "values:", values = {"nsis", "wix", "deb", "srpm", "rpm", "runself", "targz", "tarxz", "zip", "srctargz", "srctarxz", "srczip"}}, {}, - {nil, "packages", "vs", nil, "The package names."} + {nil, "packages", "vs", nil, "The package names."}, } } diff --git a/xmake/plugins/plugin/xmake.lua b/xmake/plugins/plugin/xmake.lua index f05021828..05d9e3631 100644 --- a/xmake/plugins/plugin/xmake.lua +++ b/xmake/plugins/plugin/xmake.lua @@ -25,12 +25,12 @@ task("plugin") usage = "xmake plugin [options]", description = "Manage plugins of xmake.", options = { - {'i', "install", "k", nil, "Install plugins." }, - {'u', "update", "k", nil, "Update plugins." }, - {'c', "clear", "k", nil, "Clear all installed plugins." }, - {nil, "plugins", "v", nil, "The plugins path or url.", - "e.g.", - " $ xmake plugin --install https://github.com/xmake-io/xmake-plugins", - " $ xmake plugin --update"} + {'i', "install", "k", nil, "Install plugins."}, + {'u', "update", "k", nil, "Update plugins."}, + {'c', "clear", "k", nil, "Clear all installed plugins."}, + {nil, "plugins", "v", nil, "The plugins path or url.", + "e.g.", + " $ xmake plugin --install https://github.com/xmake-io/xmake-plugins", + " $ xmake plugin --update"} } } diff --git a/xmake/plugins/project/xmake.lua b/xmake/plugins/project/xmake.lua index 15333d58b..ed5b35d9f 100644 --- a/xmake/plugins/project/xmake.lua +++ b/xmake/plugins/project/xmake.lua @@ -18,59 +18,43 @@ -- @file xmake.lua -- --- define task task("project") - - -- set category set_category("plugin") - - -- on run on_run("main") - - -- set menu set_menu { - -- usage - usage = "xmake project [options] [outputdir]" - - -- description - , description = "Generate the project file." - - -- options - , options = - { - {'k', "kind", "kv" , "makefile", "Set the project kind." - , " - make" - , " - xmakefile (makefile with xmake)" - , " - cmake" - , " - ninja" - , " - xcode" - , " - compile_flags" - , " - compile_commands (clang compilation database with json format)" - , " - vs (auto detect), vs2002 - vs2026" - , " - vsxmake (auto detect), vsxmake2010 ~ vsxmake2026" - , values = function (complete, opt) - if not complete then return end - - local values = table.keys(import("main.makers")()) - table.sort(values, function (a, b) return a > b end) - return values - end } - , {'m', "modes", "kv" , nil , "Set the project modes." - , " e.g. " - , " - xmake project -k vsxmake -m \"release,debug\"" } - , {'a', "archs", "kv" , nil , "Set the project archs." - , " e.g. " - , " - xmake project -k vsxmake -a \"x86,x64\"" } - , {'t', "target", "kv" , nil , "Set the project target." - , " e.g. " - , " - xmake project -k compile_commands -t \"custom\"" } - , {nil, "lsp", "kv" , nil , "Set the LSP backend for compile_commands." - , " e.g. " - , " - xmake project -k compile_commands --lsp=clangd" - , values = {"clangd", "cpptools", "ccls"}} - , {nil, "outputdir", "v" , "." , "Set the output directory." } - } - } - - + usage = "xmake project [options] [outputdir]", + description = "Generate the project file.", + options = { + {'k', "kind", "kv", "makefile", "Set the project kind.", + " - make", + " - xmakefile (makefile with xmake)", + " - cmake", + " - ninja", + " - xcode", + " - compile_flags", + " - compile_commands (clang compilation database with json format)", + " - vs (auto detect), vs2002 - vs2026", + " - vsxmake (auto detect), vsxmake2010 ~ vsxmake2026", + values = function (complete, opt) + if not complete then return end + local values = table.keys(import("main.makers")()) + table.sort(values, function (a, b) return a > b end) + return values + end}, + {'m', "modes", "kv", nil, "Set the project modes.", + " e.g. ", + " - xmake project -k vsxmake -m \"release,debug\""}, + {'a', "archs", "kv", nil, "Set the project archs.", + " e.g. ", + " - xmake project -k vsxmake -a \"x86,x64\""}, + {'t', "target", "kv", nil, "Set the project target.", + " e.g. ", + " - xmake project -k compile_commands -t \"custom\""}, + {nil, "lsp", "kv", nil, "Set the LSP backend for compile_commands.", + " e.g. ", + " - xmake project -k compile_commands --lsp=clangd", + values = {"clangd", "cpptools", "ccls"}}, + {nil, "outputdir", "v", ".", "Set the output directory."} + } + } diff --git a/xmake/plugins/repo/xmake.lua b/xmake/plugins/repo/xmake.lua index 590bb665d..f7260e9b9 100644 --- a/xmake/plugins/repo/xmake.lua +++ b/xmake/plugins/repo/xmake.lua @@ -18,36 +18,23 @@ -- @file repo.lua -- --- define task task("repo") - - -- set category set_category("plugin") - - -- on run on_run("main") - - -- set menu set_menu { - -- usage - usage = "xmake repo [options] [name] [url] [branch]" - - -- description - , description = "Manage package repositories." - - -- options - , options = - { - {'a', "add", "k", nil, "Add the given remote repository url." } - , {'r', "remove", "k", nil, "Remove the given remote repository url." } - , {'u', "update", "k", nil, "Update all local repositories from the remote." } - , {'c', "clear", "k", nil, "Clear all added repositories." } - , { } - , {'l', "list", "k", nil, "List all added repositories." } - , {'g', "global", "k", nil, "Save repository to global. (default: local)" } - , { } - , {nil, "name", "v", nil, "The repository name." } - , {nil, "url", "v", nil, "The repository url" } - , {nil, "branch", "v", nil, "The repository branch" } - } + usage = "xmake repo [options] [name] [url] [branch]", + description = "Manage package repositories.", + options = { + {'a', "add", "k", nil, "Add the given remote repository url."}, + {'r', "remove", "k", nil, "Remove the given remote repository url."}, + {'u', "update", "k", nil, "Update all local repositories from the remote."}, + {'c', "clear", "k", nil, "Clear all added repositories."}, + {}, + {'l', "list", "k", nil, "List all added repositories."}, + {'g', "global", "k", nil, "Save repository to global. (default: local)"}, + {}, + {nil, "name", "v", nil, "The repository name."}, + {nil, "url", "v", nil, "The repository url"}, + {nil, "branch", "v", nil, "The repository branch"} + } } diff --git a/xmake/plugins/show/xmake.lua b/xmake/plugins/show/xmake.lua index ef3ea0fe2..5cbe973e9 100644 --- a/xmake/plugins/show/xmake.lua +++ b/xmake/plugins/show/xmake.lua @@ -26,9 +26,9 @@ task("show") description = "Show the given project information.", options = { {'l', "list", "kv", nil, "Show the values list of the given name.", - values = function (complete, opt) - return import("list").lists() - end}, + values = function (complete, opt) + return import("list").lists() + end}, {'g', "group", "kv", nil, "Filter targets by the given group name."}, {nil, "json", "k", false, "Show information with json format (deprecated, use --format=json)."}, {nil, "pretty", "k", false, "Enable pretty formatted output."}, @@ -44,14 +44,12 @@ task("show") " - xmake show --info=depgraph --target=app", " - xmake show --info=depgraph --format=json", " - xmake show --info=depgraph --format=dot", - values = function (complete, opt) - return import("list").infos() - end}, + values = function (complete, opt) + return import("list").infos() + end}, {'t', "target", "kv", nil, "Show the information of the given target.", - values = function (complete, opt) - return import("private.utils.complete_helper.targets")(complete, opt) - end} + values = function (complete, opt) + return import("private.utils.complete_helper.targets")(complete, opt) + end} } } - - diff --git a/xmake/plugins/watch/xmake.lua b/xmake/plugins/watch/xmake.lua index 1b04b092c..1583cab09 100644 --- a/xmake/plugins/watch/xmake.lua +++ b/xmake/plugins/watch/xmake.lua @@ -22,35 +22,31 @@ task("watch") set_category("plugin") on_run("main") set_menu { - usage = "xmake watch [options] [arguments]" - , description = "Watch the project directories and run command." - , options = - { - {'c', "commands" , "kv" , nil , "Run the multiple commands instead of the default build command.", - "e.g.", - " $ xmake watch -c 'xmake -rv'", - " $ xmake watch -c 'xmake -vD; xmake run hello'"}, - {'s', "script" , "kv" , nil , "Run the given lua script file.", - "e.g.", - " $ xmake watch -s /tmp/watch.lua"}, - {'d', "watchdirs" , "kv" , nil , "Set the given recursive watch directories, the project directories will be watched by default.", - "e.g.", - " $ xmake watch -d src", - " $ xmake watch -d 'src/*" .. path.envsep() .. "tests/**/subdir'"}, - {'p', "plaindirs" , "kv" , nil , "Set the given non-recursive watch directories, the project directories will be watched by default.", - "e.g.", - " $ xmake watch -p src", - " $ xmake watch -p 'src/*" .. path.envsep() .. "tests/**/subdir'"}, - {'r', "run" , "k" , nil , "Build and run target."}, - {'t', "target" , "kv" , nil , "Build the given target.", - values = function (complete, opt) return import("private.utils.complete_helper.targets")(complete, opt) end }, - {'-', "arbitrary" , "vs" , nil , "Run an arbitrary command.", - "e.g.", - " $ xmake watch -- echo hello xmake!", - " $ xmake watch -- xmake run", - " $ xmake watch -- xmake -rv"} - } - } - - - + usage = "xmake watch [options] [arguments]", + description = "Watch the project directories and run command.", + options = { + {'c', "commands", "kv", nil, "Run the multiple commands instead of the default build command.", + "e.g.", + " $ xmake watch -c 'xmake -rv'", + " $ xmake watch -c 'xmake -vD; xmake run hello'"}, + {'s', "script", "kv", nil, "Run the given lua script file.", + "e.g.", + " $ xmake watch -s /tmp/watch.lua"}, + {'d', "watchdirs", "kv", nil, "Set the given recursive watch directories, the project directories will be watched by default.", + "e.g.", + " $ xmake watch -d src", + " $ xmake watch -d 'src/*" .. path.envsep() .. "tests/**/subdir'"}, + {'p', "plaindirs", "kv", nil, "Set the given non-recursive watch directories, the project directories will be watched by default.", + "e.g.", + " $ xmake watch -p src", + " $ xmake watch -p 'src/*" .. path.envsep() .. "tests/**/subdir'"}, + {'r', "run", "k", nil, "Build and run target."}, + {'t', "target", "kv", nil, "Build the given target.", + values = function (complete, opt) return import("private.utils.complete_helper.targets")(complete, opt) end}, + {'-', "arbitrary", "vs", nil, "Run an arbitrary command.", + "e.g.", + " $ xmake watch -- echo hello xmake!", + " $ xmake watch -- xmake run", + " $ xmake watch -- xmake -rv"} + } + } |
