diff --git a/hledger-lib/hledger_csv.5 b/hledger-lib/hledger_csv.5 index 1570b9cd6..d405506d9 100644 --- a/hledger-lib/hledger_csv.5 +++ b/hledger-lib/hledger_csv.5 @@ -35,7 +35,7 @@ below, after the examples: .PP .TS tab(@); -l l. +lw(30.1n) lw(39.9n). T{ \f[B]\f[CB]skip\f[B]\f[R] T}@T{ @@ -57,9 +57,14 @@ T}@T{ a custom field separator T} T{ -\f[B]\f[CB]if\f[B]\f[R] +\f[B]\f[CB]if\f[B] block\f[R] T}@T{ -apply some rules to matched CSV records +apply some rules to CSV records matched by patterns +T} +T{ +\f[B]\f[CB]if\f[B] table\f[R] +T}@T{ +apply some rules to CSV records matched by patterns, alternate syntax T} T{ \f[B]\f[CB]end\f[B]\f[R] diff --git a/hledger-lib/hledger_csv.info b/hledger-lib/hledger_csv.info index 86b8a0890..00f9d81e1 100644 --- a/hledger-lib/hledger_csv.info +++ b/hledger-lib/hledger_csv.info @@ -28,17 +28,24 @@ rules for categorising transactions based on their descriptions. Here's an overview of the CSV rules; these are described more fully below, after the examples: -*'skip'* skip one or more header lines or matched CSV records -*'fields'* name CSV fields, assign them to hledger fields -*field assign a value to one hledger field, with interpolation -assignment* -*'separator'* a custom field separator -*'if'* apply some rules to matched CSV records -*'end'* skip the remaining CSV records -*'date-format'* describe the format of CSV dates -*'newest-first'* disambiguate record order when there's only one date -*'include'* inline another CSV rules file -*'balance-type'* choose which type of balance assignments to use +*'skip'* skip one or more header lines or + matched CSV records +*'fields'* name CSV fields, assign them to hledger + fields +*field assignment* assign a value to one hledger field, + with interpolation +*'separator'* a custom field separator +*'if' block* apply some rules to CSV records matched + by patterns +*'if' table* apply some rules to CSV records matched + by patterns, alternate syntax +*'end'* skip the remaining CSV records +*'date-format'* describe the format of CSV dates +*'newest-first'* disambiguate record order when there's + only one date +*'include'* inline another CSV rules file +*'balance-type'* choose which type of balance + assignments to use Note, for best error messages when reading CSV files, use a '.csv', '.tsv' or '.ssv' file extension or file prefix - see File Extension @@ -1098,76 +1105,76 @@ command the user specified.  Tag Table: Node: Top72 -Node: EXAMPLES2180 -Ref: #examples2286 -Node: Basic2494 -Ref: #basic2594 -Node: Bank of Ireland3136 -Ref: #bank-of-ireland3271 -Node: Amazon4733 -Ref: #amazon4851 -Node: Paypal6570 -Ref: #paypal6664 -Node: CSV RULES14308 -Ref: #csv-rules14417 -Node: skip14712 -Ref: #skip14805 -Node: fields15180 -Ref: #fields15302 -Node: Transaction field names16467 -Ref: #transaction-field-names16627 -Node: Posting field names16738 -Ref: #posting-field-names16890 -Node: account16960 -Ref: #account17076 -Node: amount17613 -Ref: #amount17744 -Node: currency18851 -Ref: #currency18986 -Node: balance19192 -Ref: #balance19326 -Node: comment19643 -Ref: #comment19760 -Node: field assignment19923 -Ref: #field-assignment20066 -Node: separator20884 -Ref: #separator21019 -Node: if block21430 -Ref: #if-block21555 -Node: if table23711 -Ref: #if-table23830 -Node: end25568 -Ref: #end25680 -Node: date-format25904 -Ref: #date-format26036 -Node: newest-first26785 -Ref: #newest-first26923 -Node: include27606 -Ref: #include27737 -Node: balance-type28181 -Ref: #balance-type28301 -Node: TIPS29001 -Ref: #tips29083 -Node: Rapid feedback29339 -Ref: #rapid-feedback29456 -Node: Valid CSV29916 -Ref: #valid-csv30046 -Node: File Extension30238 -Ref: #file-extension30390 -Node: Reading multiple CSV files30800 -Ref: #reading-multiple-csv-files30985 -Node: Valid transactions31226 -Ref: #valid-transactions31404 -Node: Deduplicating importing32032 -Ref: #deduplicating-importing32211 -Node: Setting amounts33244 -Ref: #setting-amounts33413 -Node: Setting currency/commodity34400 -Ref: #setting-currencycommodity34592 -Node: Referencing other fields35395 -Ref: #referencing-other-fields35595 -Node: How CSV rules are evaluated36492 -Ref: #how-csv-rules-are-evaluated36665 +Node: EXAMPLES2636 +Ref: #examples2742 +Node: Basic2950 +Ref: #basic3050 +Node: Bank of Ireland3592 +Ref: #bank-of-ireland3727 +Node: Amazon5189 +Ref: #amazon5307 +Node: Paypal7026 +Ref: #paypal7120 +Node: CSV RULES14764 +Ref: #csv-rules14873 +Node: skip15168 +Ref: #skip15261 +Node: fields15636 +Ref: #fields15758 +Node: Transaction field names16923 +Ref: #transaction-field-names17083 +Node: Posting field names17194 +Ref: #posting-field-names17346 +Node: account17416 +Ref: #account17532 +Node: amount18069 +Ref: #amount18200 +Node: currency19307 +Ref: #currency19442 +Node: balance19648 +Ref: #balance19782 +Node: comment20099 +Ref: #comment20216 +Node: field assignment20379 +Ref: #field-assignment20522 +Node: separator21340 +Ref: #separator21475 +Node: if block21886 +Ref: #if-block22011 +Node: if table24167 +Ref: #if-table24286 +Node: end26024 +Ref: #end26136 +Node: date-format26360 +Ref: #date-format26492 +Node: newest-first27241 +Ref: #newest-first27379 +Node: include28062 +Ref: #include28193 +Node: balance-type28637 +Ref: #balance-type28757 +Node: TIPS29457 +Ref: #tips29539 +Node: Rapid feedback29795 +Ref: #rapid-feedback29912 +Node: Valid CSV30372 +Ref: #valid-csv30502 +Node: File Extension30694 +Ref: #file-extension30846 +Node: Reading multiple CSV files31256 +Ref: #reading-multiple-csv-files31441 +Node: Valid transactions31682 +Ref: #valid-transactions31860 +Node: Deduplicating importing32488 +Ref: #deduplicating-importing32667 +Node: Setting amounts33700 +Ref: #setting-amounts33869 +Node: Setting currency/commodity34856 +Ref: #setting-currencycommodity35048 +Node: Referencing other fields35851 +Ref: #referencing-other-fields36051 +Node: How CSV rules are evaluated36948 +Ref: #how-csv-rules-are-evaluated37121  End Tag Table diff --git a/hledger-lib/hledger_csv.txt b/hledger-lib/hledger_csv.txt index c8c56dd78..9d8db4c6e 100644 --- a/hledger-lib/hledger_csv.txt +++ b/hledger-lib/hledger_csv.txt @@ -26,27 +26,24 @@ DESCRIPTION Here's an overview of the CSV rules; these are described more fully be- low, after the examples: - skip skip one or more header - lines or matched CSV - records - fields name CSV fields, assign - them to hledger fields - field assignment assign a value to one - hledger field, with inter- - polation - separator a custom field separator - if apply some rules to - matched CSV records - end skip the remaining CSV - records - date-format describe the format of CSV - dates - newest-first disambiguate record order - when there's only one date - include inline another CSV rules - file - balance-type choose which type of bal- - ance assignments to use + skip skip one or more header lines or matched + CSV records + fields name CSV fields, assign them to hledger + fields + field assignment assign a value to one hledger field, + with interpolation + separator a custom field separator + if block apply some rules to CSV records matched + by patterns + if table apply some rules to CSV records matched + by patterns, alternate syntax + end skip the remaining CSV records + date-format describe the format of CSV dates + newest-first disambiguate record order when there's + only one date + include inline another CSV rules file + balance-type choose which type of balance assignments + to use Note, for best error messages when reading CSV files, use a .csv, .tsv or .ssv file extension or file prefix - see File Extension below. diff --git a/hledger/Hledger/Cli/Commands/Add.txt b/hledger/Hledger/Cli/Commands/Add.txt index c1aaaf883..64da24de1 100644 --- a/hledger/Hledger/Cli/Commands/Add.txt +++ b/hledger/Hledger/Cli/Commands/Add.txt @@ -1,5 +1,6 @@ add -Prompt for transactions and add them to the journal. +Prompt for transactions and add them to the journal. Any arguments will +be used as default inputs for the first N prompts. _FLAGS @@ -62,5 +63,4 @@ Starting the next transaction (. or ctrl-D/ctrl-C to quit) Date [2015/05/22]: $ On Microsoft Windows, the add command makes sure that no part of the -file path ends with a period, as it can cause data loss on that platform -(cf #1056). +file path ends with a period, as that would cause problems (#1056). diff --git a/hledger/Hledger/Cli/Commands/Balance.txt b/hledger/Hledger/Cli/Commands/Balance.txt index cc9c33cf1..aabd85925 100644 --- a/hledger/Hledger/Cli/Commands/Balance.txt +++ b/hledger/Hledger/Cli/Commands/Balance.txt @@ -299,6 +299,16 @@ supported. The --transpose flag can be used to exchange the rows and columns of a multicolumn report. +When showing multicommodity amounts, multicolumn balance reports will +elide any amounts which have more than two commodities, since otherwise +columns could get very wide. The --no-elide flag disables this. Hiding +totals with the -N/--no-total flag can also help reduce the width of +multicommodity reports. + +When the report is still too wide, a good workaround is to pipe it into +less -RS (-R for colour, -S to chop long lines). Eg: +hledger bal -D | less -RS. + Budget report With --budget, extra columns are displayed showing budget goals for each diff --git a/hledger/hledger.1 b/hledger/hledger.1 index 7cbd9aba1..1899bfc46 100644 --- a/hledger/hledger.1 +++ b/hledger/hledger.1 @@ -2434,6 +2434,7 @@ add .P .PD Prompt for transactions and add them to the journal. +Any arguments will be used as default inputs for the first N prompts. .PP Many hledger users edit their journals directly with a text editor, or generate them from CSV. @@ -2508,8 +2509,7 @@ Date [2015/05/22]: $ .fi .PP On Microsoft Windows, the add command makes sure that no part of the -file path ends with a period, as it can cause data loss on that platform -(cf #1056). +file path ends with a period, as that would cause problems (#1056). .SS balance .PP balance, bal, b @@ -2882,6 +2882,17 @@ supported. .PP The \f[C]--transpose\f[R] flag can be used to exchange the rows and columns of a multicolumn report. +.PP +When showing multicommodity amounts, multicolumn balance reports will +elide any amounts which have more than two commodities, since otherwise +columns could get very wide. +The \f[C]--no-elide\f[R] flag disables this. +Hiding totals with the \f[C]-N/--no-total\f[R] flag can also help reduce +the width of multicommodity reports. +.PP +When the report is still too wide, a good workaround is to pipe it into +\f[C]less -RS\f[R] (-R for colour, -S to chop long lines). +Eg: \f[C]hledger bal -D | less -RS\f[R]. .SS Budget report .PP With \f[C]--budget\f[R], extra columns are displayed showing budget diff --git a/hledger/hledger.info b/hledger/hledger.info index eded18dbd..3a3c3fa86 100644 --- a/hledger/hledger.info +++ b/hledger/hledger.info @@ -1982,7 +1982,8 @@ File: hledger.info, Node: add, Next: balance, Prev: activity, Up: COMMANDS ======= add -Prompt for transactions and add them to the journal. +Prompt for transactions and add them to the journal. Any arguments will +be used as default inputs for the first N prompts. Many hledger users edit their journals directly with a text editor, or generate them from CSV. For more interactive data entry, there is the @@ -2043,8 +2044,7 @@ Starting the next transaction (. or ctrl-D/ctrl-C to quit) Date [2015/05/22]: $ On Microsoft Windows, the add command makes sure that no part of the -file path ends with a period, as it can cause data loss on that platform -(cf #1056). +file path ends with a period, as that would cause problems (#1056).  File: hledger.info, Node: balance, Next: balancesheet, Prev: add, Up: COMMANDS @@ -2392,6 +2392,16 @@ supported. The '--transpose' flag can be used to exchange the rows and columns of a multicolumn report. + When showing multicommodity amounts, multicolumn balance reports will +elide any amounts which have more than two commodities, since otherwise +columns could get very wide. The '--no-elide' flag disables this. +Hiding totals with the '-N/--no-total' flag can also help reduce the +width of multicommodity reports. + + When the report is still too wide, a good workaround is to pipe it +into 'less -RS' (-R for colour, -S to chop long lines). Eg: 'hledger +bal -D | less -RS'. +  File: hledger.info, Node: Budget report, Next: , Prev: Multicolumn balance report, Up: balance @@ -3964,107 +3974,107 @@ Node: activity66438 Ref: #activity66548 Node: add66931 Ref: #add67030 -Node: balance69769 -Ref: #balance69880 -Node: Classic balance report71338 -Ref: #classic-balance-report71511 -Node: Customising the classic balance report72945 -Ref: #customising-the-classic-balance-report73173 -Node: Colour support75249 -Ref: #colour-support75416 -Node: Flat mode75589 -Ref: #flat-mode75737 -Node: Depth limited balance reports76150 -Ref: #depth-limited-balance-reports76335 -Node: Percentages76791 -Ref: #percentages76957 -Node: Multicolumn balance report78094 -Ref: #multicolumn-balance-report78274 -Node: Budget report83536 -Ref: #budget-report83679 -Node: Nested budgets88945 -Ref: #nested-budgets89057 -Ref: #output-format-192538 -Node: balancesheet92735 -Ref: #balancesheet92871 -Node: balancesheetequity94337 -Ref: #balancesheetequity94486 -Node: cashflow95209 -Ref: #cashflow95337 -Node: check-dates96516 -Ref: #check-dates96643 -Node: check-dupes96922 -Ref: #check-dupes97046 -Node: close97339 -Ref: #close97453 -Node: close usage98975 -Ref: #close-usage99068 -Node: commodities101881 -Ref: #commodities102008 -Node: descriptions102090 -Ref: #descriptions102218 -Node: diff102399 -Ref: #diff102505 -Node: files103552 -Ref: #files103652 -Node: help103799 -Ref: #help103899 -Node: import104980 -Ref: #import105094 -Node: Importing balance assignments105987 -Ref: #importing-balance-assignments106135 -Node: incomestatement106784 -Ref: #incomestatement106917 -Node: notes108404 -Ref: #notes108517 -Node: payees108643 -Ref: #payees108749 -Node: prices108907 -Ref: #prices109013 -Node: print109354 -Ref: #print109464 -Node: print-unique114260 -Ref: #print-unique114386 -Node: register114671 -Ref: #register114798 -Node: Custom register output118970 -Ref: #custom-register-output119099 -Node: register-match120436 -Ref: #register-match120570 -Node: rewrite120921 -Ref: #rewrite121036 -Node: Re-write rules in a file122891 -Ref: #re-write-rules-in-a-file123025 -Node: Diff output format124235 -Ref: #diff-output-format124404 -Node: rewrite vs print --auto125496 -Ref: #rewrite-vs.-print---auto125675 -Node: roi126231 -Ref: #roi126329 -Node: stats127341 -Ref: #stats127440 -Node: tags128228 -Ref: #tags128326 -Node: test128620 -Ref: #test128728 -Node: Add-on commands129475 -Ref: #add-on-commands129592 -Node: ui130935 -Ref: #ui131023 -Node: web131077 -Ref: #web131180 -Node: iadd131296 -Ref: #iadd131407 -Node: interest131489 -Ref: #interest131596 -Node: ENVIRONMENT131836 -Ref: #environment131948 -Node: FILES132777 -Ref: #files-1132880 -Node: LIMITATIONS133093 -Ref: #limitations133212 -Node: TROUBLESHOOTING133954 -Ref: #troubleshooting134067 +Node: balance69823 +Ref: #balance69934 +Node: Classic balance report71392 +Ref: #classic-balance-report71565 +Node: Customising the classic balance report72999 +Ref: #customising-the-classic-balance-report73227 +Node: Colour support75303 +Ref: #colour-support75470 +Node: Flat mode75643 +Ref: #flat-mode75791 +Node: Depth limited balance reports76204 +Ref: #depth-limited-balance-reports76389 +Node: Percentages76845 +Ref: #percentages77011 +Node: Multicolumn balance report78148 +Ref: #multicolumn-balance-report78328 +Node: Budget report84066 +Ref: #budget-report84209 +Node: Nested budgets89475 +Ref: #nested-budgets89587 +Ref: #output-format-193068 +Node: balancesheet93265 +Ref: #balancesheet93401 +Node: balancesheetequity94867 +Ref: #balancesheetequity95016 +Node: cashflow95739 +Ref: #cashflow95867 +Node: check-dates97046 +Ref: #check-dates97173 +Node: check-dupes97452 +Ref: #check-dupes97576 +Node: close97869 +Ref: #close97983 +Node: close usage99505 +Ref: #close-usage99598 +Node: commodities102411 +Ref: #commodities102538 +Node: descriptions102620 +Ref: #descriptions102748 +Node: diff102929 +Ref: #diff103035 +Node: files104082 +Ref: #files104182 +Node: help104329 +Ref: #help104429 +Node: import105510 +Ref: #import105624 +Node: Importing balance assignments106517 +Ref: #importing-balance-assignments106665 +Node: incomestatement107314 +Ref: #incomestatement107447 +Node: notes108934 +Ref: #notes109047 +Node: payees109173 +Ref: #payees109279 +Node: prices109437 +Ref: #prices109543 +Node: print109884 +Ref: #print109994 +Node: print-unique114790 +Ref: #print-unique114916 +Node: register115201 +Ref: #register115328 +Node: Custom register output119500 +Ref: #custom-register-output119629 +Node: register-match120966 +Ref: #register-match121100 +Node: rewrite121451 +Ref: #rewrite121566 +Node: Re-write rules in a file123421 +Ref: #re-write-rules-in-a-file123555 +Node: Diff output format124765 +Ref: #diff-output-format124934 +Node: rewrite vs print --auto126026 +Ref: #rewrite-vs.-print---auto126205 +Node: roi126761 +Ref: #roi126859 +Node: stats127871 +Ref: #stats127970 +Node: tags128758 +Ref: #tags128856 +Node: test129150 +Ref: #test129258 +Node: Add-on commands130005 +Ref: #add-on-commands130122 +Node: ui131465 +Ref: #ui131553 +Node: web131607 +Ref: #web131710 +Node: iadd131826 +Ref: #iadd131937 +Node: interest132019 +Ref: #interest132126 +Node: ENVIRONMENT132366 +Ref: #environment132478 +Node: FILES133307 +Ref: #files-1133410 +Node: LIMITATIONS133623 +Ref: #limitations133742 +Node: TROUBLESHOOTING134484 +Ref: #troubleshooting134597  End Tag Table diff --git a/hledger/hledger.txt b/hledger/hledger.txt index 16dd026c0..b8c44e87d 100644 --- a/hledger/hledger.txt +++ b/hledger/hledger.txt @@ -1668,24 +1668,25 @@ COMMANDS add add - Prompt for transactions and add them to the journal. + Prompt for transactions and add them to the journal. Any arguments + will be used as default inputs for the first N prompts. - Many hledger users edit their journals directly with a text editor, or - generate them from CSV. For more interactive data entry, there is the - add command, which prompts interactively on the console for new trans- + Many hledger users edit their journals directly with a text editor, or + generate them from CSV. For more interactive data entry, there is the + add command, which prompts interactively on the console for new trans- actions, and appends them to the journal file (if there are multiple -f - FILE options, the first file is used.) Existing transactions are not - changed. This is the only hledger command that writes to the journal + FILE options, the first file is used.) Existing transactions are not + changed. This is the only hledger command that writes to the journal file. To use it, just run hledger add and follow the prompts. You can add as - many transactions as you like; when you are finished, enter . or press + many transactions as you like; when you are finished, enter . or press control-d or control-c to exit. Features: - o add tries to provide useful defaults, using the most similar (by de- - scription) recent transaction (filtered by the query, if any) as a + o add tries to provide useful defaults, using the most similar (by de- + scription) recent transaction (filtered by the query, if any) as a template. o You can also set the initial defaults with command line arguments. @@ -1693,10 +1694,10 @@ COMMANDS o Readline-style edit keys can be used during data entry. o The tab key will auto-complete whenever possible - accounts, descrip- - tions, dates (yesterday, today, tomorrow). If the input area is + tions, dates (yesterday, today, tomorrow). If the input area is empty, it will insert the default value. - o If the journal defines a default commodity, it will be added to any + o If the journal defines a default commodity, it will be added to any bare numbers entered. o A parenthesised transaction code may be entered following a date. @@ -1705,7 +1706,7 @@ COMMANDS o If you make a mistake, enter < at any prompt to go one step backward. - o Input prompts are displayed in a different colour when the terminal + o Input prompts are displayed in a different colour when the terminal supports it. Example (see the tutorial for a detailed explanation): @@ -1735,9 +1736,8 @@ COMMANDS Starting the next transaction (. or ctrl-D/ctrl-C to quit) Date [2015/05/22]: $ - On Microsoft Windows, the add command makes sure that no part of the - file path ends with a period, as it can cause data loss on that plat- - form (cf #1056). + On Microsoft Windows, the add command makes sure that no part of the + file path ends with a period, as that would cause problems (#1056). balance balance, bal, b @@ -2041,6 +2041,16 @@ COMMANDS The --transpose flag can be used to exchange the rows and columns of a multicolumn report. + When showing multicommodity amounts, multicolumn balance reports will + elide any amounts which have more than two commodities, since otherwise + columns could get very wide. The --no-elide flag disables this. Hid- + ing totals with the -N/--no-total flag can also help reduce the width + of multicommodity reports. + + When the report is still too wide, a good workaround is to pipe it into + less -RS (-R for colour, -S to chop long lines). Eg: hledger bal -D | + less -RS. + Budget report With --budget, extra columns are displayed showing budget goals for each account and period, if any. Budget goals are defined by periodic