From 66577a1c64ac5d9f07aa2c207c96e13077576a4e Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Mon, 24 Apr 2017 14:21:36 +0200 Subject: [PATCH] Factor out --json --- src/libmain/common-args.hh | 12 +++++++++++- src/nix/path-info.cc | 5 ++--- src/nix/show-config.cc | 5 +---- 3 files changed, 14 insertions(+), 8 deletions(-) diff --git a/src/libmain/common-args.hh b/src/libmain/common-args.hh index 2c0d71edd..a4de3dccf 100644 --- a/src/libmain/common-args.hh +++ b/src/libmain/common-args.hh @@ -12,7 +12,7 @@ struct MixCommonArgs : virtual Args struct MixDryRun : virtual Args { - bool dryRun; + bool dryRun = false; MixDryRun() { @@ -20,4 +20,14 @@ struct MixDryRun : virtual Args } }; +struct MixJSON : virtual Args +{ + bool json = false; + + MixJSON() + { + mkFlag(0, "json", "produce JSON output", &json); + } +}; + } diff --git a/src/nix/path-info.cc b/src/nix/path-info.cc index 0f9a1125f..30b193798 100644 --- a/src/nix/path-info.cc +++ b/src/nix/path-info.cc @@ -2,25 +2,24 @@ #include "shared.hh" #include "store-api.hh" #include "json.hh" +#include "common-args.hh" #include #include using namespace nix; -struct CmdPathInfo : StorePathsCommand +struct CmdPathInfo : StorePathsCommand, MixJSON { bool showSize = false; bool showClosureSize = false; bool showSigs = false; - bool json = false; CmdPathInfo() { mkFlag('s', "size", "print size of the NAR dump of each path", &showSize); mkFlag('S', "closure-size", "print sum size of the NAR dumps of the closure of each path", &showClosureSize); mkFlag(0, "sigs", "show signatures", &showSigs); - mkFlag(0, "json", "produce JSON output", &json); } std::string name() override diff --git a/src/nix/show-config.cc b/src/nix/show-config.cc index aade2adea..e354891a8 100644 --- a/src/nix/show-config.cc +++ b/src/nix/show-config.cc @@ -7,13 +7,10 @@ using namespace nix; -struct CmdShowConfig : Command +struct CmdShowConfig : Command, MixJSON { - bool json = false; - CmdShowConfig() { - mkFlag(0, "json", "produce JSON output", &json); } std::string name() override