imp: journal: support decimal-mark directive in journal files
To match csv-rule and override amount-style as described in https://github.com/simonmichael/hledger/issues/1670
This commit is contained in:
parent
66b969a74c
commit
fb817ffa55
@ -246,6 +246,7 @@ directivep = (do
|
|||||||
,defaultcommoditydirectivep
|
,defaultcommoditydirectivep
|
||||||
,commodityconversiondirectivep
|
,commodityconversiondirectivep
|
||||||
,ignoredpricecommoditydirectivep
|
,ignoredpricecommoditydirectivep
|
||||||
|
,decimalmarkdirectivep
|
||||||
]
|
]
|
||||||
) <?> "directive"
|
) <?> "directive"
|
||||||
|
|
||||||
@ -317,6 +318,7 @@ includedirectivep = do
|
|||||||
jparsedefaultyear = jparsedefaultyear j
|
jparsedefaultyear = jparsedefaultyear j
|
||||||
,jparsedefaultcommodity = jparsedefaultcommodity j
|
,jparsedefaultcommodity = jparsedefaultcommodity j
|
||||||
,jparseparentaccounts = jparseparentaccounts j
|
,jparseparentaccounts = jparseparentaccounts j
|
||||||
|
,jparsedecimalmark = jparsedecimalmark j
|
||||||
,jparsealiases = jparsealiases j
|
,jparsealiases = jparsealiases j
|
||||||
,jcommodities = jcommodities j
|
,jcommodities = jcommodities j
|
||||||
-- ,jparsetransactioncount = jparsetransactioncount j
|
-- ,jparsetransactioncount = jparsetransactioncount j
|
||||||
@ -599,6 +601,18 @@ commodityconversiondirectivep = do
|
|||||||
lift restofline
|
lift restofline
|
||||||
return ()
|
return ()
|
||||||
|
|
||||||
|
-- | Read a valid decimal mark from the decimal-mark directive e.g
|
||||||
|
--
|
||||||
|
-- decimal-mark ,
|
||||||
|
decimalmarkdirectivep :: JournalParser m ()
|
||||||
|
decimalmarkdirectivep = do
|
||||||
|
string "decimal-mark" <?> "decimal mark"
|
||||||
|
lift skipNonNewlineSpaces1
|
||||||
|
mark <- satisfy isDecimalMark
|
||||||
|
modify' $ \j -> j{jparsedecimalmark=Just mark}
|
||||||
|
lift restofline
|
||||||
|
return ()
|
||||||
|
|
||||||
--- *** transactions
|
--- *** transactions
|
||||||
|
|
||||||
-- | Parse a transaction modifier (auto postings) rule.
|
-- | Parse a transaction modifier (auto postings) rule.
|
||||||
|
|||||||
4
hledger/test/journal/commas.journal
Normal file
4
hledger/test/journal/commas.journal
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
decimal-mark ,
|
||||||
|
2021-05-01 YANDEX.PLUS
|
||||||
|
Assets:Yandex -199,00 RUB
|
||||||
|
Expenses:Unknown:RUB
|
||||||
22
hledger/test/journal/directive-decimal-mark.test
Normal file
22
hledger/test/journal/directive-decimal-mark.test
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
# 1. Commas specified as decimal mark
|
||||||
|
$ hledger -f commas.journal bal
|
||||||
|
-199,00 RUB Assets:Yandex
|
||||||
|
199,00 RUB Expenses:Unknown:RUB
|
||||||
|
--------------------
|
||||||
|
0
|
||||||
|
>=0
|
||||||
|
|
||||||
|
# 2. Include file with different decimal mark
|
||||||
|
<
|
||||||
|
commodity 1000.00 RUB
|
||||||
|
include commas.journal
|
||||||
|
2021-05-19 MTS Phone
|
||||||
|
Assets:Yandex -100.5 RUB
|
||||||
|
Expenses:Phone 100.5 RUB
|
||||||
|
$ hledger -f - bal
|
||||||
|
-299.50 RUB Assets:Yandex
|
||||||
|
100.50 RUB Expenses:Phone
|
||||||
|
199.00 RUB Expenses:Unknown:RUB
|
||||||
|
--------------------
|
||||||
|
0
|
||||||
|
>=0
|
||||||
Loading…
Reference in New Issue
Block a user