From 95d7679f6ddd9785a568d3c85f5f1d172587bcfc Mon Sep 17 00:00:00 2001 From: Simon Michael Date: Wed, 21 Dec 2022 22:27:08 -1000 Subject: [PATCH] imp: journal: accept `year` as a synonym for `Y` (ledger compat) --- hledger-lib/Hledger/Read/JournalReader.hs | 2 +- hledger/hledger.m4.md | 4 ++-- hledger/test/journal/directives.test | 11 +++++++++++ .../syntax/hledger-ledger-unsupported.test | 11 ++++------- .../test/ledger-compat/syntax/hledger-other.test | 13 +++++++++++++ 5 files changed, 31 insertions(+), 10 deletions(-) diff --git a/hledger-lib/Hledger/Read/JournalReader.hs b/hledger-lib/Hledger/Read/JournalReader.hs index 2176f3e7d..aa9740f24 100644 --- a/hledger-lib/Hledger/Read/JournalReader.hs +++ b/hledger-lib/Hledger/Read/JournalReader.hs @@ -575,7 +575,7 @@ payeedirectivep = do defaultyeardirectivep :: JournalParser m () defaultyeardirectivep = do - char 'Y' "default year" + (string "Y" <|> string "year") "default year" lift skipNonNewlineSpaces setYear =<< lift yearp diff --git a/hledger/hledger.m4.md b/hledger/hledger.m4.md index 980bd9f40..eb6c82791 100644 --- a/hledger/hledger.m4.md +++ b/hledger/hledger.m4.md @@ -2641,7 +2641,7 @@ and less trustworthy in an audit. ### Default year You can set a default year to be used for subsequent dates which don't -specify a year. This is a line beginning with `Y` followed by the year. Eg: +specify a year. This is a line beginning with `Y` or `year` followed by the year. Eg: ```journal Y2009 ; set default year to 2009 @@ -2650,7 +2650,7 @@ Y2009 ; set default year to 2009 expenses 1 assets -Y2010 ; change default year to 2010 +year 2010 ; change default year to 2010 2009/1/30 ; specifies the year, not affected expenses 1 diff --git a/hledger/test/journal/directives.test b/hledger/test/journal/directives.test index 39fba6ddc..fe5ca7bcc 100644 --- a/hledger/test/journal/directives.test +++ b/hledger/test/journal/directives.test @@ -18,3 +18,14 @@ a:b aa:b c +< +Y 1111 +1/1 +year 2222 +2/2 +$ hledger -f- print +1111-01-01 + +2222-02-02 + +>= diff --git a/hledger/test/ledger-compat/syntax/hledger-ledger-unsupported.test b/hledger/test/ledger-compat/syntax/hledger-ledger-unsupported.test index 885089224..27b7b50ed 100644 --- a/hledger/test/ledger-compat/syntax/hledger-ledger-unsupported.test +++ b/hledger/test/ledger-compat/syntax/hledger-ledger-unsupported.test @@ -130,13 +130,6 @@ $ hledger -f- check >2// >=1 -# `year`/`Y` set the year for year-less dates -< -year 2022 -$ hledger -f- check ->2// ->=1 - # `C AMT1 = AMT2` declare a commodity equivalency < C $ 1 USD @@ -151,3 +144,7 @@ o 2013/04/05 13:30:00 $ hledger -f- check >2// >=1 + +# amount expressions + +# lot notation diff --git a/hledger/test/ledger-compat/syntax/hledger-other.test b/hledger/test/ledger-compat/syntax/hledger-other.test index 12c0bba3e..a1cb1dc39 100644 --- a/hledger/test/ledger-compat/syntax/hledger-other.test +++ b/hledger/test/ledger-compat/syntax/hledger-other.test @@ -33,3 +33,16 @@ $ hledger -f- check (budget:food) *-1 $ hledger -f- check + +# `Y`/`year` set the year for year-less dates +< +Y 1111 +1/1 +year 2222 +2/2 +$ hledger -f- print +1111-01-01 + +2222-02-02 + +>=