;doc: regen manuals
[ci skip]
This commit is contained in:
parent
ba44d00bed
commit
061bf73b61
@ -1,6 +1,6 @@
|
||||
.\"t
|
||||
|
||||
.TH "hledger_csv" "5" "February 2020" "hledger 1.16.99" "hledger User Manuals"
|
||||
.TH "hledger_csv" "5" "March 2020" "hledger 1.17" "hledger User Manuals"
|
||||
|
||||
|
||||
|
||||
@ -236,10 +236,7 @@ amount2 %amzamount
|
||||
#include categorisation.rules
|
||||
|
||||
# add a third posting for fees, but only if they are non-zero.
|
||||
# Commas in the data makes counting fields hard, so count from the right instead.
|
||||
# (Regex translation: \[dq]a field containing a non-zero dollar amount,
|
||||
# immediately before the 1 right-most fields\[dq])
|
||||
if ,\[rs]$[1-9][.0-9]+(,[\[ha],]*){1}$
|
||||
if %fees [1-9]
|
||||
account3 expenses:fees
|
||||
amount3 %fees
|
||||
\f[R]
|
||||
@ -308,13 +305,11 @@ description %description_ %itemtitle
|
||||
comment itemid:%itemid, fromemail:%fromemail, toemail:%toemail, time:%time, type:%type, status:%status_
|
||||
|
||||
# convert to short currency symbols
|
||||
# Note: in conditional block regexps, the line of csv being matched is
|
||||
# a synthetic one: the unquoted field values, with commas between them.
|
||||
if ,USD,
|
||||
if %currency USD
|
||||
currency $
|
||||
if ,EUR,
|
||||
if %currency EUR
|
||||
currency E
|
||||
if ,GBP,
|
||||
if %currency GBP
|
||||
currency P
|
||||
|
||||
# generate postings
|
||||
@ -328,9 +323,8 @@ amount1 %netamount
|
||||
# (account2 is set below)
|
||||
amount2 -%grossamount
|
||||
|
||||
# if there\[aq]s a fee (9th field), add a third posting for the money taken by paypal.
|
||||
# TODO: This regexp fails when fields contain a comma (generates a third posting with zero amount)
|
||||
if \[ha]([\[ha],]+,){8}[\[ha]0]
|
||||
# if there\[aq]s a fee, add a third posting for the money taken by paypal.
|
||||
if %feeamount [1-9]
|
||||
account3 expenses:banking:paypal
|
||||
amount3 -%feeamount
|
||||
comment3 business:
|
||||
@ -338,11 +332,11 @@ if \[ha]([\[ha],]+,){8}[\[ha]0]
|
||||
# choose an account for the second posting
|
||||
|
||||
# override the default account names:
|
||||
# if amount (8th field) is positive, it\[aq]s income (a debit)
|
||||
if \[ha]([\[ha],]+,){7}[0-9]
|
||||
# if the amount is positive, it\[aq]s income (a debit)
|
||||
if %grossamount \[ha][\[ha]-]
|
||||
account2 income:unknown
|
||||
# if negative, it\[aq]s an expense (a credit)
|
||||
if \[ha]([\[ha],]+,){7}-
|
||||
if %grossamount \[ha]-
|
||||
account2 expenses:unknown
|
||||
|
||||
# apply common rules for setting account2 & other tweaks
|
||||
@ -585,13 +579,13 @@ See also: File Extension.
|
||||
.IP
|
||||
.nf
|
||||
\f[C]
|
||||
if PATTERN
|
||||
if MATCHER
|
||||
RULE
|
||||
|
||||
if
|
||||
PATTERN
|
||||
PATTERN
|
||||
PATTERN
|
||||
MATCHER
|
||||
MATCHER
|
||||
MATCHER
|
||||
RULE
|
||||
RULE
|
||||
\f[R]
|
||||
@ -602,28 +596,40 @@ applied only to CSV records which match certain patterns.
|
||||
They are often used for customising account names based on transaction
|
||||
descriptions.
|
||||
.PP
|
||||
A single pattern can be written on the same line as the \[dq]if\[dq]; or
|
||||
multiple patterns can be written on the following lines, non-indented.
|
||||
Multiple patterns are OR\[aq]d (any one of them can match).
|
||||
Patterns are case-insensitive regular expressions which try to match
|
||||
anywhere within the whole CSV record (POSIX extended regular expressions
|
||||
with some additions, see
|
||||
https://hledger.org/hledger.html#regular-expressions).
|
||||
Note the CSV record they see is close to, but not identical to, the one
|
||||
in the CSV file; enclosing double quotes will be removed, and the
|
||||
separator character is always comma.
|
||||
.PP
|
||||
It\[aq]s not yet easy to match within a specific field.
|
||||
If the data does not contain commas, you can hack it with a regular
|
||||
expression like:
|
||||
Each MATCHER can be a record matcher, which looks like this:
|
||||
.IP
|
||||
.nf
|
||||
\f[C]
|
||||
# match \[dq]foo\[dq] in the fourth field
|
||||
if \[ha]([\[ha],]*,){3}foo
|
||||
REGEX
|
||||
\f[R]
|
||||
.fi
|
||||
.PP
|
||||
REGEX is a case-insensitive regular expression which tries to match
|
||||
anywhere within the CSV record.
|
||||
It is a POSIX extended regular expressions with some additions (see
|
||||
Regular expressions in the hledger manual).
|
||||
Note: the \[dq]CSV record\[dq] it is matched against is not the original
|
||||
record, but a synthetic one, with enclosing double quotes or whitespace
|
||||
removed, and always comma-separated.
|
||||
(Eg, an SSV record \f[C]2020-01-01; \[dq]Acme, Inc.\[dq]; 1,000\f[R]
|
||||
appears to REGEX as \f[C]2020-01-01,Acme, Inc.,1,000\f[R]).
|
||||
.PP
|
||||
Or, MATCHER can be a field matcher, like this:
|
||||
.IP
|
||||
.nf
|
||||
\f[C]
|
||||
%CSVFIELD REGEX
|
||||
\f[R]
|
||||
.fi
|
||||
.PP
|
||||
which matches just the content of a particular CSV field.
|
||||
CSVFIELD is a percent sign followed by the field\[aq]s name or column
|
||||
number, like \f[C]%date\f[R] or \f[C]%1\f[R].
|
||||
.PP
|
||||
A single matcher can be written on the same line as the \[dq]if\[dq]; or
|
||||
multiple matchers can be written on the following lines, non-indented.
|
||||
Multiple matchers are OR\[aq]d (any one of them can match).
|
||||
.PP
|
||||
After the patterns there should be one or more rules to apply, all
|
||||
indented by at least one space.
|
||||
Three kinds of rule are allowed in conditional blocks:
|
||||
|
||||
@ -3,8 +3,8 @@ This is hledger_csv.info, produced by makeinfo version 6.7 from stdin.
|
||||
|
||||
File: hledger_csv.info, Node: Top, Next: EXAMPLES, Up: (dir)
|
||||
|
||||
hledger_csv(5) hledger 1.16.99
|
||||
******************************
|
||||
hledger_csv(5) hledger 1.17
|
||||
***************************
|
||||
|
||||
CSV - how hledger reads CSV data, and the CSV rules file format
|
||||
|
||||
@ -190,10 +190,7 @@ amount2 %amzamount
|
||||
#include categorisation.rules
|
||||
|
||||
# add a third posting for fees, but only if they are non-zero.
|
||||
# Commas in the data makes counting fields hard, so count from the right instead.
|
||||
# (Regex translation: "a field containing a non-zero dollar amount,
|
||||
# immediately before the 1 right-most fields")
|
||||
if ,\$[1-9][.0-9]+(,[^,]*){1}$
|
||||
if %fees [1-9]
|
||||
account3 expenses:fees
|
||||
amount3 %fees
|
||||
|
||||
@ -255,13 +252,11 @@ description %description_ %itemtitle
|
||||
comment itemid:%itemid, fromemail:%fromemail, toemail:%toemail, time:%time, type:%type, status:%status_
|
||||
|
||||
# convert to short currency symbols
|
||||
# Note: in conditional block regexps, the line of csv being matched is
|
||||
# a synthetic one: the unquoted field values, with commas between them.
|
||||
if ,USD,
|
||||
if %currency USD
|
||||
currency $
|
||||
if ,EUR,
|
||||
if %currency EUR
|
||||
currency E
|
||||
if ,GBP,
|
||||
if %currency GBP
|
||||
currency P
|
||||
|
||||
# generate postings
|
||||
@ -275,9 +270,8 @@ amount1 %netamount
|
||||
# (account2 is set below)
|
||||
amount2 -%grossamount
|
||||
|
||||
# if there's a fee (9th field), add a third posting for the money taken by paypal.
|
||||
# TODO: This regexp fails when fields contain a comma (generates a third posting with zero amount)
|
||||
if ^([^,]+,){8}[^0]
|
||||
# if there's a fee, add a third posting for the money taken by paypal.
|
||||
if %feeamount [1-9]
|
||||
account3 expenses:banking:paypal
|
||||
amount3 -%feeamount
|
||||
comment3 business:
|
||||
@ -285,11 +279,11 @@ if ^([^,]+,){8}[^0]
|
||||
# choose an account for the second posting
|
||||
|
||||
# override the default account names:
|
||||
# if amount (8th field) is positive, it's income (a debit)
|
||||
if ^([^,]+,){7}[0-9]
|
||||
# if the amount is positive, it's income (a debit)
|
||||
if %grossamount ^[^-]
|
||||
account2 income:unknown
|
||||
# if negative, it's an expense (a credit)
|
||||
if ^([^,]+,){7}-
|
||||
if %grossamount ^-
|
||||
account2 expenses:unknown
|
||||
|
||||
# apply common rules for setting account2 & other tweaks
|
||||
@ -537,13 +531,13 @@ File: hledger_csv.info, Node: if, Next: end, Prev: separator, Up: CSV RULES
|
||||
2.5 'if'
|
||||
========
|
||||
|
||||
if PATTERN
|
||||
if MATCHER
|
||||
RULE
|
||||
|
||||
if
|
||||
PATTERN
|
||||
PATTERN
|
||||
PATTERN
|
||||
MATCHER
|
||||
MATCHER
|
||||
MATCHER
|
||||
RULE
|
||||
RULE
|
||||
|
||||
@ -552,21 +546,30 @@ applied only to CSV records which match certain patterns. They are
|
||||
often used for customising account names based on transaction
|
||||
descriptions.
|
||||
|
||||
A single pattern can be written on the same line as the "if"; or
|
||||
multiple patterns can be written on the following lines, non-indented.
|
||||
Multiple patterns are OR'd (any one of them can match). Patterns are
|
||||
case-insensitive regular expressions which try to match anywhere within
|
||||
the whole CSV record (POSIX extended regular expressions with some
|
||||
additions, see https://hledger.org/hledger.html#regular-expressions).
|
||||
Note the CSV record they see is close to, but not identical to, the one
|
||||
in the CSV file; enclosing double quotes will be removed, and the
|
||||
separator character is always comma.
|
||||
Each MATCHER can be a record matcher, which looks like this:
|
||||
|
||||
It's not yet easy to match within a specific field. If the data does
|
||||
not contain commas, you can hack it with a regular expression like:
|
||||
REGEX
|
||||
|
||||
# match "foo" in the fourth field
|
||||
if ^([^,]*,){3}foo
|
||||
REGEX is a case-insensitive regular expression which tries to match
|
||||
anywhere within the CSV record. It is a POSIX extended regular
|
||||
expressions with some additions (see Regular expressions in the hledger
|
||||
manual). Note: the "CSV record" it is matched against is not the
|
||||
original record, but a synthetic one, with enclosing double quotes or
|
||||
whitespace removed, and always comma-separated. (Eg, an SSV record
|
||||
'2020-01-01; "Acme, Inc."; 1,000' appears to REGEX as '2020-01-01,Acme,
|
||||
Inc.,1,000').
|
||||
|
||||
Or, MATCHER can be a field matcher, like this:
|
||||
|
||||
%CSVFIELD REGEX
|
||||
|
||||
which matches just the content of a particular CSV field. CSVFIELD
|
||||
is a percent sign followed by the field's name or column number, like
|
||||
'%date' or '%1'.
|
||||
|
||||
A single matcher can be written on the same line as the "if"; or
|
||||
multiple matchers can be written on the following lines, non-indented.
|
||||
Multiple matchers are OR'd (any one of them can match).
|
||||
|
||||
After the patterns there should be one or more rules to apply, all
|
||||
indented by at least one space. Three kinds of rule are allowed in
|
||||
@ -968,64 +971,64 @@ command the user specified.
|
||||
|
||||
Tag Table:
|
||||
Node: Top72
|
||||
Node: EXAMPLES2099
|
||||
Ref: #examples2205
|
||||
Node: Basic2413
|
||||
Ref: #basic2513
|
||||
Node: Bank of Ireland3055
|
||||
Ref: #bank-of-ireland3190
|
||||
Node: Amazon4652
|
||||
Ref: #amazon4770
|
||||
Node: Paypal6702
|
||||
Ref: #paypal6796
|
||||
Node: CSV RULES14675
|
||||
Ref: #csv-rules14784
|
||||
Node: skip15060
|
||||
Ref: #skip15153
|
||||
Node: fields15528
|
||||
Ref: #fields15650
|
||||
Node: Transaction field names16815
|
||||
Ref: #transaction-field-names16975
|
||||
Node: Posting field names17086
|
||||
Ref: #posting-field-names17238
|
||||
Node: field assignment18529
|
||||
Ref: #field-assignment18672
|
||||
Node: separator19490
|
||||
Ref: #separator19619
|
||||
Node: if20030
|
||||
Ref: #if20132
|
||||
Node: end21848
|
||||
Ref: #end21954
|
||||
Node: date-format22178
|
||||
Ref: #date-format22310
|
||||
Node: newest-first23059
|
||||
Ref: #newest-first23197
|
||||
Node: include23880
|
||||
Ref: #include24009
|
||||
Node: balance-type24453
|
||||
Ref: #balance-type24573
|
||||
Node: TIPS25273
|
||||
Ref: #tips25355
|
||||
Node: Rapid feedback25611
|
||||
Ref: #rapid-feedback25728
|
||||
Node: Valid CSV26188
|
||||
Ref: #valid-csv26318
|
||||
Node: File Extension26510
|
||||
Ref: #file-extension26662
|
||||
Node: Reading multiple CSV files27072
|
||||
Ref: #reading-multiple-csv-files27257
|
||||
Node: Valid transactions27498
|
||||
Ref: #valid-transactions27676
|
||||
Node: Deduplicating importing28304
|
||||
Ref: #deduplicating-importing28483
|
||||
Node: Setting amounts29516
|
||||
Ref: #setting-amounts29685
|
||||
Node: Setting currency/commodity30671
|
||||
Ref: #setting-currencycommodity30863
|
||||
Node: Referencing other fields31666
|
||||
Ref: #referencing-other-fields31866
|
||||
Node: How CSV rules are evaluated32763
|
||||
Ref: #how-csv-rules-are-evaluated32936
|
||||
Node: EXAMPLES2093
|
||||
Ref: #examples2199
|
||||
Node: Basic2407
|
||||
Ref: #basic2507
|
||||
Node: Bank of Ireland3049
|
||||
Ref: #bank-of-ireland3184
|
||||
Node: Amazon4646
|
||||
Ref: #amazon4764
|
||||
Node: Paypal6483
|
||||
Ref: #paypal6577
|
||||
Node: CSV RULES14221
|
||||
Ref: #csv-rules14330
|
||||
Node: skip14606
|
||||
Ref: #skip14699
|
||||
Node: fields15074
|
||||
Ref: #fields15196
|
||||
Node: Transaction field names16361
|
||||
Ref: #transaction-field-names16521
|
||||
Node: Posting field names16632
|
||||
Ref: #posting-field-names16784
|
||||
Node: field assignment18075
|
||||
Ref: #field-assignment18218
|
||||
Node: separator19036
|
||||
Ref: #separator19165
|
||||
Node: if19576
|
||||
Ref: #if19678
|
||||
Node: end21597
|
||||
Ref: #end21703
|
||||
Node: date-format21927
|
||||
Ref: #date-format22059
|
||||
Node: newest-first22808
|
||||
Ref: #newest-first22946
|
||||
Node: include23629
|
||||
Ref: #include23758
|
||||
Node: balance-type24202
|
||||
Ref: #balance-type24322
|
||||
Node: TIPS25022
|
||||
Ref: #tips25104
|
||||
Node: Rapid feedback25360
|
||||
Ref: #rapid-feedback25477
|
||||
Node: Valid CSV25937
|
||||
Ref: #valid-csv26067
|
||||
Node: File Extension26259
|
||||
Ref: #file-extension26411
|
||||
Node: Reading multiple CSV files26821
|
||||
Ref: #reading-multiple-csv-files27006
|
||||
Node: Valid transactions27247
|
||||
Ref: #valid-transactions27425
|
||||
Node: Deduplicating importing28053
|
||||
Ref: #deduplicating-importing28232
|
||||
Node: Setting amounts29265
|
||||
Ref: #setting-amounts29434
|
||||
Node: Setting currency/commodity30420
|
||||
Ref: #setting-currencycommodity30612
|
||||
Node: Referencing other fields31415
|
||||
Ref: #referencing-other-fields31615
|
||||
Node: How CSV rules are evaluated32512
|
||||
Ref: #how-csv-rules-are-evaluated32685
|
||||
|
||||
End Tag Table
|
||||
|
||||
|
||||
@ -163,10 +163,7 @@ EXAMPLES
|
||||
#include categorisation.rules
|
||||
|
||||
# add a third posting for fees, but only if they are non-zero.
|
||||
# Commas in the data makes counting fields hard, so count from the right instead.
|
||||
# (Regex translation: "a field containing a non-zero dollar amount,
|
||||
# immediately before the 1 right-most fields")
|
||||
if ,\$[1-9][.0-9]+(,[^,]*){1}$
|
||||
if %fees [1-9]
|
||||
account3 expenses:fees
|
||||
amount3 %fees
|
||||
|
||||
@ -223,13 +220,11 @@ EXAMPLES
|
||||
comment itemid:%itemid, fromemail:%fromemail, toemail:%toemail, time:%time, type:%type, status:%status_
|
||||
|
||||
# convert to short currency symbols
|
||||
# Note: in conditional block regexps, the line of csv being matched is
|
||||
# a synthetic one: the unquoted field values, with commas between them.
|
||||
if ,USD,
|
||||
if %currency USD
|
||||
currency $
|
||||
if ,EUR,
|
||||
if %currency EUR
|
||||
currency E
|
||||
if ,GBP,
|
||||
if %currency GBP
|
||||
currency P
|
||||
|
||||
# generate postings
|
||||
@ -243,9 +238,8 @@ EXAMPLES
|
||||
# (account2 is set below)
|
||||
amount2 -%grossamount
|
||||
|
||||
# if there's a fee (9th field), add a third posting for the money taken by paypal.
|
||||
# TODO: This regexp fails when fields contain a comma (generates a third posting with zero amount)
|
||||
if ^([^,]+,){8}[^0]
|
||||
# if there's a fee, add a third posting for the money taken by paypal.
|
||||
if %feeamount [1-9]
|
||||
account3 expenses:banking:paypal
|
||||
amount3 -%feeamount
|
||||
comment3 business:
|
||||
@ -253,11 +247,11 @@ EXAMPLES
|
||||
# choose an account for the second posting
|
||||
|
||||
# override the default account names:
|
||||
# if amount (8th field) is positive, it's income (a debit)
|
||||
if ^([^,]+,){7}[0-9]
|
||||
# if the amount is positive, it's income (a debit)
|
||||
if %grossamount ^[^-]
|
||||
account2 income:unknown
|
||||
# if negative, it's an expense (a credit)
|
||||
if ^([^,]+,){7}-
|
||||
if %grossamount ^-
|
||||
account2 expenses:unknown
|
||||
|
||||
# apply common rules for setting account2 & other tweaks
|
||||
@ -446,13 +440,13 @@ CSV RULES
|
||||
See also: File Extension.
|
||||
|
||||
if
|
||||
if PATTERN
|
||||
if MATCHER
|
||||
RULE
|
||||
|
||||
if
|
||||
PATTERN
|
||||
PATTERN
|
||||
PATTERN
|
||||
MATCHER
|
||||
MATCHER
|
||||
MATCHER
|
||||
RULE
|
||||
RULE
|
||||
|
||||
@ -460,21 +454,29 @@ CSV RULES
|
||||
only to CSV records which match certain patterns. They are often used
|
||||
for customising account names based on transaction descriptions.
|
||||
|
||||
A single pattern can be written on the same line as the "if"; or multi-
|
||||
ple patterns can be written on the following lines, non-indented. Mul-
|
||||
tiple patterns are OR'd (any one of them can match). Patterns are
|
||||
case-insensitive regular expressions which try to match anywhere within
|
||||
the whole CSV record (POSIX extended regular expressions with some ad-
|
||||
ditions, see https://hledger.org/hledger.html#regular-expressions).
|
||||
Note the CSV record they see is close to, but not identical to, the one
|
||||
in the CSV file; enclosing double quotes will be removed, and the sepa-
|
||||
rator character is always comma.
|
||||
Each MATCHER can be a record matcher, which looks like this:
|
||||
|
||||
It's not yet easy to match within a specific field. If the data does
|
||||
not contain commas, you can hack it with a regular expression like:
|
||||
REGEX
|
||||
|
||||
# match "foo" in the fourth field
|
||||
if ^([^,]*,){3}foo
|
||||
REGEX is a case-insensitive regular expression which tries to match
|
||||
anywhere within the CSV record. It is a POSIX extended regular expres-
|
||||
sions with some additions (see Regular expressions in the hledger man-
|
||||
ual). Note: the "CSV record" it is matched against is not the original
|
||||
record, but a synthetic one, with enclosing double quotes or whitespace
|
||||
removed, and always comma-separated. (Eg, an SSV record 2020-01-01;
|
||||
"Acme, Inc."; 1,000 appears to REGEX as 2020-01-01,Acme, Inc.,1,000).
|
||||
|
||||
Or, MATCHER can be a field matcher, like this:
|
||||
|
||||
%CSVFIELD REGEX
|
||||
|
||||
which matches just the content of a particular CSV field. CSVFIELD is
|
||||
a percent sign followed by the field's name or column number, like
|
||||
%date or %1.
|
||||
|
||||
A single matcher can be written on the same line as the "if"; or multi-
|
||||
ple matchers can be written on the following lines, non-indented. Mul-
|
||||
tiple matchers are OR'd (any one of them can match).
|
||||
|
||||
After the patterns there should be one or more rules to apply, all in-
|
||||
dented by at least one space. Three kinds of rule are allowed in con-
|
||||
@ -817,4 +819,4 @@ SEE ALSO
|
||||
|
||||
|
||||
|
||||
hledger 1.16.99 February 2020 hledger_csv(5)
|
||||
hledger 1.17 March 2020 hledger_csv(5)
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
.\"t
|
||||
|
||||
.TH "hledger_journal" "5" "February 2020" "hledger 1.16.99" "hledger User Manuals"
|
||||
.TH "hledger_journal" "5" "March 2020" "hledger 1.17" "hledger User Manuals"
|
||||
|
||||
|
||||
|
||||
|
||||
@ -4,8 +4,8 @@ stdin.
|
||||
|
||||
File: hledger_journal.info, Node: Top, Up: (dir)
|
||||
|
||||
hledger_journal(5) hledger 1.16.99
|
||||
**********************************
|
||||
hledger_journal(5) hledger 1.17
|
||||
*******************************
|
||||
|
||||
Journal - hledger's default file format, representing a General Journal
|
||||
|
||||
@ -1735,116 +1735,116 @@ rules will have these tags added:
|
||||
|
||||
Tag Table:
|
||||
Node: Top76
|
||||
Node: Transactions1875
|
||||
Ref: #transactions1967
|
||||
Node: Dates3156
|
||||
Ref: #dates3255
|
||||
Node: Simple dates3320
|
||||
Ref: #simple-dates3446
|
||||
Node: Secondary dates3955
|
||||
Ref: #secondary-dates4109
|
||||
Node: Posting dates5445
|
||||
Ref: #posting-dates5574
|
||||
Node: Status6946
|
||||
Ref: #status7067
|
||||
Node: Description8775
|
||||
Ref: #description8909
|
||||
Node: Payee and note9229
|
||||
Ref: #payee-and-note9343
|
||||
Node: Comments9678
|
||||
Ref: #comments9804
|
||||
Node: Tags10998
|
||||
Ref: #tags11113
|
||||
Node: Postings12506
|
||||
Ref: #postings12634
|
||||
Node: Virtual Postings13660
|
||||
Ref: #virtual-postings13777
|
||||
Node: Account names15082
|
||||
Ref: #account-names15223
|
||||
Node: Amounts15710
|
||||
Ref: #amounts15849
|
||||
Node: Digit group marks16781
|
||||
Ref: #digit-group-marks16929
|
||||
Node: Amount display style17867
|
||||
Ref: #amount-display-style18021
|
||||
Node: Transaction prices19182
|
||||
Ref: #transaction-prices19348
|
||||
Node: Balance Assertions21614
|
||||
Ref: #balance-assertions21794
|
||||
Node: Assertions and ordering22827
|
||||
Ref: #assertions-and-ordering23015
|
||||
Node: Assertions and included files23715
|
||||
Ref: #assertions-and-included-files23958
|
||||
Node: Assertions and multiple -f options24291
|
||||
Ref: #assertions-and-multiple--f-options24547
|
||||
Node: Assertions and commodities24679
|
||||
Ref: #assertions-and-commodities24911
|
||||
Node: Assertions and prices26068
|
||||
Ref: #assertions-and-prices26282
|
||||
Node: Assertions and subaccounts26722
|
||||
Ref: #assertions-and-subaccounts26951
|
||||
Node: Assertions and virtual postings27275
|
||||
Ref: #assertions-and-virtual-postings27517
|
||||
Node: Assertions and precision27659
|
||||
Ref: #assertions-and-precision27852
|
||||
Node: Balance Assignments28119
|
||||
Ref: #balance-assignments28293
|
||||
Node: Balance assignments and prices29457
|
||||
Ref: #balance-assignments-and-prices29629
|
||||
Node: Directives29853
|
||||
Ref: #directives30012
|
||||
Node: Comment blocks35660
|
||||
Ref: #comment-blocks35805
|
||||
Node: Including other files35981
|
||||
Ref: #including-other-files36161
|
||||
Node: Default year36569
|
||||
Ref: #default-year36738
|
||||
Node: Declaring commodities37145
|
||||
Ref: #declaring-commodities37328
|
||||
Node: Default commodity39001
|
||||
Ref: #default-commodity39177
|
||||
Node: Market prices40066
|
||||
Ref: #market-prices40231
|
||||
Node: Declaring accounts41072
|
||||
Ref: #declaring-accounts41248
|
||||
Node: Account comments42173
|
||||
Ref: #account-comments42336
|
||||
Node: Account subdirectives42760
|
||||
Ref: #account-subdirectives42955
|
||||
Node: Account types43268
|
||||
Ref: #account-types43452
|
||||
Node: Account display order45091
|
||||
Ref: #account-display-order45261
|
||||
Node: Rewriting accounts46412
|
||||
Ref: #rewriting-accounts46597
|
||||
Node: Basic aliases47323
|
||||
Ref: #basic-aliases47469
|
||||
Node: Regex aliases48173
|
||||
Ref: #regex-aliases48345
|
||||
Node: Combining aliases49063
|
||||
Ref: #combining-aliases49241
|
||||
Node: end aliases50517
|
||||
Ref: #end-aliases50665
|
||||
Node: Default parent account50766
|
||||
Ref: #default-parent-account50932
|
||||
Node: Periodic transactions51816
|
||||
Ref: #periodic-transactions52015
|
||||
Node: Periodic rule syntax53887
|
||||
Ref: #periodic-rule-syntax54093
|
||||
Node: Two spaces between period expression and description!54797
|
||||
Ref: #two-spaces-between-period-expression-and-description55116
|
||||
Node: Forecasting with periodic transactions55800
|
||||
Ref: #forecasting-with-periodic-transactions56105
|
||||
Node: Budgeting with periodic transactions58131
|
||||
Ref: #budgeting-with-periodic-transactions58370
|
||||
Node: Auto postings / transaction modifiers58819
|
||||
Ref: #auto-postings-transaction-modifiers59031
|
||||
Node: Auto postings and dates61527
|
||||
Ref: #auto-postings-and-dates61784
|
||||
Node: Auto postings and transaction balancing / inferred amounts / balance assertions61959
|
||||
Ref: #auto-postings-and-transaction-balancing-inferred-amounts-balance-assertions62334
|
||||
Node: Auto posting tags62712
|
||||
Ref: #auto-posting-tags62951
|
||||
Node: Transactions1869
|
||||
Ref: #transactions1961
|
||||
Node: Dates3150
|
||||
Ref: #dates3249
|
||||
Node: Simple dates3314
|
||||
Ref: #simple-dates3440
|
||||
Node: Secondary dates3949
|
||||
Ref: #secondary-dates4103
|
||||
Node: Posting dates5439
|
||||
Ref: #posting-dates5568
|
||||
Node: Status6940
|
||||
Ref: #status7061
|
||||
Node: Description8769
|
||||
Ref: #description8903
|
||||
Node: Payee and note9223
|
||||
Ref: #payee-and-note9337
|
||||
Node: Comments9672
|
||||
Ref: #comments9798
|
||||
Node: Tags10992
|
||||
Ref: #tags11107
|
||||
Node: Postings12500
|
||||
Ref: #postings12628
|
||||
Node: Virtual Postings13654
|
||||
Ref: #virtual-postings13771
|
||||
Node: Account names15076
|
||||
Ref: #account-names15217
|
||||
Node: Amounts15704
|
||||
Ref: #amounts15843
|
||||
Node: Digit group marks16775
|
||||
Ref: #digit-group-marks16923
|
||||
Node: Amount display style17861
|
||||
Ref: #amount-display-style18015
|
||||
Node: Transaction prices19176
|
||||
Ref: #transaction-prices19342
|
||||
Node: Balance Assertions21608
|
||||
Ref: #balance-assertions21788
|
||||
Node: Assertions and ordering22821
|
||||
Ref: #assertions-and-ordering23009
|
||||
Node: Assertions and included files23709
|
||||
Ref: #assertions-and-included-files23952
|
||||
Node: Assertions and multiple -f options24285
|
||||
Ref: #assertions-and-multiple--f-options24541
|
||||
Node: Assertions and commodities24673
|
||||
Ref: #assertions-and-commodities24905
|
||||
Node: Assertions and prices26062
|
||||
Ref: #assertions-and-prices26276
|
||||
Node: Assertions and subaccounts26716
|
||||
Ref: #assertions-and-subaccounts26945
|
||||
Node: Assertions and virtual postings27269
|
||||
Ref: #assertions-and-virtual-postings27511
|
||||
Node: Assertions and precision27653
|
||||
Ref: #assertions-and-precision27846
|
||||
Node: Balance Assignments28113
|
||||
Ref: #balance-assignments28287
|
||||
Node: Balance assignments and prices29451
|
||||
Ref: #balance-assignments-and-prices29623
|
||||
Node: Directives29847
|
||||
Ref: #directives30006
|
||||
Node: Comment blocks35654
|
||||
Ref: #comment-blocks35799
|
||||
Node: Including other files35975
|
||||
Ref: #including-other-files36155
|
||||
Node: Default year36563
|
||||
Ref: #default-year36732
|
||||
Node: Declaring commodities37139
|
||||
Ref: #declaring-commodities37322
|
||||
Node: Default commodity38995
|
||||
Ref: #default-commodity39171
|
||||
Node: Market prices40060
|
||||
Ref: #market-prices40225
|
||||
Node: Declaring accounts41066
|
||||
Ref: #declaring-accounts41242
|
||||
Node: Account comments42167
|
||||
Ref: #account-comments42330
|
||||
Node: Account subdirectives42754
|
||||
Ref: #account-subdirectives42949
|
||||
Node: Account types43262
|
||||
Ref: #account-types43446
|
||||
Node: Account display order45085
|
||||
Ref: #account-display-order45255
|
||||
Node: Rewriting accounts46406
|
||||
Ref: #rewriting-accounts46591
|
||||
Node: Basic aliases47317
|
||||
Ref: #basic-aliases47463
|
||||
Node: Regex aliases48167
|
||||
Ref: #regex-aliases48339
|
||||
Node: Combining aliases49057
|
||||
Ref: #combining-aliases49235
|
||||
Node: end aliases50511
|
||||
Ref: #end-aliases50659
|
||||
Node: Default parent account50760
|
||||
Ref: #default-parent-account50926
|
||||
Node: Periodic transactions51810
|
||||
Ref: #periodic-transactions52009
|
||||
Node: Periodic rule syntax53881
|
||||
Ref: #periodic-rule-syntax54087
|
||||
Node: Two spaces between period expression and description!54791
|
||||
Ref: #two-spaces-between-period-expression-and-description55110
|
||||
Node: Forecasting with periodic transactions55794
|
||||
Ref: #forecasting-with-periodic-transactions56099
|
||||
Node: Budgeting with periodic transactions58125
|
||||
Ref: #budgeting-with-periodic-transactions58364
|
||||
Node: Auto postings / transaction modifiers58813
|
||||
Ref: #auto-postings-transaction-modifiers59025
|
||||
Node: Auto postings and dates61521
|
||||
Ref: #auto-postings-and-dates61778
|
||||
Node: Auto postings and transaction balancing / inferred amounts / balance assertions61953
|
||||
Ref: #auto-postings-and-transaction-balancing-inferred-amounts-balance-assertions62328
|
||||
Node: Auto posting tags62706
|
||||
Ref: #auto-posting-tags62945
|
||||
|
||||
End Tag Table
|
||||
|
||||
|
||||
@ -1415,4 +1415,4 @@ SEE ALSO
|
||||
|
||||
|
||||
|
||||
hledger 1.16.99 February 2020 hledger_journal(5)
|
||||
hledger 1.17 March 2020 hledger_journal(5)
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
|
||||
.TH "hledger_timeclock" "5" "February 2020" "hledger 1.16.99" "hledger User Manuals"
|
||||
.TH "hledger_timeclock" "5" "March 2020" "hledger 1.17" "hledger User Manuals"
|
||||
|
||||
|
||||
|
||||
|
||||
@ -4,8 +4,8 @@ stdin.
|
||||
|
||||
File: hledger_timeclock.info, Node: Top, Up: (dir)
|
||||
|
||||
hledger_timeclock(5) hledger 1.16.99
|
||||
************************************
|
||||
hledger_timeclock(5) hledger 1.17
|
||||
*********************************
|
||||
|
||||
Timeclock - the time logging format of timeclock.el, as read by hledger
|
||||
|
||||
|
||||
@ -78,4 +78,4 @@ SEE ALSO
|
||||
|
||||
|
||||
|
||||
hledger 1.16.99 February 2020 hledger_timeclock(5)
|
||||
hledger 1.17 March 2020 hledger_timeclock(5)
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
|
||||
.TH "hledger_timedot" "5" "February 2020" "hledger 1.16.99" "hledger User Manuals"
|
||||
.TH "hledger_timedot" "5" "March 2020" "hledger 1.17" "hledger User Manuals"
|
||||
|
||||
|
||||
|
||||
@ -22,17 +22,21 @@ quantities other than time.
|
||||
In the docs below we\[aq]ll assume it\[aq]s time.
|
||||
.PP
|
||||
A timedot file contains a series of day entries.
|
||||
A day entry begins with a date, and is followed by category/quantity
|
||||
pairs, one per line.
|
||||
Dates are hledger-style simple dates (see hledger_journal(5)).
|
||||
Categories are hledger-style account names, optionally indented.
|
||||
As in a hledger journal, there must be at least two spaces between the
|
||||
category (account name) and the quantity.
|
||||
A day entry begins with a non-indented hledger-style simple date (Y-M-D,
|
||||
Y/M/D, Y.M.D..) Any additional text on the same line is used as a
|
||||
transaction description for this day.
|
||||
.PP
|
||||
This is followed by optionally-indented timelog items for that day, one
|
||||
per line.
|
||||
Each timelog item is a note, usually a hledger:style:account:name
|
||||
representing a time category, followed by two or more spaces, and a
|
||||
quantity.
|
||||
Each timelog item generates a hledger transaction.
|
||||
.PP
|
||||
Quantities can be written as:
|
||||
.IP \[bu] 2
|
||||
a sequence of dots (.) representing quarter hours.
|
||||
Spaces may optionally be used for grouping and readability.
|
||||
dots: a sequence of dots (.) representing quarter hours.
|
||||
Spaces may optionally be used for grouping.
|
||||
Eg: ....
|
||||
\&..
|
||||
.IP \[bu] 2
|
||||
@ -47,8 +51,25 @@ Eg: 90m.
|
||||
The following equivalencies are assumed, currently: 1m = 60s, 1h = 60m,
|
||||
1d = 24h, 1w = 7d, 1mo = 30d, 1y=365d.
|
||||
.PP
|
||||
Blank lines and lines beginning with #, ; or * are ignored.
|
||||
An example:
|
||||
There is some flexibility allowing notes and todo lists to be kept right
|
||||
in the time log, if needed:
|
||||
.IP \[bu] 2
|
||||
Blank lines and lines beginning with \f[C]#\f[R] or \f[C];\f[R] are
|
||||
ignored.
|
||||
.IP \[bu] 2
|
||||
Lines not ending with a double-space and quantity are parsed as items
|
||||
taking no time, which will not appear in balance reports by default.
|
||||
(Add -E to see them.)
|
||||
.IP \[bu] 2
|
||||
Org mode headlines (lines beginning with one or more \f[C]*\f[R]
|
||||
followed by a space) can be used as date lines or timelog items (the
|
||||
stars are ignored).
|
||||
Also all org headlines before the first date line are ignored.
|
||||
This means org users can manage their timelog as an org outline (eg
|
||||
using org-mode/orgstruct-mode in Emacs), for organisation, faster
|
||||
navigation, controlling visibility etc.
|
||||
.PP
|
||||
Examples:
|
||||
.IP
|
||||
.nf
|
||||
\f[C]
|
||||
@ -63,8 +84,6 @@ inc:client1 .... ....
|
||||
biz:research .
|
||||
\f[R]
|
||||
.fi
|
||||
.PP
|
||||
Or with numbers:
|
||||
.IP
|
||||
.nf
|
||||
\f[C]
|
||||
@ -74,6 +93,35 @@ fos:hledger 3
|
||||
biz:research 1
|
||||
\f[R]
|
||||
.fi
|
||||
.IP
|
||||
.nf
|
||||
\f[C]
|
||||
* Time log
|
||||
** 2020-01-01
|
||||
*** adm:time .
|
||||
*** adm:finance .
|
||||
\f[R]
|
||||
.fi
|
||||
.IP
|
||||
.nf
|
||||
\f[C]
|
||||
* 2020 Work Diary
|
||||
** Q1
|
||||
*** 2020-02-29
|
||||
**** DONE
|
||||
0700 yoga
|
||||
**** UNPLANNED
|
||||
**** BEGUN
|
||||
hom:chores
|
||||
cleaning ...
|
||||
water plants
|
||||
outdoor - one full watering can
|
||||
indoor - light watering
|
||||
**** TODO
|
||||
adm:planning: trip
|
||||
*** LATER
|
||||
\f[R]
|
||||
.fi
|
||||
.PP
|
||||
Reporting:
|
||||
.IP
|
||||
|
||||
@ -4,8 +4,8 @@ stdin.
|
||||
|
||||
File: hledger_timedot.info, Node: Top, Up: (dir)
|
||||
|
||||
hledger_timedot(5) hledger 1.16.99
|
||||
**********************************
|
||||
hledger_timedot(5) hledger 1.17
|
||||
*******************************
|
||||
|
||||
Timedot - hledger's human-friendly time logging format
|
||||
|
||||
@ -21,16 +21,20 @@ commodityless quantities, so it could be used to represent dated
|
||||
quantities other than time. In the docs below we'll assume it's time.
|
||||
|
||||
A timedot file contains a series of day entries. A day entry begins
|
||||
with a date, and is followed by category/quantity pairs, one per line.
|
||||
Dates are hledger-style simple dates (see hledger_journal(5)).
|
||||
Categories are hledger-style account names, optionally indented. As in
|
||||
a hledger journal, there must be at least two spaces between the
|
||||
category (account name) and the quantity.
|
||||
with a non-indented hledger-style simple date (Y-M-D, Y/M/D, Y.M.D..)
|
||||
Any additional text on the same line is used as a transaction
|
||||
description for this day.
|
||||
|
||||
This is followed by optionally-indented timelog items for that day,
|
||||
one per line. Each timelog item is a note, usually a
|
||||
hledger:style:account:name representing a time category, followed by two
|
||||
or more spaces, and a quantity. Each timelog item generates a hledger
|
||||
transaction.
|
||||
|
||||
Quantities can be written as:
|
||||
|
||||
* a sequence of dots (.) representing quarter hours. Spaces may
|
||||
optionally be used for grouping and readability. Eg: .... ..
|
||||
* dots: a sequence of dots (.) representing quarter hours. Spaces
|
||||
may optionally be used for grouping. Eg: .... ..
|
||||
|
||||
* an integral or decimal number, representing hours. Eg: 1.5
|
||||
|
||||
@ -40,8 +44,23 @@ category (account name) and the quantity.
|
||||
The following equivalencies are assumed, currently: 1m = 60s, 1h =
|
||||
60m, 1d = 24h, 1w = 7d, 1mo = 30d, 1y=365d.
|
||||
|
||||
Blank lines and lines beginning with #, ; or * are ignored. An
|
||||
example:
|
||||
There is some flexibility allowing notes and todo lists to be kept
|
||||
right in the time log, if needed:
|
||||
|
||||
* Blank lines and lines beginning with '#' or ';' are ignored.
|
||||
|
||||
* Lines not ending with a double-space and quantity are parsed as
|
||||
items taking no time, which will not appear in balance reports by
|
||||
default. (Add -E to see them.)
|
||||
|
||||
* Org mode headlines (lines beginning with one or more '*' followed
|
||||
by a space) can be used as date lines or timelog items (the stars
|
||||
are ignored). Also all org headlines before the first date line
|
||||
are ignored. This means org users can manage their timelog as an
|
||||
org outline (eg using org-mode/orgstruct-mode in Emacs), for
|
||||
organisation, faster navigation, controlling visibility etc.
|
||||
|
||||
Examples:
|
||||
|
||||
# on this day, 6h was spent on client work, 1.5h on haskell FOSS work, etc.
|
||||
2016/2/1
|
||||
@ -53,13 +72,32 @@ biz:research .
|
||||
inc:client1 .... ....
|
||||
biz:research .
|
||||
|
||||
Or with numbers:
|
||||
|
||||
2016/2/3
|
||||
inc:client1 4
|
||||
fos:hledger 3
|
||||
biz:research 1
|
||||
|
||||
* Time log
|
||||
** 2020-01-01
|
||||
*** adm:time .
|
||||
*** adm:finance .
|
||||
|
||||
* 2020 Work Diary
|
||||
** Q1
|
||||
*** 2020-02-29
|
||||
**** DONE
|
||||
0700 yoga
|
||||
**** UNPLANNED
|
||||
**** BEGUN
|
||||
hom:chores
|
||||
cleaning ...
|
||||
water plants
|
||||
outdoor - one full watering can
|
||||
indoor - light watering
|
||||
**** TODO
|
||||
adm:planning: trip
|
||||
*** LATER
|
||||
|
||||
Reporting:
|
||||
|
||||
$ hledger -f t.timedot print date:2016/2/2
|
||||
|
||||
@ -19,16 +19,20 @@ DESCRIPTION
|
||||
other than time. In the docs below we'll assume it's time.
|
||||
|
||||
A timedot file contains a series of day entries. A day entry begins
|
||||
with a date, and is followed by category/quantity pairs, one per line.
|
||||
Dates are hledger-style simple dates (see hledger_journal(5)). Cate-
|
||||
gories are hledger-style account names, optionally indented. As in a
|
||||
hledger journal, there must be at least two spaces between the category
|
||||
(account name) and the quantity.
|
||||
with a non-indented hledger-style simple date (Y-M-D, Y/M/D, Y.M.D..)
|
||||
Any additional text on the same line is used as a transaction descrip-
|
||||
tion for this day.
|
||||
|
||||
This is followed by optionally-indented timelog items for that day, one
|
||||
per line. Each timelog item is a note, usually a hledger:style:ac-
|
||||
count:name representing a time category, followed by two or more spa-
|
||||
ces, and a quantity. Each timelog item generates a hledger transac-
|
||||
tion.
|
||||
|
||||
Quantities can be written as:
|
||||
|
||||
o a sequence of dots (.) representing quarter hours. Spaces may op-
|
||||
tionally be used for grouping and readability. Eg: .... ..
|
||||
o dots: a sequence of dots (.) representing quarter hours. Spaces may
|
||||
optionally be used for grouping. Eg: .... ..
|
||||
|
||||
o an integral or decimal number, representing hours. Eg: 1.5
|
||||
|
||||
@ -38,8 +42,23 @@ DESCRIPTION
|
||||
lencies are assumed, currently: 1m = 60s, 1h = 60m, 1d = 24h, 1w =
|
||||
7d, 1mo = 30d, 1y=365d.
|
||||
|
||||
Blank lines and lines beginning with #, ; or * are ignored. An exam-
|
||||
ple:
|
||||
There is some flexibility allowing notes and todo lists to be kept
|
||||
right in the time log, if needed:
|
||||
|
||||
o Blank lines and lines beginning with # or ; are ignored.
|
||||
|
||||
o Lines not ending with a double-space and quantity are parsed as items
|
||||
taking no time, which will not appear in balance reports by default.
|
||||
(Add -E to see them.)
|
||||
|
||||
o Org mode headlines (lines beginning with one or more * followed by a
|
||||
space) can be used as date lines or timelog items (the stars are ig-
|
||||
nored). Also all org headlines before the first date line are ig-
|
||||
nored. This means org users can manage their timelog as an org out-
|
||||
line (eg using org-mode/orgstruct-mode in Emacs), for organisation,
|
||||
faster navigation, controlling visibility etc.
|
||||
|
||||
Examples:
|
||||
|
||||
# on this day, 6h was spent on client work, 1.5h on haskell FOSS work, etc.
|
||||
2016/2/1
|
||||
@ -51,13 +70,32 @@ DESCRIPTION
|
||||
inc:client1 .... ....
|
||||
biz:research .
|
||||
|
||||
Or with numbers:
|
||||
|
||||
2016/2/3
|
||||
inc:client1 4
|
||||
fos:hledger 3
|
||||
biz:research 1
|
||||
|
||||
* Time log
|
||||
** 2020-01-01
|
||||
*** adm:time .
|
||||
*** adm:finance .
|
||||
|
||||
* 2020 Work Diary
|
||||
** Q1
|
||||
*** 2020-02-29
|
||||
**** DONE
|
||||
0700 yoga
|
||||
**** UNPLANNED
|
||||
**** BEGUN
|
||||
hom:chores
|
||||
cleaning ...
|
||||
water plants
|
||||
outdoor - one full watering can
|
||||
indoor - light watering
|
||||
**** TODO
|
||||
adm:planning: trip
|
||||
*** LATER
|
||||
|
||||
Reporting:
|
||||
|
||||
$ hledger -f t.timedot print date:2016/2/2
|
||||
@ -123,4 +161,4 @@ SEE ALSO
|
||||
|
||||
|
||||
|
||||
hledger 1.16.99 February 2020 hledger_timedot(5)
|
||||
hledger 1.17 March 2020 hledger_timedot(5)
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
|
||||
.TH "hledger-ui" "1" "February 2020" "hledger-ui 1.16.99" "hledger User Manuals"
|
||||
.TH "hledger-ui" "1" "March 2020" "hledger-ui 1.17" "hledger User Manuals"
|
||||
|
||||
|
||||
|
||||
|
||||
@ -3,8 +3,8 @@ This is hledger-ui.info, produced by makeinfo version 6.7 from stdin.
|
||||
|
||||
File: hledger-ui.info, Node: Top, Next: OPTIONS, Up: (dir)
|
||||
|
||||
hledger-ui(1) hledger-ui 1.16.99
|
||||
********************************
|
||||
hledger-ui(1) hledger-ui 1.17
|
||||
*****************************
|
||||
|
||||
hledger-ui - terminal interface for the hledger accounting tool
|
||||
|
||||
@ -499,26 +499,26 @@ program is restarted.
|
||||
|
||||
Tag Table:
|
||||
Node: Top71
|
||||
Node: OPTIONS1476
|
||||
Ref: #options1573
|
||||
Node: KEYS5004
|
||||
Ref: #keys5099
|
||||
Node: SCREENS9375
|
||||
Ref: #screens9480
|
||||
Node: Accounts screen9570
|
||||
Ref: #accounts-screen9698
|
||||
Node: Register screen11914
|
||||
Ref: #register-screen12069
|
||||
Node: Transaction screen14066
|
||||
Ref: #transaction-screen14224
|
||||
Node: Error screen15094
|
||||
Ref: #error-screen15216
|
||||
Node: ENVIRONMENT15460
|
||||
Ref: #environment15574
|
||||
Node: FILES16381
|
||||
Ref: #files16480
|
||||
Node: BUGS16693
|
||||
Ref: #bugs16770
|
||||
Node: OPTIONS1470
|
||||
Ref: #options1567
|
||||
Node: KEYS4998
|
||||
Ref: #keys5093
|
||||
Node: SCREENS9369
|
||||
Ref: #screens9474
|
||||
Node: Accounts screen9564
|
||||
Ref: #accounts-screen9692
|
||||
Node: Register screen11908
|
||||
Ref: #register-screen12063
|
||||
Node: Transaction screen14060
|
||||
Ref: #transaction-screen14218
|
||||
Node: Error screen15088
|
||||
Ref: #error-screen15210
|
||||
Node: ENVIRONMENT15454
|
||||
Ref: #environment15568
|
||||
Node: FILES16375
|
||||
Ref: #files16474
|
||||
Node: BUGS16687
|
||||
Ref: #bugs16764
|
||||
|
||||
End Tag Table
|
||||
|
||||
|
||||
@ -441,4 +441,4 @@ SEE ALSO
|
||||
|
||||
|
||||
|
||||
hledger-ui 1.16.99 February 2020 hledger-ui(1)
|
||||
hledger-ui 1.17 March 2020 hledger-ui(1)
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
|
||||
.TH "hledger-web" "1" "February 2020" "hledger-web 1.16.99" "hledger User Manuals"
|
||||
.TH "hledger-web" "1" "March 2020" "hledger-web 1.17" "hledger User Manuals"
|
||||
|
||||
|
||||
|
||||
@ -343,8 +343,8 @@ what you get from \f[C]/transactions\f[R] or
|
||||
.PP
|
||||
Another way to generate test data is with the
|
||||
\f[C]readJsonFile\f[R]/\f[C]writeJsonFile\f[R] helpers in
|
||||
Hledger.Web.Json, which read or write any of hledger\[aq]s JSON-capable
|
||||
types from or to a file.
|
||||
Hledger.Web.Json, which can write or read most of hledger\[aq]s data
|
||||
types to or from a file.
|
||||
Eg here we write the first transaction of a sample journal:
|
||||
.IP
|
||||
.nf
|
||||
|
||||
@ -3,8 +3,8 @@ This is hledger-web.info, produced by makeinfo version 6.7 from stdin.
|
||||
|
||||
File: hledger-web.info, Node: Top, Next: OPTIONS, Up: (dir)
|
||||
|
||||
hledger-web(1) hledger-web 1.16.99
|
||||
**********************************
|
||||
hledger-web(1) hledger-web 1.17
|
||||
*******************************
|
||||
|
||||
hledger-web - web interface for the hledger accounting tool
|
||||
|
||||
@ -350,8 +350,8 @@ form, hledger-web must be started with the 'add' capability for this
|
||||
what you get from '/transactions' or '/accounttransactions'.
|
||||
|
||||
Another way to generate test data is with the
|
||||
'readJsonFile'/'writeJsonFile' helpers in Hledger.Web.Json, which read
|
||||
or write any of hledger's JSON-capable types from or to a file. Eg here
|
||||
'readJsonFile'/'writeJsonFile' helpers in Hledger.Web.Json, which can
|
||||
write or read most of hledger's data types to or from a file. Eg here
|
||||
we write the first transaction of a sample journal:
|
||||
|
||||
$ make ghci-web
|
||||
@ -427,22 +427,22 @@ awkward.
|
||||
|
||||
Tag Table:
|
||||
Node: Top72
|
||||
Node: OPTIONS1752
|
||||
Ref: #options1857
|
||||
Node: PERMISSIONS8201
|
||||
Ref: #permissions8340
|
||||
Node: EDITING UPLOADING DOWNLOADING9552
|
||||
Ref: #editing-uploading-downloading9733
|
||||
Node: RELOADING10567
|
||||
Ref: #reloading10701
|
||||
Node: JSON API11134
|
||||
Ref: #json-api11248
|
||||
Node: ENVIRONMENT12689
|
||||
Ref: #environment12805
|
||||
Node: FILES13538
|
||||
Ref: #files13638
|
||||
Node: BUGS13851
|
||||
Ref: #bugs13929
|
||||
Node: OPTIONS1746
|
||||
Ref: #options1851
|
||||
Node: PERMISSIONS8195
|
||||
Ref: #permissions8334
|
||||
Node: EDITING UPLOADING DOWNLOADING9546
|
||||
Ref: #editing-uploading-downloading9727
|
||||
Node: RELOADING10561
|
||||
Ref: #reloading10695
|
||||
Node: JSON API11128
|
||||
Ref: #json-api11242
|
||||
Node: ENVIRONMENT12680
|
||||
Ref: #environment12796
|
||||
Node: FILES13529
|
||||
Ref: #files13629
|
||||
Node: BUGS13842
|
||||
Ref: #bugs13920
|
||||
|
||||
End Tag Table
|
||||
|
||||
|
||||
@ -309,8 +309,8 @@ JSON API
|
||||
what you get from /transactions or /accounttransactions.
|
||||
|
||||
Another way to generate test data is with the readJsonFile/writeJson-
|
||||
File helpers in Hledger.Web.Json, which read or write any of hledger's
|
||||
JSON-capable types from or to a file. Eg here we write the first
|
||||
File helpers in Hledger.Web.Json, which can write or read most of
|
||||
hledger's data types to or from a file. Eg here we write the first
|
||||
transaction of a sample journal:
|
||||
|
||||
$ make ghci-web
|
||||
@ -392,4 +392,4 @@ SEE ALSO
|
||||
|
||||
|
||||
|
||||
hledger-web 1.16.99 February 2020 hledger-web(1)
|
||||
hledger-web 1.17 March 2020 hledger-web(1)
|
||||
|
||||
@ -499,5 +499,6 @@ Budget performance in 2019/01:
|
||||
|
||||
Output format
|
||||
|
||||
The balance command supports output destination and output format
|
||||
selection.
|
||||
This command also supports the output destination and output format
|
||||
options The output formats supported are txt, csv, (multicolumn
|
||||
non-budget reports only) html, and (experimental) json.
|
||||
|
||||
@ -39,5 +39,6 @@ for a balance sheet; note this means it ignores report begin dates (and
|
||||
-T/--row-total, since summing end balances generally does not make
|
||||
sense). Instead of absolute values percentages can be displayed with -%.
|
||||
|
||||
This command also supports output destination and output format
|
||||
selection.
|
||||
This command also supports the output destination and output format
|
||||
options The output formats supported are txt, csv, html, and
|
||||
(experimental) json.
|
||||
|
||||
@ -29,3 +29,7 @@ Equity:
|
||||
Total:
|
||||
--------------------
|
||||
0
|
||||
|
||||
This command also supports the output destination and output format
|
||||
options The output formats supported are txt, csv, html, and
|
||||
(experimental) json.
|
||||
|
||||
@ -30,5 +30,6 @@ though as with multicolumn balance reports you can alter the report mode
|
||||
with --change/--cumulative/--historical. Instead of absolute values
|
||||
percentages can be displayed with -%.
|
||||
|
||||
This command also supports output destination and output format
|
||||
selection.
|
||||
This command also supports the output destination and output format
|
||||
options The output formats supported are txt, csv, html, and
|
||||
(experimental) json.
|
||||
|
||||
@ -39,5 +39,6 @@ period, though as with multicolumn balance reports you can alter the
|
||||
report mode with --change/--cumulative/--historical. Instead of absolute
|
||||
values percentages can be displayed with -%.
|
||||
|
||||
This command also supports output destination and output format
|
||||
selection.
|
||||
This command also supports the output destination and output format
|
||||
options The output formats supported are txt, csv, html, and
|
||||
(experimental) json.
|
||||
|
||||
@ -70,8 +70,11 @@ This assumes that transactions added to FILE always have same or
|
||||
increasing dates, and that transactions on the same day do not get
|
||||
reordered. See also the import command.
|
||||
|
||||
This command also supports output destination and output format
|
||||
selection. Here's an example of print's CSV output:
|
||||
This command also supports the output destination and output format
|
||||
options The output formats supported are txt, csv, and (experimental)
|
||||
json.
|
||||
|
||||
Here's an example of print's CSV output:
|
||||
|
||||
$ hledger print -Ocsv
|
||||
"txnidx","date","date2","status","code","description","comment","account","amount","commodity","credit","debit","posting-status","posting-comment"
|
||||
|
||||
@ -103,5 +103,6 @@ $ export COLUMNS=100; hledger reg # set till session end (or window resize)
|
||||
$ hledger reg -w 100,40 # set overall width 100, description width 40
|
||||
$ hledger reg -w $COLUMNS,40 # use terminal width, & description width 40
|
||||
|
||||
This command also supports output destination and output format
|
||||
selection.
|
||||
This command also supports the output destination and output format
|
||||
options The output formats supported are txt, csv, and (experimental)
|
||||
json.
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
.\"t
|
||||
|
||||
.TH "hledger" "1" "February 2020" "hledger 1.16.99" "hledger User Manuals"
|
||||
.TH "hledger" "1" "March 2020" "hledger 1.17" "hledger User Manuals"
|
||||
|
||||
|
||||
|
||||
@ -1037,31 +1037,90 @@ If you need those, either use the include directive, or concatenate the
|
||||
files, eg: \f[C]cat a.journal b.journal | hledger -f- CMD\f[R].
|
||||
.SS Output destination
|
||||
.PP
|
||||
Some commands (print, register, stats, the balance commands) can write
|
||||
their output to a destination other than the console.
|
||||
This is controlled by the \f[C]-o/--output-file\f[R] option.
|
||||
hledger commands send their output to the terminal by default.
|
||||
You can of course redirect this, eg into a file, using standard shell
|
||||
syntax:
|
||||
.IP
|
||||
.nf
|
||||
\f[C]
|
||||
$ hledger balance -o - # write to stdout (the default)
|
||||
$ hledger balance -o FILE # write to FILE
|
||||
$ hledger print > foo.txt
|
||||
\f[R]
|
||||
.fi
|
||||
.PP
|
||||
Some commands (print, register, stats, the balance commands) also
|
||||
provide the \f[C]-o/--output-file\f[R] option, which does the same thing
|
||||
without needing the shell.
|
||||
Eg:
|
||||
.IP
|
||||
.nf
|
||||
\f[C]
|
||||
$ hledger print -o foo.txt
|
||||
$ hledger print -o - # write to stdout (the default)
|
||||
\f[R]
|
||||
.fi
|
||||
.SS Output format
|
||||
.PP
|
||||
Some commands can write their output in other formats.
|
||||
Eg print and register can output CSV, and the balance commands can
|
||||
output CSV or HTML.
|
||||
This is controlled by the \f[C]-O/--output-format\f[R] option, or by
|
||||
specifying a \f[C].csv\f[R] or \f[C].html\f[R] file extension with
|
||||
\f[C]-o/--output-file\f[R].
|
||||
Some commands (print, register, the balance commands) offer a choice of
|
||||
output format.
|
||||
In addition to the usual plain text format (\f[C]txt\f[R]), there are
|
||||
CSV (\f[C]csv\f[R]), HTML (\f[C]html\f[R]) and JSON (\f[C]json\f[R]).
|
||||
This is controlled by the \f[C]-O/--output-format\f[R] option:
|
||||
.IP
|
||||
.nf
|
||||
\f[C]
|
||||
$ hledger balance -O csv # write CSV to stdout
|
||||
$ hledger balance -o FILE.csv # write CSV to FILE.csv
|
||||
$ hledger print -O csv
|
||||
\f[R]
|
||||
.fi
|
||||
.PP
|
||||
or, by a file extension specified with \f[C]-o/--output-file\f[R]:
|
||||
.IP
|
||||
.nf
|
||||
\f[C]
|
||||
$ hledger balancesheet -o foo.html # write HTML to foo.html
|
||||
\f[R]
|
||||
.fi
|
||||
.PP
|
||||
The \f[C]-O\f[R] option can be used to override the file extension if
|
||||
needed:
|
||||
.IP
|
||||
.nf
|
||||
\f[C]
|
||||
$ hledger balancesheet -o foo.txt -O html # write HTML to foo.txt
|
||||
\f[R]
|
||||
.fi
|
||||
.PP
|
||||
Some notes about JSON output:
|
||||
.IP \[bu] 2
|
||||
This feature is marked experimental, and not yet much used; you should
|
||||
expect our JSON to evolve.
|
||||
Real-world feedback is welcome.
|
||||
.IP \[bu] 2
|
||||
Our JSON is rather large and verbose, as it is quite a faithful
|
||||
representation of hledger\[aq]s internal data types.
|
||||
To understand the JSON, read the Haskell type definitions, which are
|
||||
mostly in
|
||||
https://github.com/simonmichael/hledger/blob/master/hledger-lib/Hledger/Data/Types.hs.
|
||||
.IP \[bu] 2
|
||||
The JSON output from hledger commands is essentially the same as the
|
||||
JSON served by hledger-web\[aq]s JSON API, but pretty printed, using
|
||||
line breaks and indentation.
|
||||
Our pretty printer has the ability to elide data in certain cases -
|
||||
rendering non-strings as if they were strings, or displaying
|
||||
\[dq]FOO..\[dq] instead of FOO\[aq]s full details.
|
||||
This should never happen in hledger\[aq]s JSON output; if you see
|
||||
otherwise, please report as a bug.
|
||||
.IP \[bu] 2
|
||||
hledger represents quantities as Decimal values storing up to 255
|
||||
significant digits, eg for repeating decimals.
|
||||
Such numbers can arise in practice (from automatically-calculated
|
||||
transaction prices), and would break most JSON consumers.
|
||||
So in JSON, we show quantities as simple Numbers with at most 10 decimal
|
||||
places.
|
||||
We don\[aq]t limit the number of integer digits, but that part is under
|
||||
your control.
|
||||
We hope this approach will not cause problems in practice; if you find
|
||||
otherwise, please let us know.
|
||||
(Cf #1195)
|
||||
.SS Regular expressions
|
||||
.PP
|
||||
hledger uses regular expressions in a number of places:
|
||||
@ -2955,8 +3014,10 @@ Budget performance in 2019/01:
|
||||
.fi
|
||||
.SS Output format
|
||||
.PP
|
||||
The balance command supports output destination and output format
|
||||
selection.
|
||||
This command also supports the output destination and output format
|
||||
options The output formats supported are \f[C]txt\f[R], \f[C]csv\f[R],
|
||||
(multicolumn non-budget reports only) \f[C]html\f[R], and (experimental)
|
||||
\f[C]json\f[R].
|
||||
.SS balancesheet
|
||||
.PP
|
||||
balancesheet, bs
|
||||
@ -3010,8 +3071,9 @@ generally does not make sense).
|
||||
Instead of absolute values percentages can be displayed with
|
||||
\f[C]-%\f[R].
|
||||
.PP
|
||||
This command also supports output destination and output format
|
||||
selection.
|
||||
This command also supports the output destination and output format
|
||||
options The output formats supported are \f[C]txt\f[R], \f[C]csv\f[R],
|
||||
\f[C]html\f[R], and (experimental) \f[C]json\f[R].
|
||||
.SS balancesheetequity
|
||||
.PP
|
||||
balancesheetequity, bse
|
||||
@ -3050,6 +3112,10 @@ Total:
|
||||
0
|
||||
\f[R]
|
||||
.fi
|
||||
.PP
|
||||
This command also supports the output destination and output format
|
||||
options The output formats supported are \f[C]txt\f[R], \f[C]csv\f[R],
|
||||
\f[C]html\f[R], and (experimental) \f[C]json\f[R].
|
||||
.SS cashflow
|
||||
.PP
|
||||
cashflow, cf
|
||||
@ -3093,8 +3159,9 @@ multicolumn balance reports you can alter the report mode with
|
||||
Instead of absolute values percentages can be displayed with
|
||||
\f[C]-%\f[R].
|
||||
.PP
|
||||
This command also supports output destination and output format
|
||||
selection.
|
||||
This command also supports the output destination and output format
|
||||
options The output formats supported are \f[C]txt\f[R], \f[C]csv\f[R],
|
||||
\f[C]html\f[R], and (experimental) \f[C]json\f[R].
|
||||
.SS check-dates
|
||||
.PP
|
||||
check-dates
|
||||
@ -3461,8 +3528,9 @@ with multicolumn balance reports you can alter the report mode with
|
||||
Instead of absolute values percentages can be displayed with
|
||||
\f[C]-%\f[R].
|
||||
.PP
|
||||
This command also supports output destination and output format
|
||||
selection.
|
||||
This command also supports the output destination and output format
|
||||
options The output formats supported are \f[C]txt\f[R], \f[C]csv\f[R],
|
||||
\f[C]html\f[R], and (experimental) \f[C]json\f[R].
|
||||
.SS notes
|
||||
.PP
|
||||
notes Show notes.
|
||||
@ -3602,8 +3670,10 @@ increasing dates, and that transactions on the same day do not get
|
||||
reordered.
|
||||
See also the import command.
|
||||
.PP
|
||||
This command also supports output destination and output format
|
||||
selection.
|
||||
This command also supports the output destination and output format
|
||||
options The output formats supported are \f[C]txt\f[R], \f[C]csv\f[R],
|
||||
and (experimental) \f[C]json\f[R].
|
||||
.PP
|
||||
Here\[aq]s an example of print\[aq]s CSV output:
|
||||
.IP
|
||||
.nf
|
||||
@ -3812,8 +3882,9 @@ $ hledger reg -w $COLUMNS,40 # use terminal width, & description width 40
|
||||
\f[R]
|
||||
.fi
|
||||
.PP
|
||||
This command also supports output destination and output format
|
||||
selection.
|
||||
This command also supports the output destination and output format
|
||||
options The output formats supported are \f[C]txt\f[R], \f[C]csv\f[R],
|
||||
and (experimental) \f[C]json\f[R].
|
||||
.SS register-match
|
||||
.PP
|
||||
register-match
|
||||
|
||||
@ -3,8 +3,8 @@ This is hledger.info, produced by makeinfo version 6.7 from stdin.
|
||||
|
||||
File: hledger.info, Node: Top, Next: COMMON TASKS, Up: (dir)
|
||||
|
||||
hledger(1) hledger 1.16.99
|
||||
**************************
|
||||
hledger(1) hledger 1.17
|
||||
***********************
|
||||
|
||||
hledger - a command-line accounting tool
|
||||
|
||||
@ -978,12 +978,17 @@ File: hledger.info, Node: Output destination, Next: Output format, Prev: Inpu
|
||||
2.8 Output destination
|
||||
======================
|
||||
|
||||
Some commands (print, register, stats, the balance commands) can write
|
||||
their output to a destination other than the console. This is
|
||||
controlled by the '-o/--output-file' option.
|
||||
hledger commands send their output to the terminal by default. You can
|
||||
of course redirect this, eg into a file, using standard shell syntax:
|
||||
|
||||
$ hledger balance -o - # write to stdout (the default)
|
||||
$ hledger balance -o FILE # write to FILE
|
||||
$ hledger print > foo.txt
|
||||
|
||||
Some commands (print, register, stats, the balance commands) also
|
||||
provide the '-o/--output-file' option, which does the same thing without
|
||||
needing the shell. Eg:
|
||||
|
||||
$ hledger print -o foo.txt
|
||||
$ hledger print -o - # write to stdout (the default)
|
||||
|
||||
|
||||
File: hledger.info, Node: Output format, Next: Regular expressions, Prev: Output destination, Up: OPTIONS
|
||||
@ -991,13 +996,47 @@ File: hledger.info, Node: Output format, Next: Regular expressions, Prev: Out
|
||||
2.9 Output format
|
||||
=================
|
||||
|
||||
Some commands can write their output in other formats. Eg print and
|
||||
register can output CSV, and the balance commands can output CSV or
|
||||
HTML. This is controlled by the '-O/--output-format' option, or by
|
||||
specifying a '.csv' or '.html' file extension with '-o/--output-file'.
|
||||
Some commands (print, register, the balance commands) offer a choice of
|
||||
output format. In addition to the usual plain text format ('txt'),
|
||||
there are CSV ('csv'), HTML ('html') and JSON ('json'). This is
|
||||
controlled by the '-O/--output-format' option:
|
||||
|
||||
$ hledger balance -O csv # write CSV to stdout
|
||||
$ hledger balance -o FILE.csv # write CSV to FILE.csv
|
||||
$ hledger print -O csv
|
||||
|
||||
or, by a file extension specified with '-o/--output-file':
|
||||
|
||||
$ hledger balancesheet -o foo.html # write HTML to foo.html
|
||||
|
||||
The '-O' option can be used to override the file extension if needed:
|
||||
|
||||
$ hledger balancesheet -o foo.txt -O html # write HTML to foo.txt
|
||||
|
||||
Some notes about JSON output:
|
||||
|
||||
* This feature is marked experimental, and not yet much used; you
|
||||
should expect our JSON to evolve. Real-world feedback is welcome.
|
||||
|
||||
* Our JSON is rather large and verbose, as it is quite a faithful
|
||||
representation of hledger's internal data types. To understand the
|
||||
JSON, read the Haskell type definitions, which are mostly in
|
||||
https://github.com/simonmichael/hledger/blob/master/hledger-lib/Hledger/Data/Types.hs.
|
||||
|
||||
* The JSON output from hledger commands is essentially the same as
|
||||
the JSON served by hledger-web's JSON API, but pretty printed,
|
||||
using line breaks and indentation. Our pretty printer has the
|
||||
ability to elide data in certain cases - rendering non-strings as
|
||||
if they were strings, or displaying "FOO.." instead of FOO's full
|
||||
details. This should never happen in hledger's JSON output; if you
|
||||
see otherwise, please report as a bug.
|
||||
|
||||
* hledger represents quantities as Decimal values storing up to 255
|
||||
significant digits, eg for repeating decimals. Such numbers can
|
||||
arise in practice (from automatically-calculated transaction
|
||||
prices), and would break most JSON consumers. So in JSON, we show
|
||||
quantities as simple Numbers with at most 10 decimal places. We
|
||||
don't limit the number of integer digits, but that part is under
|
||||
your control. We hope this approach will not cause problems in
|
||||
practice; if you find otherwise, please let us know. (Cf #1195)
|
||||
|
||||
|
||||
File: hledger.info, Node: Regular expressions, Next: Smart dates, Prev: Output format, Up: OPTIONS
|
||||
@ -2437,8 +2476,9 @@ Budget performance in 2019/01:
|
||||
3.4.9 Output format
|
||||
-------------------
|
||||
|
||||
The balance command supports output destination and output format
|
||||
selection.
|
||||
This command also supports the output destination and output format
|
||||
options The output formats supported are 'txt', 'csv', (multicolumn
|
||||
non-budget reports only) 'html', and (experimental) 'json'.
|
||||
|
||||
|
||||
File: hledger.info, Node: balancesheet, Next: balancesheetequity, Prev: balance, Up: COMMANDS
|
||||
@ -2486,8 +2526,9 @@ for a balance sheet; note this means it ignores report begin dates (and
|
||||
sense). Instead of absolute values percentages can be displayed with
|
||||
'-%'.
|
||||
|
||||
This command also supports output destination and output format
|
||||
selection.
|
||||
This command also supports the output destination and output format
|
||||
options The output formats supported are 'txt', 'csv', 'html', and
|
||||
(experimental) 'json'.
|
||||
|
||||
|
||||
File: hledger.info, Node: balancesheetequity, Next: cashflow, Prev: balancesheet, Up: COMMANDS
|
||||
@ -2525,6 +2566,10 @@ Total:
|
||||
--------------------
|
||||
0
|
||||
|
||||
This command also supports the output destination and output format
|
||||
options The output formats supported are 'txt', 'csv', 'html', and
|
||||
(experimental) 'json'.
|
||||
|
||||
|
||||
File: hledger.info, Node: cashflow, Next: check-dates, Prev: balancesheetequity, Up: COMMANDS
|
||||
|
||||
@ -2561,8 +2606,9 @@ period, though as with multicolumn balance reports you can alter the
|
||||
report mode with '--change'/'--cumulative'/'--historical'. Instead of
|
||||
absolute values percentages can be displayed with '-%'.
|
||||
|
||||
This command also supports output destination and output format
|
||||
selection.
|
||||
This command also supports the output destination and output format
|
||||
options The output formats supported are 'txt', 'csv', 'html', and
|
||||
(experimental) 'json'.
|
||||
|
||||
|
||||
File: hledger.info, Node: check-dates, Next: check-dupes, Prev: cashflow, Up: COMMANDS
|
||||
@ -2904,8 +2950,9 @@ per period, though as with multicolumn balance reports you can alter the
|
||||
report mode with '--change'/'--cumulative'/'--historical'. Instead of
|
||||
absolute values percentages can be displayed with '-%'.
|
||||
|
||||
This command also supports output destination and output format
|
||||
selection.
|
||||
This command also supports the output destination and output format
|
||||
options The output formats supported are 'txt', 'csv', 'html', and
|
||||
(experimental) 'json'.
|
||||
|
||||
|
||||
File: hledger.info, Node: notes, Next: payees, Prev: incomestatement, Up: COMMANDS
|
||||
@ -3029,8 +3076,11 @@ $ hledger -f bank1.csv print --new
|
||||
increasing dates, and that transactions on the same day do not get
|
||||
reordered. See also the import command.
|
||||
|
||||
This command also supports output destination and output format
|
||||
selection. Here's an example of print's CSV output:
|
||||
This command also supports the output destination and output format
|
||||
options The output formats supported are 'txt', 'csv', and
|
||||
(experimental) 'json'.
|
||||
|
||||
Here's an example of print's CSV output:
|
||||
|
||||
$ hledger print -Ocsv
|
||||
"txnidx","date","date2","status","code","description","comment","account","amount","commodity","credit","debit","posting-status","posting-comment"
|
||||
@ -3198,8 +3248,9 @@ $ export COLUMNS=100; hledger reg # set till session end (or window resize)
|
||||
$ hledger reg -w 100,40 # set overall width 100, description width 40
|
||||
$ hledger reg -w $COLUMNS,40 # use terminal width, & description width 40
|
||||
|
||||
This command also supports output destination and output format
|
||||
selection.
|
||||
This command also supports the output destination and output format
|
||||
options The output formats supported are 'txt', 'csv', and
|
||||
(experimental) 'json'.
|
||||
|
||||
|
||||
File: hledger.info, Node: register-match, Next: rewrite, Prev: register, Up: COMMANDS
|
||||
@ -3683,187 +3734,187 @@ $ LANG=fr_FR.utf8 hledger -f my.journal print
|
||||
|
||||
Tag Table:
|
||||
Node: Top68
|
||||
Node: COMMON TASKS2321
|
||||
Ref: #common-tasks2433
|
||||
Node: Getting help2840
|
||||
Ref: #getting-help2972
|
||||
Node: Constructing command lines3525
|
||||
Ref: #constructing-command-lines3717
|
||||
Node: Starting a journal file4414
|
||||
Ref: #starting-a-journal-file4612
|
||||
Node: Setting opening balances5800
|
||||
Ref: #setting-opening-balances5996
|
||||
Node: Recording transactions9137
|
||||
Ref: #recording-transactions9317
|
||||
Node: Reconciling9873
|
||||
Ref: #reconciling10016
|
||||
Node: Reporting12273
|
||||
Ref: #reporting12413
|
||||
Node: Migrating to a new file16412
|
||||
Ref: #migrating-to-a-new-file16560
|
||||
Node: OPTIONS16859
|
||||
Ref: #options16966
|
||||
Node: General options17336
|
||||
Ref: #general-options17461
|
||||
Node: Command options20231
|
||||
Ref: #command-options20382
|
||||
Node: Command arguments20780
|
||||
Ref: #command-arguments20927
|
||||
Node: Queries21807
|
||||
Ref: #queries21962
|
||||
Node: Special characters in arguments and queries25924
|
||||
Ref: #special-characters-in-arguments-and-queries26152
|
||||
Node: More escaping26603
|
||||
Ref: #more-escaping26765
|
||||
Node: Even more escaping27061
|
||||
Ref: #even-more-escaping27255
|
||||
Node: Less escaping27926
|
||||
Ref: #less-escaping28088
|
||||
Node: Unicode characters28333
|
||||
Ref: #unicode-characters28515
|
||||
Node: Input files29927
|
||||
Ref: #input-files30070
|
||||
Node: Output destination31999
|
||||
Ref: #output-destination32151
|
||||
Node: Output format32434
|
||||
Ref: #output-format32584
|
||||
Node: Regular expressions32969
|
||||
Ref: #regular-expressions33126
|
||||
Node: Smart dates34487
|
||||
Ref: #smart-dates34638
|
||||
Node: Report start & end date35999
|
||||
Ref: #report-start-end-date36171
|
||||
Node: Report intervals37609
|
||||
Ref: #report-intervals37774
|
||||
Node: Period expressions38164
|
||||
Ref: #period-expressions38324
|
||||
Node: Depth limiting42450
|
||||
Ref: #depth-limiting42594
|
||||
Node: Pivoting42936
|
||||
Ref: #pivoting43059
|
||||
Node: Valuation44735
|
||||
Ref: #valuation44837
|
||||
Node: -B Cost45017
|
||||
Ref: #b-cost45128
|
||||
Node: -V Market value45326
|
||||
Ref: #v-market-value45500
|
||||
Node: -X Market value in specified commodity46932
|
||||
Ref: #x-market-value-in-specified-commodity47171
|
||||
Node: --value Flexible valuation47347
|
||||
Ref: #value-flexible-valuation47573
|
||||
Node: Effect of --value on reports52078
|
||||
Ref: #effect-of---value-on-reports52294
|
||||
Node: Combining -B -V -X --value57840
|
||||
Ref: #combining--b--v--x---value58023
|
||||
Node: COMMANDS58059
|
||||
Ref: #commands58167
|
||||
Node: accounts59251
|
||||
Ref: #accounts59349
|
||||
Node: activity60048
|
||||
Ref: #activity60158
|
||||
Node: add60541
|
||||
Ref: #add60640
|
||||
Node: balance63379
|
||||
Ref: #balance63490
|
||||
Node: Classic balance report64948
|
||||
Ref: #classic-balance-report65121
|
||||
Node: Customising the classic balance report66490
|
||||
Ref: #customising-the-classic-balance-report66718
|
||||
Node: Colour support68794
|
||||
Ref: #colour-support68961
|
||||
Node: Flat mode69134
|
||||
Ref: #flat-mode69282
|
||||
Node: Depth limited balance reports69695
|
||||
Ref: #depth-limited-balance-reports69880
|
||||
Node: Percentages70336
|
||||
Ref: #percentages70502
|
||||
Node: Multicolumn balance report71639
|
||||
Ref: #multicolumn-balance-report71819
|
||||
Node: Budget report77081
|
||||
Ref: #budget-report77224
|
||||
Node: Nested budgets82426
|
||||
Ref: #nested-budgets82538
|
||||
Ref: #output-format-186019
|
||||
Node: balancesheet86097
|
||||
Ref: #balancesheet86233
|
||||
Node: balancesheetequity87616
|
||||
Ref: #balancesheetequity87765
|
||||
Node: cashflow88326
|
||||
Ref: #cashflow88454
|
||||
Node: check-dates89550
|
||||
Ref: #check-dates89677
|
||||
Node: check-dupes89956
|
||||
Ref: #check-dupes90080
|
||||
Node: close90373
|
||||
Ref: #close90487
|
||||
Node: close usage92009
|
||||
Ref: #close-usage92102
|
||||
Node: commodities94915
|
||||
Ref: #commodities95042
|
||||
Node: descriptions95124
|
||||
Ref: #descriptions95252
|
||||
Node: diff95433
|
||||
Ref: #diff95539
|
||||
Node: files96586
|
||||
Ref: #files96686
|
||||
Node: help96833
|
||||
Ref: #help96933
|
||||
Node: import98014
|
||||
Ref: #import98128
|
||||
Node: Importing balance assignments99021
|
||||
Ref: #importing-balance-assignments99169
|
||||
Node: incomestatement99818
|
||||
Ref: #incomestatement99951
|
||||
Node: notes101355
|
||||
Ref: #notes101468
|
||||
Node: payees101594
|
||||
Ref: #payees101700
|
||||
Node: prices101858
|
||||
Ref: #prices101964
|
||||
Node: print102305
|
||||
Ref: #print102415
|
||||
Node: print-unique107123
|
||||
Ref: #print-unique107249
|
||||
Node: register107534
|
||||
Ref: #register107661
|
||||
Node: Custom register output111833
|
||||
Ref: #custom-register-output111962
|
||||
Node: register-match113224
|
||||
Ref: #register-match113358
|
||||
Node: rewrite113709
|
||||
Ref: #rewrite113824
|
||||
Node: Re-write rules in a file115679
|
||||
Ref: #re-write-rules-in-a-file115813
|
||||
Node: Diff output format117023
|
||||
Ref: #diff-output-format117192
|
||||
Node: rewrite vs print --auto118284
|
||||
Ref: #rewrite-vs.-print---auto118463
|
||||
Node: roi119019
|
||||
Ref: #roi119117
|
||||
Node: stats120129
|
||||
Ref: #stats120228
|
||||
Node: tags121016
|
||||
Ref: #tags121114
|
||||
Node: test121408
|
||||
Ref: #test121516
|
||||
Node: Add-on Commands122263
|
||||
Ref: #add-on-commands122380
|
||||
Node: ui123723
|
||||
Ref: #ui123811
|
||||
Node: web123865
|
||||
Ref: #web123968
|
||||
Node: iadd124084
|
||||
Ref: #iadd124195
|
||||
Node: interest124277
|
||||
Ref: #interest124384
|
||||
Node: ENVIRONMENT124624
|
||||
Ref: #environment124736
|
||||
Node: FILES125565
|
||||
Ref: #files-1125668
|
||||
Node: LIMITATIONS125881
|
||||
Ref: #limitations126000
|
||||
Node: TROUBLESHOOTING126742
|
||||
Ref: #troubleshooting126855
|
||||
Node: COMMON TASKS2315
|
||||
Ref: #common-tasks2427
|
||||
Node: Getting help2834
|
||||
Ref: #getting-help2966
|
||||
Node: Constructing command lines3519
|
||||
Ref: #constructing-command-lines3711
|
||||
Node: Starting a journal file4408
|
||||
Ref: #starting-a-journal-file4606
|
||||
Node: Setting opening balances5794
|
||||
Ref: #setting-opening-balances5990
|
||||
Node: Recording transactions9131
|
||||
Ref: #recording-transactions9311
|
||||
Node: Reconciling9867
|
||||
Ref: #reconciling10010
|
||||
Node: Reporting12267
|
||||
Ref: #reporting12407
|
||||
Node: Migrating to a new file16406
|
||||
Ref: #migrating-to-a-new-file16554
|
||||
Node: OPTIONS16853
|
||||
Ref: #options16960
|
||||
Node: General options17330
|
||||
Ref: #general-options17455
|
||||
Node: Command options20225
|
||||
Ref: #command-options20376
|
||||
Node: Command arguments20774
|
||||
Ref: #command-arguments20921
|
||||
Node: Queries21801
|
||||
Ref: #queries21956
|
||||
Node: Special characters in arguments and queries25918
|
||||
Ref: #special-characters-in-arguments-and-queries26146
|
||||
Node: More escaping26597
|
||||
Ref: #more-escaping26759
|
||||
Node: Even more escaping27055
|
||||
Ref: #even-more-escaping27249
|
||||
Node: Less escaping27920
|
||||
Ref: #less-escaping28082
|
||||
Node: Unicode characters28327
|
||||
Ref: #unicode-characters28509
|
||||
Node: Input files29921
|
||||
Ref: #input-files30064
|
||||
Node: Output destination31993
|
||||
Ref: #output-destination32145
|
||||
Node: Output format32570
|
||||
Ref: #output-format32720
|
||||
Node: Regular expressions34768
|
||||
Ref: #regular-expressions34925
|
||||
Node: Smart dates36286
|
||||
Ref: #smart-dates36437
|
||||
Node: Report start & end date37798
|
||||
Ref: #report-start-end-date37970
|
||||
Node: Report intervals39408
|
||||
Ref: #report-intervals39573
|
||||
Node: Period expressions39963
|
||||
Ref: #period-expressions40123
|
||||
Node: Depth limiting44249
|
||||
Ref: #depth-limiting44393
|
||||
Node: Pivoting44735
|
||||
Ref: #pivoting44858
|
||||
Node: Valuation46534
|
||||
Ref: #valuation46636
|
||||
Node: -B Cost46816
|
||||
Ref: #b-cost46927
|
||||
Node: -V Market value47125
|
||||
Ref: #v-market-value47299
|
||||
Node: -X Market value in specified commodity48731
|
||||
Ref: #x-market-value-in-specified-commodity48970
|
||||
Node: --value Flexible valuation49146
|
||||
Ref: #value-flexible-valuation49372
|
||||
Node: Effect of --value on reports53877
|
||||
Ref: #effect-of---value-on-reports54093
|
||||
Node: Combining -B -V -X --value59639
|
||||
Ref: #combining--b--v--x---value59822
|
||||
Node: COMMANDS59858
|
||||
Ref: #commands59966
|
||||
Node: accounts61050
|
||||
Ref: #accounts61148
|
||||
Node: activity61847
|
||||
Ref: #activity61957
|
||||
Node: add62340
|
||||
Ref: #add62439
|
||||
Node: balance65178
|
||||
Ref: #balance65289
|
||||
Node: Classic balance report66747
|
||||
Ref: #classic-balance-report66920
|
||||
Node: Customising the classic balance report68289
|
||||
Ref: #customising-the-classic-balance-report68517
|
||||
Node: Colour support70593
|
||||
Ref: #colour-support70760
|
||||
Node: Flat mode70933
|
||||
Ref: #flat-mode71081
|
||||
Node: Depth limited balance reports71494
|
||||
Ref: #depth-limited-balance-reports71679
|
||||
Node: Percentages72135
|
||||
Ref: #percentages72301
|
||||
Node: Multicolumn balance report73438
|
||||
Ref: #multicolumn-balance-report73618
|
||||
Node: Budget report78880
|
||||
Ref: #budget-report79023
|
||||
Node: Nested budgets84225
|
||||
Ref: #nested-budgets84337
|
||||
Ref: #output-format-187818
|
||||
Node: balancesheet88015
|
||||
Ref: #balancesheet88151
|
||||
Node: balancesheetequity89617
|
||||
Ref: #balancesheetequity89766
|
||||
Node: cashflow90489
|
||||
Ref: #cashflow90617
|
||||
Node: check-dates91796
|
||||
Ref: #check-dates91923
|
||||
Node: check-dupes92202
|
||||
Ref: #check-dupes92326
|
||||
Node: close92619
|
||||
Ref: #close92733
|
||||
Node: close usage94255
|
||||
Ref: #close-usage94348
|
||||
Node: commodities97161
|
||||
Ref: #commodities97288
|
||||
Node: descriptions97370
|
||||
Ref: #descriptions97498
|
||||
Node: diff97679
|
||||
Ref: #diff97785
|
||||
Node: files98832
|
||||
Ref: #files98932
|
||||
Node: help99079
|
||||
Ref: #help99179
|
||||
Node: import100260
|
||||
Ref: #import100374
|
||||
Node: Importing balance assignments101267
|
||||
Ref: #importing-balance-assignments101415
|
||||
Node: incomestatement102064
|
||||
Ref: #incomestatement102197
|
||||
Node: notes103684
|
||||
Ref: #notes103797
|
||||
Node: payees103923
|
||||
Ref: #payees104029
|
||||
Node: prices104187
|
||||
Ref: #prices104293
|
||||
Node: print104634
|
||||
Ref: #print104744
|
||||
Node: print-unique109530
|
||||
Ref: #print-unique109656
|
||||
Node: register109941
|
||||
Ref: #register110068
|
||||
Node: Custom register output114240
|
||||
Ref: #custom-register-output114369
|
||||
Node: register-match115706
|
||||
Ref: #register-match115840
|
||||
Node: rewrite116191
|
||||
Ref: #rewrite116306
|
||||
Node: Re-write rules in a file118161
|
||||
Ref: #re-write-rules-in-a-file118295
|
||||
Node: Diff output format119505
|
||||
Ref: #diff-output-format119674
|
||||
Node: rewrite vs print --auto120766
|
||||
Ref: #rewrite-vs.-print---auto120945
|
||||
Node: roi121501
|
||||
Ref: #roi121599
|
||||
Node: stats122611
|
||||
Ref: #stats122710
|
||||
Node: tags123498
|
||||
Ref: #tags123596
|
||||
Node: test123890
|
||||
Ref: #test123998
|
||||
Node: Add-on Commands124745
|
||||
Ref: #add-on-commands124862
|
||||
Node: ui126205
|
||||
Ref: #ui126293
|
||||
Node: web126347
|
||||
Ref: #web126450
|
||||
Node: iadd126566
|
||||
Ref: #iadd126677
|
||||
Node: interest126759
|
||||
Ref: #interest126866
|
||||
Node: ENVIRONMENT127106
|
||||
Ref: #environment127218
|
||||
Node: FILES128047
|
||||
Ref: #files-1128150
|
||||
Node: LIMITATIONS128363
|
||||
Ref: #limitations128482
|
||||
Node: TROUBLESHOOTING129224
|
||||
Ref: #troubleshooting129337
|
||||
|
||||
End Tag Table
|
||||
|
||||
|
||||
@ -829,21 +829,61 @@ OPTIONS
|
||||
files, eg: cat a.journal b.journal | hledger -f- CMD.
|
||||
|
||||
Output destination
|
||||
Some commands (print, register, stats, the balance commands) can write
|
||||
their output to a destination other than the console. This is con-
|
||||
trolled by the -o/--output-file option.
|
||||
hledger commands send their output to the terminal by default. You can
|
||||
of course redirect this, eg into a file, using standard shell syntax:
|
||||
|
||||
$ hledger balance -o - # write to stdout (the default)
|
||||
$ hledger balance -o FILE # write to FILE
|
||||
$ hledger print > foo.txt
|
||||
|
||||
Some commands (print, register, stats, the balance commands) also pro-
|
||||
vide the -o/--output-file option, which does the same thing without
|
||||
needing the shell. Eg:
|
||||
|
||||
$ hledger print -o foo.txt
|
||||
$ hledger print -o - # write to stdout (the default)
|
||||
|
||||
Output format
|
||||
Some commands can write their output in other formats. Eg print and
|
||||
register can output CSV, and the balance commands can output CSV or
|
||||
HTML. This is controlled by the -O/--output-format option, or by spec-
|
||||
ifying a .csv or .html file extension with -o/--output-file.
|
||||
Some commands (print, register, the balance commands) offer a choice of
|
||||
output format. In addition to the usual plain text format (txt), there
|
||||
are CSV (csv), HTML (html) and JSON (json). This is controlled by the
|
||||
-O/--output-format option:
|
||||
|
||||
$ hledger balance -O csv # write CSV to stdout
|
||||
$ hledger balance -o FILE.csv # write CSV to FILE.csv
|
||||
$ hledger print -O csv
|
||||
|
||||
or, by a file extension specified with -o/--output-file:
|
||||
|
||||
$ hledger balancesheet -o foo.html # write HTML to foo.html
|
||||
|
||||
The -O option can be used to override the file extension if needed:
|
||||
|
||||
$ hledger balancesheet -o foo.txt -O html # write HTML to foo.txt
|
||||
|
||||
Some notes about JSON output:
|
||||
|
||||
o This feature is marked experimental, and not yet much used; you
|
||||
should expect our JSON to evolve. Real-world feedback is welcome.
|
||||
|
||||
o Our JSON is rather large and verbose, as it is quite a faithful rep-
|
||||
resentation of hledger's internal data types. To understand the
|
||||
JSON, read the Haskell type definitions, which are mostly in
|
||||
https://github.com/simonmichael/hledger/blob/master/hledger-
|
||||
lib/Hledger/Data/Types.hs.
|
||||
|
||||
o The JSON output from hledger commands is essentially the same as the
|
||||
JSON served by hledger-web's JSON API, but pretty printed, using line
|
||||
breaks and indentation. Our pretty printer has the ability to elide
|
||||
data in certain cases - rendering non-strings as if they were
|
||||
strings, or displaying "FOO.." instead of FOO's full details. This
|
||||
should never happen in hledger's JSON output; if you see otherwise,
|
||||
please report as a bug.
|
||||
|
||||
o hledger represents quantities as Decimal values storing up to 255
|
||||
significant digits, eg for repeating decimals. Such numbers can
|
||||
arise in practice (from automatically-calculated transaction prices),
|
||||
and would break most JSON consumers. So in JSON, we show quantities
|
||||
as simple Numbers with at most 10 decimal places. We don't limit the
|
||||
number of integer digits, but that part is under your control. We
|
||||
hope this approach will not cause problems in practice; if you find
|
||||
otherwise, please let us know. (Cf #1195)
|
||||
|
||||
Regular expressions
|
||||
hledger uses regular expressions in a number of places:
|
||||
@ -1007,7 +1047,6 @@ OPTIONS
|
||||
-p "2009/1" the month of jan; equiva-
|
||||
lent to "2009/1/1 to
|
||||
2009/2/1"
|
||||
|
||||
-p "2009/1/1" just that day; equivalent
|
||||
to "2009/1/1 to 2009/1/2"
|
||||
|
||||
@ -1030,6 +1069,8 @@ OPTIONS
|
||||
|
||||
-p "weekly from 2009/1/1 starts on 2008/12/29, closest preceding Mon-
|
||||
to 2009/4/1" day
|
||||
|
||||
|
||||
-p "monthly in starts on 2018/11/01
|
||||
2008/11/25"
|
||||
-p "quarterly from starts on 2009/04/01, ends on 2009/06/30,
|
||||
@ -1373,6 +1414,7 @@ OPTIONS
|
||||
Report type -B, -V, -X --value=then --value=end --value=DATE,
|
||||
--value=cost --value=now
|
||||
------------------------------------------------------------------------------------------
|
||||
|
||||
print
|
||||
posting cost value at re- value at value at re- value at
|
||||
amounts port end or posting date port or DATE/today
|
||||
@ -2098,8 +2140,9 @@ COMMANDS
|
||||
|| 0 [ 0]
|
||||
|
||||
Output format
|
||||
The balance command supports output destination and output format se-
|
||||
lection.
|
||||
This command also supports the output destination and output format op-
|
||||
tions The output formats supported are txt, csv, (multicolumn non-bud-
|
||||
get reports only) html, and (experimental) json.
|
||||
|
||||
balancesheet
|
||||
balancesheet, bs
|
||||
@ -2142,8 +2185,9 @@ COMMANDS
|
||||
sense). Instead of absolute values percentages can be displayed with
|
||||
-%.
|
||||
|
||||
This command also supports output destination and output format selec-
|
||||
tion.
|
||||
This command also supports the output destination and output format op-
|
||||
tions The output formats supported are txt, csv, html, and (experimen-
|
||||
tal) json.
|
||||
|
||||
balancesheetequity
|
||||
balancesheetequity, bse
|
||||
@ -2176,6 +2220,10 @@ COMMANDS
|
||||
--------------------
|
||||
0
|
||||
|
||||
This command also supports the output destination and output format op-
|
||||
tions The output formats supported are txt, csv, html, and (experimen-
|
||||
tal) json.
|
||||
|
||||
cashflow
|
||||
cashflow, cf
|
||||
This command displays a simple cashflow statement, showing changes in
|
||||
@ -2207,8 +2255,9 @@ COMMANDS
|
||||
mode with --change/--cumulative/--historical. Instead of absolute val-
|
||||
ues percentages can be displayed with -%.
|
||||
|
||||
This command also supports output destination and output format selec-
|
||||
tion.
|
||||
This command also supports the output destination and output format op-
|
||||
tions The output formats supported are txt, csv, html, and (experimen-
|
||||
tal) json.
|
||||
|
||||
check-dates
|
||||
check-dates
|
||||
@ -2480,8 +2529,9 @@ COMMANDS
|
||||
report mode with --change/--cumulative/--historical. Instead of abso-
|
||||
lute values percentages can be displayed with -%.
|
||||
|
||||
This command also supports output destination and output format selec-
|
||||
tion.
|
||||
This command also supports the output destination and output format op-
|
||||
tions The output formats supported are txt, csv, html, and (experimen-
|
||||
tal) json.
|
||||
|
||||
notes
|
||||
notes Show notes.
|
||||
@ -2585,8 +2635,11 @@ COMMANDS
|
||||
creasing dates, and that transactions on the same day do not get re-
|
||||
ordered. See also the import command.
|
||||
|
||||
This command also supports output destination and output format selec-
|
||||
tion. Here's an example of print's CSV output:
|
||||
This command also supports the output destination and output format op-
|
||||
tions The output formats supported are txt, csv, and (experimental)
|
||||
json.
|
||||
|
||||
Here's an example of print's CSV output:
|
||||
|
||||
$ hledger print -Ocsv
|
||||
"txnidx","date","date2","status","code","description","comment","account","amount","commodity","credit","debit","posting-status","posting-comment"
|
||||
@ -2737,8 +2790,9 @@ COMMANDS
|
||||
$ hledger reg -w 100,40 # set overall width 100, description width 40
|
||||
$ hledger reg -w $COLUMNS,40 # use terminal width, & description width 40
|
||||
|
||||
This command also supports output destination and output format selec-
|
||||
tion.
|
||||
This command also supports the output destination and output format op-
|
||||
tions The output formats supported are txt, csv, and (experimental)
|
||||
json.
|
||||
|
||||
register-match
|
||||
register-match
|
||||
@ -3133,4 +3187,4 @@ SEE ALSO
|
||||
|
||||
|
||||
|
||||
hledger 1.16.99 February 2020 hledger(1)
|
||||
hledger 1.17 March 2020 hledger(1)
|
||||
|
||||
Loading…
Reference in New Issue
Block a user