From a562d544d8520a0f113ad1a348e28ea00f27b693 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Wed, 3 Oct 2012 16:37:06 -0400 Subject: When ‘--help’ is given, just run ‘man’ to show the manual page MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit I.e. do what git does. I'm too lazy to keep the builtin help text up to date :-) Also add ‘--help’ to various commands that lacked it (e.g. nix-collect-garbage). --- src/libmain/shared.cc | 9 +++++++++ src/libmain/shared.hh | 3 +++ 2 files changed, 12 insertions(+) (limited to 'src/libmain') diff --git a/src/libmain/shared.cc b/src/libmain/shared.cc index 5f92c3df34a0..f8149fc608fd 100644 --- a/src/libmain/shared.cc +++ b/src/libmain/shared.cc @@ -91,6 +91,7 @@ string getArg(const string & opt, return *i; } + /* Initialize and reorder arguments, then call the actual argument processor. */ static void initAndRun(int argc, char * * argv) @@ -275,6 +276,14 @@ static void * oomHandler(size_t requested) } +void showManPage(const string & name) +{ + string cmd = "man " + name; + if (system(cmd.c_str()) != 0) + throw Error(format("command `%1%' failed") % cmd); +} + + int exitCode = 0; char * * argvSaved = 0; diff --git a/src/libmain/shared.hh b/src/libmain/shared.hh index c69879a12356..9e5ec8360952 100644 --- a/src/libmain/shared.hh +++ b/src/libmain/shared.hh @@ -41,6 +41,9 @@ template N getIntArg(const string & opt, return n; } +/* Show the manual page for the specified program. */ +void showManPage(const string & name); + /* Whether we're running setuid. */ extern bool setuidMode; -- cgit 1.4.1