3      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXY Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~   NoneDGiven a program name, return a precise platform-specific executable H name suitable for naming downloadable binaries. Can raise an error if F the version and patch level was not defined correctly at build time. None%A width value. -set width automatically from available space /set width to exactly this number of characters +Output width configuration (for register). specify each field's width specify the overall width "Command line options. Used in the hledger package and above. debug level, set by  --debug[=N] . See also . MOur cmdargs modes parse arguments into an association list for better reuse. 1Common help flags: --help, --debug, --version... =Common input-related flags: --file, --rules-file, --alias... >Common report-related flags: --period, --cost, --display etc. A basic mode template. 8A basic subcommand mode with the given command name(s). 8A basic subcommand mode suitable for an add-on command. "Add command aliases to the command's help string. (The top-level cmdargs mode for hledger. -@Parse raw option string values to the desired final data types. D Any relative smart dates will be converted to fixed dates based on  today'.s date. Parsing failures will raise an error. .@Parse hledger CLI options from these command line arguments and + add-on command names, or raise any error. />A hacky workaround for cmdargs not accepting flags before the > subcommand name: try to detect and move such flags after the @ command. This allows the user to put them in either position. ? The order of options is not preserved, but this should be ok. Since we';re not parsing flags as precisely as cmdargs here, this is ( imperfect. We make a decent effort to: - - move all no-argument help and input flags c - move all required-argument help and input flags along with their values, space-separated or not : - not confuse things further or cause misleading errors. 0CConvert possibly encoded option values to regular unicode strings. 1MDo final validation of processed opts, raising an error if there is trouble. 2DGet the unique suffixes (without hledger-) of hledger-* executables  found in the current user'*s PATH, or the empty list if there is any  problem. IGet the unique names of hledger-*{,.hs} executables found in the current  user'3s PATH, or the empty list if there is any problem. 3HRaise an error, showing the specified message plus a hint about --help. 6Is the named option present ? =BParse the format option if provided, possibly returning an error, " otherwise get the default value. (Default line format for balance report: '%20(total) %2(depth_spacer)%-(account) >)Default width of hledger console output. ?HWidth of hledger console output when the -w flag is used with no value. @AParse the width option if provided, possibly returning an error, " otherwise get the default value. A3Get the account name aliases from options, if any. B:Get the (tilde-expanded, absolute) journal file path from < 1. options, 2. an environment variable, or 3. the default. C?Get the (tilde-expanded) rules file path from options, if any. D Get a mode'+s help message as a nicely wrapped string. EDPrint debug info about arguments and options if --debug is present. F@Parse hledger CLI options from the command line using the given E cmdargs mode, and either return them or, if a help flag is present, + print the mode help and exit the program. S  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGB  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGB %!"'(&#$)*+67<;98:45 ,A=BC >?@2./01-3DEFGE   !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGNoneHPrint a balance report. I@Render an old-style single-column balance report as plain text. ORender one balance report line item as plain text suitable for console output. JWRender a multi-column period balance report as plain text suitable for console output. K[Render a multi-column cumulative balance report as plain text suitable for console output. L[Render a multi-column historical balance report as plain text suitable for console output. HIJKLMHIJKLMHIJKLM HIJKLMNoneNPrint a simple balance sheet. NONONONONoneP#Print a simple cashflow statement. PQPQPQPQNoneSDPrint a histogram of some statistic per reporting interval, such as  number of postings per day. RSTUVRSTUVRSTUVRSTUVNoneW!Print a simple income statement. WXWXWXWX NoneY/Print journal transactions in standard format. YZ[YZ[YZ[YZ[ None\#Print a (posting) register report. ]DRender a register report as plain text suitable for console output. GRender one register report line item as plain text. Layout is like so:     -----------------------------0width (default: 80) ---------------------------- R date (10) description (50%) account (50%) amount (12) balance (12) R DDDDDDDDDD dddddddddddddddddddd aaaaaaaaaaaaaaaaaaa AAAAAAAAAAAA AAAAAAAAAAAA  Ldate and description are shown for the first posting of a transaction only.   \]^\]^\]^\]^ None `WInformation used as the basis for suggested account names, amounts etc. in add prompt. h@Read multiple transactions from the console, prompting for each B field, and append them to the journal file. If the journal came ) from stdin, this command has no effect. i;Loop reading transactions from the console, prompting for, D validating, displaying and appending each one to the journal file, = until end of input or ctrl-c (then raise an EOF exception). B If provided, command-line arguments are used as defaults for the B first transaction; otherwise defaults come from the most similar $ recent transaction in the journal. jJRead a single transaction from the console, with history-aware prompting, 6 allowing the user to restart and confirm at the end. P A default date, and zero or more defaults for subsequent fields, are provided. kJRead a single transaction from the console, with history-aware prompting, X or return nothing indicating that the user wants to restart entering this transaction. P A default date, and zero or more defaults for subsequent fields, are provided. l?Loop reading postings from the console, until a valid balanced F set of postings has been entered, then return the final transaction, Q or nothing indicating that the user wants to restart entering this transaction. mCRead postings from the command line until . is entered, generating J useful defaults based on historical context and postings entered so far. nDPrompt for and read a string value, optionally with a default value D and a validator. A validator causes the prompt to repeat until the W input is valid. May also raise an EOF exception if control-d or control-c is pressed. o&Append this transaction to the journal's file, and to the journal's  transaction list. pBAppend a string, typically one or more transactions, to a journal  file, or if the file is -%, dump it to stdout. Tries to avoid  excess whitespace. qReplace a string'3s 0 or more terminating newlines with exactly one. r9Convert a string of journal data into a register report. s;Return a similarity measure, from 0 to 1, for two strings.  This is Simon White's letter pairs algorithm from  http:www.catalysoft.comarticlesStrikeAMatch.html ( with a modification for short strings. _`abcdefghijklmnopqrstuvwxyz{|}_`abcdefghijklmnopqrstuvwxyz{|}hijkfg`abcdelmnopqrstuvwxy_z{|}_`abcdefghijklmnopqrstuvwxyz{|} None~*Print various statistics for the journal. ~~~~None Parse the user'6s specified journal file and run a hledger command on  it, or throw an error. ARe-read a journal from its data file, or return an error string. BRe-read a journal from its data file mostly, only if the file has D changed since last read (or if there is no file, ie data read from F stdin). The provided options are mostly ignored. Return a journal or F the error message while reading it, and a flag indicating whether it  was re-read or not. Has the journal'4s main data file changed since the journal was last  read ? 1Has the specified file (presumably one of journal's data files) ' changed since journal was last read ? DGet the last modified time of the specified file, or if it does not 7 exist or there is some other error, the current time. ?Attempt to open a web browser on the given url, all platforms. =Back up this file with a (incrementing) numbered suffix then I overwrite it with this new text, or give an error, but only if the text @ is different from the current file contents, and return a flag % indicating whether we did anything. >Back up this file with a (incrementing) numbered suffix, then 4 overwrite it with this new text, or give an error. KBack up this file with a (incrementing) numbered suffix, or give an error. VDoes the second file represent a backup of the first, and if so which version is it ?   None  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~None7Run HUnit unit tests and exit with success or failure. MRun all or just the matched unit tests and return their HUnit result counts. BRun all or just the matched unit tests until the first failure or 7 error, returning the name of the problem test if any. CAll or pattern-matched tests, as a flat list to show simple names. QAll or pattern-matched tests, in the original suites to show hierarchical names. None !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghij k l m n o p q r r s t u v w w x y z { | } ~     hledger-0.22Hledger.Cli.UtilsHledger.Cli.VersionHledger.Cli.OptionsHledger.Cli.BalanceHledger.Cli.BalancesheetHledger.Cli.CashflowHledger.Cli.HistogramHledger.Cli.IncomestatementHledger.Cli.PrintHledger.Cli.RegisterHledger.Cli.AddHledger.Cli.Stats Hledger.CliHledger.Cli.TestsHledger.Cli.Main Hledger.Utils debugLevel HUnit-1.2.5.2Test.HUnit.BaseTestListTestprognameversionprognameandversionbinaryfilenameWidthAuto OutputWidth FieldWidths TotalWidthCliOptsrawopts_command_file_ rules_file_alias_debug_no_new_accounts_width_ reportopts_RawOpts helpflags inputflags reportflagsargsFlaggeneralflagsgroup1generalflagsgroup2generalflagsgroup3defCommandModemainmodeaddmode balancemode printmode registermode activitymodeincomestatementmodebalancesheetmode cashflowmode statsmodetestmode convertmode defclioptsrawOptsToCliOpts argsToCliOptsmoveFlagsAfterCommand decodeRawOpts checkCliOptsgetHledgerAddonCommands optserrorsetopt setboolopt inRawOptsbooloptmaybestringopt stringoptlistofstringopt maybeintoptintoptformatFromOpts defaultWidthdefaultWidthWithFlag widthFromOptsaliasesFromOptsjournalFilePathFromOptsrulesFilePathFromOpts showModeHelp debugArgs getCliOptstests_Hledger_Cli_OptionsbalancebalanceReportAsTextperiodBalanceReportAsTextcumulativeBalanceReportAsTexthistoricalBalanceReportAsTexttests_Hledger_Cli_Balance balancesheettests_Hledger_Cli_Balancesheetcashflowtests_Hledger_Cli_Cashflowbarchar histogram showHistogram printDayWithcountBarincomestatement!tests_Hledger_Cli_Incomestatementprint'showTransactionstests_Hledger_Cli_PrintregisterpostingsReportAsTexttests_Hledger_Cli_RegisterCompletionCache PostingsState psJournalpsAcceptpsSuggestHistoricalAmount psHistoryRestartEntryExceptionaddgetAndAddTransactionsLoopgetTransactiongetTransactionOrRestart$getPostingsForTransactionWithHistorygetPostingsLoopaskForjournalAddTransactionappendToJournalFileOrStdoutensureOneNewlineTerminatedregisterFromStringcompareStringswordLetterPairs letterPairscompareDescriptionstransactionsSimilarTorunInteractionrunInteractionDefaultcompletionCacheaccountCompletion capitalize headTailDefstatsshowLedgerStats withJournalDo journalReloadjournalReloadIfChangedjournalFileIsNewerjournalSpecifiedFileIsNewerfileModificationTime openBrowserOnwriteFileWithBackupIfChangedwriteFileWithBackupreadFileStrictlytests_Hledger_Clitest'runTestsrunTestsTillFailure flatTestshierarchicalTestsmain patchlevel buildversiondefModedefAddonCommandMode withAliasesgetHledgerExesInPathdefaultBalanceFormatStringgeneralflagstitleisHledgerNamed getEnvSafegetDirectoryContentsSafemaybesmartdateoptmaybedisplayoptmaybeperiodoptbalancetypeopt parseWidth outputwidthpwidthp$fDefaultCliOptsbalanceReportItemAsTexttests_balanceReportAsTextformatBalanceReportItem formatFieldwithoutBeginDatetests_showTransactionsentriesReportAsTextpostingsReportItemAsTexttests_postingsReportAsText $fExceptionRestartEntryException backUpFile backupNumbersafeGetDirectoryContentsdefaultyear_journal_strjournal7ledger7