summaryrefslogtreecommitdiff
path: root/src/buildtool/common/cli.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/buildtool/common/cli.hpp')
-rw-r--r--src/buildtool/common/cli.hpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/buildtool/common/cli.hpp b/src/buildtool/common/cli.hpp
index a95cac5f..7bc0317a 100644
--- a/src/buildtool/common/cli.hpp
+++ b/src/buildtool/common/cli.hpp
@@ -49,6 +49,11 @@ struct AnalysisArguments {
std::optional<std::filesystem::path> artifacts_to_build_file{};
};
+/// \brief Arguments required for describing targets/rules.
+struct DescribeArguments {
+ bool describe_rule{};
+};
+
/// \brief Arguments required for running diagnostics.
struct DiagnosticArguments {
std::optional<std::string> dump_actions{std::nullopt};
@@ -217,6 +222,14 @@ static inline auto SetupAnalysisArguments(
}
}
+static inline auto SetupDescribeArguments(
+ gsl::not_null<CLI::App*> const& app,
+ gsl::not_null<DescribeArguments*> const& clargs) {
+ app->add_flag("--rule",
+ clargs->describe_rule,
+ "Positional arguments refer to rule instead of target.");
+}
+
static inline auto SetupDiagnosticArguments(
gsl::not_null<CLI::App*> const& app,
gsl::not_null<DiagnosticArguments*> const& clargs) {