improve command-line help

This commit is contained in:
Simon Michael 2008-10-15 17:34:55 +00:00
parent c404ae45d6
commit 06a363dc6e

View File

@ -5,8 +5,16 @@ import System.Console.GetOpt
import System.Directory import System.Directory
import Ledger.RawLedger (negativepatternchar) import Ledger.RawLedger (negativepatternchar)
usagehdr = "Usage: hledger [OPTIONS] "++commands++" [ACCTPATTERNS] [-- DESCPATTERNS]\nOptions:" usagehdr = "Usage: hledger [OPTS] balance|print|register [ACCTPATS] [-- DESCPATS]\n\nOptions"++warning++":"
commands = "register|balance|print" warning = if negativepatternchar=='-' then " (must appear before command)" else " (can appear anywhere)"
usageftr = "\n\
\Commands (may be abbreviated):\n\
\balance - show account balances\n\
\print - show parsed and reformatted ledger entries\n\
\register - show register transactions\n\
\\n\
\Account and description patterns are regular expressions, optionally prefixed\n\
\with " ++ [negativepatternchar] ++ " to make them negative.\n"
defaultfile = "~/.ledger" defaultfile = "~/.ledger"
fileenvvar = "LEDGER" fileenvvar = "LEDGER"
optionorder = if negativepatternchar=='-' then RequireOrder else Permute optionorder = if negativepatternchar=='-' then RequireOrder else Permute
@ -15,9 +23,9 @@ optionorder = if negativepatternchar=='-' then RequireOrder else Permute
options :: [OptDescr Opt] options :: [OptDescr Opt]
options = [ options = [
Option ['f'] ["file"] (ReqArg File "FILE") "ledger file; - means use standard input", Option ['f'] ["file"] (ReqArg File "FILE") "ledger file; - means use standard input",
Option ['b'] ["begin"] (ReqArg Begin "yyyy/mm/dd") "report on entries from this date (inclusive)", Option ['b'] ["begin"] (ReqArg Begin "YYYY/MM/DD") "report on entries on or after this date",
Option ['e'] ["end"] (ReqArg End "yyyy/mm/dd") "report on entries to this date (exclusive)", Option ['e'] ["end"] (ReqArg End "YYYY/MM/DD") "report on entries prior to this date",
Option ['s'] ["showsubs"] (NoArg ShowSubs) "balance report: show subaccounts", Option ['s'] ["showsubs"] (NoArg ShowSubs) "in the balance report, include subaccounts",
Option ['h'] ["help","usage"] (NoArg Help) "show this help", Option ['h'] ["help","usage"] (NoArg Help) "show this help",
Option ['V'] ["version"] (NoArg Version) "show version" Option ['V'] ["version"] (NoArg Version) "show version"
] ]
@ -32,7 +40,7 @@ data Opt =
Version Version
deriving (Show,Eq) deriving (Show,Eq)
usage = usageInfo usagehdr options usage = usageInfo usagehdr options ++ usageftr
version = "hledger version 0.1 alpha\n" version = "hledger version 0.1 alpha\n"