ulb      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[ \ ] ^ _ ` a bcdefghij&*An option value from a command-line flag.   Command-line options we accept. AParse the command-line arguments into options, command name, and G command arguments. Any dates in the options are converted to explicit  YYYYMM%DD format based on the current time. EConvert any fuzzy dates within these option values to explicit ones,  based on today's date. CFigure out the overall date span we should report on, based on any  beginend:period options provided. If there is a period option, the  others are ignored. EFigure out the reporting interval, if any, specified by the options. 6 If there is a period option, the others are ignored. LGet the value of the (last) depth option, if any, otherwise a large number. !4Get the value of the (last) display option, if any. "1Get a maybe boolean representing the last cleared/uncleared option if any.  Was the program invoked via the "hours" alias ? #NGet the journal file path from options, an environment variable, or a default $FGather filter pattern arguments into a list of account patterns and a A list of description patterns. We interpret pattern arguments as  follows: those prefixed with desc: are description patterns, all : others are account patterns; also patterns prefixed with not: are 9 negated. not: should come after desc: if both are used. %*Convert application options to the library' s generic filter specification. . klmnopq !r"#$%+  !"#$%&   !"#$%&Parse the user'6s specified journal file and run a hledger command on F it, or report a parse error. This function makes the whole thing go. 'DGet a journal from the given string and options, or throw an error. (?Attempt to open a web browser on the given url, all platforms. &'(&'(&'( )Print a register report. *KGenerate the register report, which is a list of postings with transaction  info and a running balance. sDConvert a list of postings into summary postings, one per interval. tBCombine two datespans, filling any unspecified dates in the first  with dates from the second. KDate-sort and split a list of postings into three spans - postings matched L by the given display expression, and the preceding and following postings. uBDoes this display expression allow this posting to be displayed ? . Raises an error if the display expression can' t be parsed. vDGiven a date span (representing a reporting interval) and a list of E postings within it: aggregate the postings so there is only one per  account, and adjust their date/%description so that they will render ! as a summary for this interval. DAs usual with date spans the end date is exclusive, but for display = purposes we show the previous day as end date, like ledger. BWhen a depth argument is present, postings to accounts of greater & depth are aggregated where possible. =The showempty flag forces the display of a zero-posting span 1 and also zero-posting accounts within the span. wKShow postings one per line, plus transaction info for the first posting of -each transaction, and a running balance. Eg:  Rdate (10) description (20) account (22) amount (11) balance (12) QDDDDDDDDDD dddddddddddddddddddd aaaaaaaaaaaaaaaaaaaaaa AAAAAAAAAAA AAAAAAAAAAAA Q aaaaaaaaaaaaaaaaaaaaaa AAAAAAAAAAA AAAAAAAAAAAA +HShow one posting and running balance, with or without transaction info. ,)*+,)*+,)*+, -FRead ledger transactions from the terminal, prompting for each field, I and append them to the ledger file. If the ledger came from stdin, this  command has no effect. .@Read a number of transactions from the command line, prompting, F validating, displaying and appending them to the journal file, until H end of input (then raise an EOF exception). Any command-line arguments " are used as the first transaction's description. /HRead a transaction from the command line, with history-aware prompting. 0BRead postings from the command line until . is entered, using the : provided historical postings, if any, to guess defaults. 1DPrompt for and read a string value, optionally with a default value D and a validator. A validator causes the prompt to repeat until the J input is valid. May also raise an EOF exception if control-d is pressed. 2&Append this transaction to the journal's file. Also, to the journal's  transaction list, but we don'*t bother updating the other fields - this @ is enough to include new transactions in the history matching. 3Append data to the journal'(s file, ensuring proper separation from & any existing data; or if the file is -, dump it to stdout. 48Convert a string of ledger data into a register report. 5;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. 67 -./012345xy67 -./01234567 -./012345678Print a balance report. 9FGenerate a balance report with the specified options for this ledger. :ODisplay one line of the balance report with appropriate indenting and eliding. ;;Is the named account considered interesting for this ledger's balance report ? 89:;89:;89:;<=>?FA set of data definitions and account-matching patterns sufficient to Sconvert a particular CSV data file into meaningful ledger transactions. See above. @ABCDEFGHIJRRead the CSV file named as an argument and print equivalent journal transactions,  using/creating a .rules file. K:The highest (0-based) field index referenced in the field . definitions, or -1 if no fields are defined. LMNOPQNReal independent parser choice, even when alternative matches share a prefix. RSTU4Convert some date string with unknown format to YYYYMMDD. VDApply account matching rules to a transaction description to obtain 5 the most appropriate account and a new description. -<=>?@ABCDEFGHIzJKLMNOP{Q|}~RSTUV?@ABCDEFGHI>=<JKLMNOPQRSTUV<=>? @ABCDEFGHI@ABCDEFGHIJKLMNOPQRSTUVWDPrint a histogram of some statistic per reporting interval, such as  number of postings per day. XWXWXWXY.Print ledger transactions in standard format. ZYZYZYZ [)Print various statistics for the ledger. \[\[\[\ L)*+,-./012345xy6789:;<=>?@ABCDEFGHIzJKLMNOP{Q|}~RSTUVWXYZ[\]] ^Run unit tests. _Funit tests, augmenting the ones defined in each module. Where that is E inconvenient due to import cycles or whatever, we define them here. ` ^_`^_`^_` aaaa !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMMNOPQRSTUVWXYZ[\]^_`abcdefg h i j k l m n o p q r s t u v wxyz{|}~ hledger-0.10Hledger.Cli.OptionsHledger.Cli.UtilsHledger.Cli.Commands.RegisterHledger.Cli.Commands.AddHledger.Cli.Commands.BalanceHledger.Cli.Commands.ConvertHledger.Cli.Commands.HistogramHledger.Cli.Commands.PrintHledger.Cli.Commands.StatsHledger.Cli.Commands.AllHledger.Cli.TestsHledger.Cli.MainHledger.Cli.VersionOptDebugVtyDebugBinaryFilenameVersionVerboseHelp YearlyOpt QuarterlyOpt MonthlyOpt WeeklyOptSubTotalNoTotalRealEmpty EffectiveDisplayDepth CostBasis UnClearedClearedPeriodEndBegin NoNewAcctsFilevalueoptionsparseArguments fixOptDatesdateSpanFromOptsintervalFromOpts depthFromOptsdisplayExprFromOptsusingTimeProgramNamejournalFilePathFromOptsparsePatternArgsoptsToFilterSpec withJournalDojournalFromStringWithOpts openBrowserOnregistershowRegisterReportshowPostingWithBalancetests_RegisteraddgetAndAddTransactionsgetTransaction getPostingsaskForjournalAddTransactionappendToJournalFileregisterFromStringcompareStringscompareDescriptionstransactionsSimilarTobalanceshowBalanceReportshowInterestingAccount isInteresting CsvRecord AccountRule FieldPositionCsvRules dateField statusField codeFielddescriptionField amountField currencyField baseCurrency baseAccount accountRulesconvert maxFieldIndex rulesFileForinitialRulesFileContentparseCsvRulesFile parseCsvRules csvrulesfile definitions accountruleprintTxntransactionFromCsvRecord normaliseDateidentify histogram showHistogramprint'showTransactionsstats showStatstests_Hledger_CommandsrunteststestsjournalWithAmountsmainversion patchlevelprogname timeprogname buildversionbinaryfilename versionstr versionmsg configflagsusagehdrusageftrusageoptsWithConstructoroptsWithConstructorsoptValuesForConstructoroptValuesForConstructorsclearedValueFromOptssummarisePostingspostingsMatchingDisplayExprdisplayExprMatchessummarisePostingsInDateSpanshowPostingsWithBalancewordLetterPairs letterPairs nullruleschoice' datefield codefield statusfielddescriptionfield amountfield currencyfield basecurrency baseaccount blanklines blankline commentchar commentlineblankorcommentlinematchreplacepatterncaseinsensitive tests_Convertbarchar printDayWithcountBardate1t1 sampleledgersampleledgerwithoptssample_ledger_strdefaultyear_ledger_strwrite_sample_ledger entry2_str entry3_strperiodic_entry1_strperiodic_entry2_strperiodic_entry3_str ledger1_str ledger2_str ledger3_str ledger4_str ledger5_str ledger6_str ledger7_strjournal7ledger7 ledger8_strtimelogentry1_str timelogentry1timelogentry2_str timelogentry2a1a2a3