Simon Michael
1856ca5312
web: bump to 1.20.1; update manuals' dates
2020-12-06 18:20:56 -08:00
Simon Michael
27abca84a4
;changelog tweak
2020-12-06 18:14:47 -08:00
Simon Michael
fa28b43aed
;update changelogs
2020-12-05 17:58:37 -08:00
Simon Michael
5c5256504e
;update manuals
2020-11-30 15:21:59 -08:00
Simon Michael
2066bb5e9f
;update CLI usage texts
2020-11-30 15:21:40 -08:00
Simon Michael
5507cb07ef
;update cabal files
2020-11-30 15:19:21 -08:00
Simon Michael
2501329f3c
;bump version to 1.20
2020-11-30 15:18:24 -08:00
Simon Michael
3aec8542db
;update changelogs
2020-11-30 12:11:30 -08:00
Simon Michael
26dc66e118
;check: doc updates
2020-11-30 08:49:10 -08:00
Simon Michael
e983380098
;update manuals
2020-11-30 08:41:40 -08:00
Simon Michael
679373c835
;update CLI usage texts
2020-11-30 08:41:21 -08:00
Simon Michael
a5adc14aaa
;check: doc updates
2020-11-30 08:41:07 -08:00
Simon Michael
090e810761
check: rename ordereddates, uniqueleafnames
2020-11-30 08:26:48 -08:00
Simon Michael
4dba59b0a1
;check: doc updates
2020-11-30 08:26:16 -08:00
Simon Michael
16a212af57
;update manuals
2020-11-29 21:21:50 -08:00
Simon Michael
4db9ec1e79
;update CLI usage texts
2020-11-29 21:21:29 -08:00
Simon Michael
a0907e6567
check: doc
2020-11-29 21:21:20 -08:00
Simon Michael
e33667f580
check: support quoted check name + args
...
A "hledger check" argument may now be a quoted string containing
the check name followed by space-separated arguments, for
checks which make use of those. This means the check command
can replicate "check-dates --unique" and (in principle)
"check-fancyassertions ASSERTIONS..". Eg:
hledger check "dates --unique"
I think it'll be better for checks to take no arguments or options,
so this is probably just a transitional feature for compatibility.
2020-11-29 20:48:31 -08:00
Simon Michael
78542ca32e
check-dates: rename --strict to --unique; improve output
2020-11-29 15:28:14 -08:00
Simon Michael
c5b0eab37a
;cli: slightly clearer message for this unlikely error case
2020-11-29 13:37:30 -08:00
Simon Michael
19f257621c
;cli: commands list: descriptions for tagfiles & fancyassertions addons
2020-11-29 13:36:24 -08:00
Simon Michael
724fb9961d
check: new command incorporating check-dates, check-dupes, etc.
...
This is intended to work in three modes:
- hledger check: just run the standard data checks, like all other
commands but with no output on success. Equivalent to
hledger stats >/dev/null but simpler and platform-independent.
- hledger check --strict: run the standard + strict data checks,
like other commands in strict mode.
- hledger check CHECK1 CHECK2 ...: run the named checks. This allows
running more or less checks than the default or strict mode, or
a single check of interest. The arguments are standard lowercase names
for the checks. For now this command supports two checks: "dates" and
"leafnames". These are equivalent to the check-dates and check-dupes
commands which are now hidden and considered deprecated, though
still supported for the moment.
This command needs more work and I'm rushing it a little, but I think
it's the right direction and I'd like to put it out there to get
feedback.
2020-11-29 13:27:35 -08:00
Simon Michael
325a155f0b
check-dates: on success, be silent and don't force program exit
2020-11-29 13:24:33 -08:00
Simon Michael
cd7156013d
check-dupes: return a non-zero exit code on failure
2020-11-29 13:24:14 -08:00
Simon Michael
ee026f5442
Revert the rename of check-dupes
...
We'll keep the old name, soon to be a hidden command, for compatibility.
2020-11-28 15:32:07 -08:00
Simon Michael
8c23a16bf8
journal: strict mode also requires commodity declarations
2020-11-27 17:54:55 -08:00
Simon Michael
d9b4446837
;check-leafnames: fix, one more rename
2020-11-27 13:23:04 -08:00
Simon Michael
d330c4910e
check-dupes: rename to check-leafnames, per "How to check for errors"
2020-11-27 12:51:41 -08:00
Simon Michael
3bfe53dd50
doc: strict mode links
2020-11-27 08:57:41 -08:00
Simon Michael
d40d53ae02
;update manuals
2020-11-26 08:52:56 -08:00
Simon Michael
ec3ad14ae5
strict mode: -s/--strict requires posted accounts to be declared
2020-11-26 08:48:16 -08:00
Simon Michael
794c5f32a5
;update changelogs
2020-11-24 09:39:05 -08:00
Simon Michael
255d475380
;update manuals
2020-11-24 09:23:58 -08:00
Simon Michael
982486e5d2
;update CLI usage texts
2020-11-24 09:23:47 -08:00
Simon Michael
94b3f090be
csv, timedot, timeclock: respect --alias options ( fix #859 )
...
Command-line account aliases now also affect transactions read
from these formats (not just journal format).
lib: journalApplyAliases, transactionApplyAliases, postingApplyAliases
helpers have been added.
2020-11-24 09:17:01 -08:00
Simon Michael
221a6d9001
lib: new more robust price lookup implementation, fixing #1402
2020-11-23 18:08:41 -08:00
Simon Michael
13e3e7607e
;cli: update example in Cli.Main haddock
2020-11-23 10:05:53 -08:00
Simon Michael
d60c1f764d
lib: partial valuation fix, more debug output for #1402
2020-11-22 13:10:31 -08:00
Simon Michael
6847f0e6a8
; lib: valuation: add a commented test for #1402
2020-11-21 07:35:32 -08:00
Simon Michael
16f12d8263
;bal: budget: improve doc
2020-11-20 17:20:50 -08:00
Simon Michael
322d62483e
;bal: budget: heading type
2020-11-20 17:05:48 -08:00
Simon Michael
adc9bf94bc
;bal: budget: document a start date gotcha
2020-11-20 17:04:24 -08:00
Simon Michael
6948b05db6
;bal: budget: add tests clarifying a surprising behaviour
2020-11-19 15:15:04 -08:00
Simon Michael
372c9724a8
bal: improve budget, MultiBalanceReport debug output
...
Comply with debug levels policy, clarify some labels.
2020-11-19 14:42:46 -08:00
Simon Michael
b6c667c388
;update manuals
2020-11-19 09:19:20 -08:00
Simon Michael
0295be5553
;update CLI usage texts
2020-11-19 09:19:12 -08:00
Dmitry Astapov
d53dc46a5a
roi: docs
2020-11-19 09:17:28 -08:00
Dmitry Astapov
c0582ec895
roi: TWR now handles samy-day pnl changes and cashflows
2020-11-19 09:17:28 -08:00
Simon Michael
3afd52248b
;roi: document calculation failures
2020-11-19 09:17:28 -08:00
Simon Michael
ab305b3244
roi: add adept's IRC discussion to doc
2020-11-19 09:17:28 -08:00
Simon Michael
a92aa3cd26
;bal: fix a warning
2020-11-18 16:31:32 -08:00
Simon Michael
6b152fe6c8
;update manuals
2020-11-18 16:30:52 -08:00
Simon Michael
4e529372a4
;update CLI usage texts
2020-11-18 16:30:40 -08:00
Simon Michael
18f8f91520
;more budget-related cleanup
2020-11-18 16:29:04 -08:00
Simon Michael
5bb9006b6c
bal: support CSV output for --budget reports ( #1155 )
2020-11-18 16:29:04 -08:00
Dmitry Astapov
98a46fcaeb
cli: improve error for roi IRR rootfinding problems ( closes #1398 )
2020-11-18 01:03:20 +00:00
Simon Michael
9a820a6dec
;doc: fixes
2020-11-17 13:16:17 -08:00
Simon Michael
5f9635c784
;update changelogs
2020-11-17 10:51:57 -08:00
Simon Michael
3662977c84
;update manuals
2020-11-17 07:29:57 -08:00
Simon Michael
541aa3ee5b
;update CLI usage texts
2020-11-17 07:29:38 -08:00
Simon Michael
ec2a774b18
cli, lib: move functional tests into hledger/test/
2020-11-16 08:47:41 -08:00
Simon Michael
2448d07148
;roi: doc: link example file
2020-11-15 11:20:52 -08:00
Simon Michael
0ce9c352ec
add: don't let number style disturb the default ( Fixes #1378 )
2020-11-14 11:08:01 -08:00
Simon Michael
e8672c4cd5
;lib: don't catch in maybeFileModificationTime ( #1390 )
...
It's overkill.. it's understood that any IO action can
throw an exception, and it's best to handle them at top level,
eg as Yesod does.
2020-11-13 16:50:17 -08:00
Simon Michael
1f94aa1628
;lib: make file modification/reloading helpers more robust ( #1390 )
...
Work on hledger-web tests showed some bad behaviour, in particular
journalReloadIfNewer would always reload a journal read from a string
or stdout. This is now fixed, and an ugly read.show conversion has
been cleaned up.
Hledger.Cli.Utils API changes:
removed:
- journalSpecifiedFileIsNewer
- fileModificationTime
added:
- utcTimeToClockTime
changed:
- journalFileIsNewer now requires a file argument
2020-11-13 16:28:35 -08:00
Simon Michael
a97daaf322
lib: replace pretty-show with pretty-simple
...
pretty-simple, already used in .ghci, will hopefully give nicer debug
output, including for values which don't have Read-able Show output.
This should mean that we can start removing custom string-like Show
instances that were a workaround for pretty-show.
We are using the latest version (4.0.0.0) to get compact output.
Here's some old pretty-show output:
CsvRules
{ rdirectives = [ ( "skip" , "1" ) ]
, rcsvfieldindexes = [ ( "date" , 1 ) , ( "amount" , 2 ) ]
, rassignments = [ ( "amount" , "%2" ) , ( "date" , "%1" ) ]
, rconditionalblocks = []
}
And the new pretty-simple output:
CsvRules
{ rdirectives=
[ ( "skip", "1" ) ]
, rcsvfieldindexes=
[ ( "date", 1 ), ( "amount", 2 ) ]
, rassignments=
[ ( "amount", "%2" ), ( "date", "%1" ) ]
, rconditionalblocks= []
}
Non-compact pretty-simple output would be:
CsvRules
{ rdirectives=
[
( "skip"
, "1B"
)
]
, rcsvfieldindexes=
[
( "date"
, 1
)
,
( "amount"
, 2
)
]
, rassignments=
[
( "amount"
, "%2"
)
,
( "date"
, "%1"
)
]
, rconditionalblocks=[]
}
Also:
- Account's Show instance no longer converts : to _ in account names
- drop unused pretty-show dependency from hledger, hledger-ui packages
- regenerate hledger-lib with the older hpack that's shipped in stack
2020-11-10 08:06:11 -08:00
Simon Michael
de42cc6706
;doc: valuation: try to clarify effect on reports table ( #1380 )
2020-11-09 18:04:35 -08:00
Simon Michael
86fac4236d
;update manuals
2020-11-09 17:14:38 -08:00
Simon Michael
94b01dd19d
;update CLI usage texts
2020-11-09 17:14:38 -08:00
Simon Michael
78894d46c8
import: apply journal's commodity styles to imported amounts
2020-11-09 17:14:38 -08:00
Simon Michael
895783ebe0
;update manuals
2020-11-09 11:09:55 -08:00
Simon Michael
7cf7bcbf96
;doc: period expressions: slightly clarify "every WEEKDAY"
2020-11-09 11:08:20 -08:00
Stephen Morgan
76dd4d83bc
cli, docs: Add documentation, improve test comments, and clarify report titles for reports with valuation date changing over different columns.
2020-11-08 17:11:05 -08:00
Simon Michael
0df6998b58
;bal: doc tweak ( #1283 , #1379 )
2020-11-05 11:07:23 -10:00
Simon Michael
b5656c5909
;update manuals
2020-11-05 11:00:38 -10:00
Simon Michael
f615c07d0f
;update CLI usage texts
2020-11-05 11:00:38 -10:00
Simon Michael
10facfdb50
;bal: improve -S docs ( #1283 , #1379 )
2020-11-05 11:00:26 -10:00
Simon Michael
03c1193e54
;changelog tweak
2020-11-04 21:10:45 -10:00
Simon Michael
d1ded6fd84
;update changelogs
2020-11-04 06:52:15 -10:00
Stephen Morgan
83a518af99
lib,cli,ui: In ReportOpts, store query terms term-by-term in a list in
...
querystring_.
This helps deal with tricky quoting issues, as we no longer have to make
sure everything is quoted properly before merging it into a string.
2020-11-04 08:47:30 -08:00
Stephen Morgan
a620ab9666
lib: Expand Tabular.AsciiWide to allow multiline cells, either top or bottom aligned.
2020-11-04 14:25:21 +11:00
Stephen Morgan
0bebda7313
lib,cli,ui: Elide amounts to a width of 32 characters, rather than 22 characters.
2020-11-04 14:25:20 +11:00
Stephen Morgan
e9a16edb58
cli: Use new mixed amount display functions for balance format strings.
2020-11-04 14:25:20 +11:00
Stephen Morgan
9de238757b
lib,cli,ui: Introduce showMixed*Unnormalised, eliminate most direct calls of strWidth.
...
This introduces some new helper functions which are exactly the same
as what we had before, but do not call
normaliseMixedAmountSquashPricesForDisplay, so that we can use the new
functions for displaying Transaction and Posting. It also goes through
and gets rid of most uses of the old showMixed* functions which would
benefit from using the new interface.
2020-11-04 14:25:20 +11:00
Stephen Morgan
a838366c9d
cli: Ensure register reports are correctly aligned for negative numbers.
...
This uses the new showMixed* function for the register report. This
fixes some misaligned negative numbers which appeared in one of the
earlier commits, and adds a test for it.
2020-11-04 14:25:20 +11:00
Stephen Morgan
162a936360
lib: BudgetReport uses new renderTable inteface, now has more compact output.
...
This changes showMixedAmountElided so that the width to elide to is
given as an argument, rather than fixed at 22 characters. This
actually uses the new renderTable interface. Mostly this is just an
internal change, but since we have more information about the widths
of things, we can actually get rid of some superfluous spaces in the
budget report output, previously there to make sure it stayed aligned
with the largest reasonable contents.
2020-11-04 14:25:20 +11:00
Stephen Morgan
33369dfa6c
lib: renderTable can now receive alignment and width specifications on all cells, and has an option to display the outer border.
...
This gives renderTable a little more customisation. Before any of the
commits of this PR, render would just receive a string to display in
each cell. After the second commit of this PR it would also receive a
width of the string (in place of stripping ANSI sequences and then
calculating the width). After this commit, it now also takes an
alignment, so you can make cells left or right aligned. The function
render calls renderTable with appropriate options to give the same
behaviour as before. Also, previously render would always put a border
around the table. We would take this output, and would sometimes strip
the border by dropping the first and last rows, and first and last
characters of every row. I've just added an option to control whether
to put the border in, so we can just not add it in the first place,
rather than stripping it later. Note that this is again just defining
helper functions; this extra power is not yet used anywhere.
2020-11-04 14:25:20 +11:00
Stephen Morgan
a2b7a03fc4
lib,cli: bal uses new amount display functions, no longer needs to strip ansi.
2020-11-04 14:25:20 +11:00
Simon Michael
cca8802e2c
;update changelogs
2020-11-03 08:18:14 -10:00
Stephen Morgan
affc8d10f2
lib: Generalise CBCSubreportSpec to allow more subreport control.
2020-10-23 16:15:41 -07:00
Stephen Morgan
260283e2f1
lib,cli,ui,web: Introduce ReportSpec, which holds ReportOpts, the day of
...
the report, and the parsed Query.
2020-10-23 14:14:11 -07:00
Stephen Morgan
19ab222599
lib,cli: Remove old impure ReportOpts date functions.
2020-10-23 14:14:11 -07:00
Stephen Morgan
2aaab4b1b7
lib: Make Default instances clearer, remove Default instance for Bool.
2020-10-23 14:14:11 -07:00
Stephen Morgan
1171c23eee
lib,cli,ui: Ensure ReportOpts always has today_ set.
2020-10-23 14:14:11 -07:00
Stephen Morgan
c45663d41d
lib,cli: Store parsed Query in ReportOpts, rather than an unparsed
...
String.
2020-10-23 14:14:11 -07:00
Stephen Morgan
103308e795
lib,cli: Store StringFormat in ReportOpts, rather than unparsed String.
...
StringFormat now also takes an optional overline width, which is
currently only used by defaultBalanceLineFormat.
2020-10-23 14:14:11 -07:00
Simon Michael
291a35d8b4
;lib: refactor
2020-10-19 09:09:38 -07:00
Simon Michael
2761324404
journal: apply commodity styles to forecasted transactions ( #1371 )
2020-10-19 08:59:25 -07:00
Simon Michael
831ec0dcf0
;lib: refactor journalAddForecast
2020-10-19 08:52:00 -07:00
Simon Michael
f0db3fb157
;update manuals
2020-10-18 16:01:59 -07:00
Simon Michael
1f81730a00
balcmds: mention --no-elide's new commodity-revealing function
2020-10-05 08:57:08 -07:00
Simon Michael
c5513ba722
;tweak a few parse errors for clarity, consistency ( #1329 )
2020-09-19 08:10:39 -07:00
Simon Michael
73de12c264
;update changelogs
2020-09-07 16:17:58 -07:00
Simon Michael
2b715fbe0d
;update changelogs
2020-09-07 16:13:21 -07:00
Simon Michael
018bf8f474
;update manuals
2020-09-07 12:17:35 -07:00
Simon Michael
90adb95983
;update cabal files
2020-09-07 12:17:35 -07:00
Simon Michael
a151bcaec7
; bump hledger-lib, hledger, hledger-ui, hledger-web version to 1.19.99
2020-09-07 12:16:12 -07:00
Simon Michael
8599eda37c
allow megaparsec 9
2020-09-07 11:41:57 -07:00
Simon Michael
a1321b7f26
;shake: commandhelp -> commandtxts, don't build this for "manuals"
2020-09-07 11:41:56 -07:00
Simon Michael
a5fcb19bb0
;doc: changelog updates
2020-09-07 09:23:42 -07:00
Simon Michael
a9fbaaf284
;partial comment cleanups
2020-09-03 09:52:00 -07:00
Simon Michael
09ac90a70a
;doc: finalise changelogs
2020-09-01 20:28:04 -07:00
Simon Michael
3170cc7cbd
bump version to 1.19
2020-09-01 20:27:17 -07:00
Simon Michael
7aefa6f0ce
;doc: changelogs
2020-09-01 20:23:30 -07:00
Simon Michael
e44c1cfae8
;regen manuals
2020-09-01 16:31:18 -07:00
Simon Michael
c1a985f1c8
;bal: doc: drop link to resolved sorting issue ( #1279 )
2020-09-01 16:31:18 -07:00
Stephen Morgan
07dd30c1e5
lib,cli,ui: Change to consistent naming scheme for Hledger.Utils.Regex.
2020-09-01 11:36:34 +10:00
Stephen Morgan
af31d6e140
lib,cli,ui: Remove redundant Typeable and Data instances.
...
Also add some explicit import lists.
2020-08-31 15:41:30 +10:00
Stephen Morgan
e5371d5a6a
lib,cli,ui,web: Make Regexp a wrapper for Regex.
2020-08-31 12:04:45 +10:00
Stephen Morgan
f6fa76bba7
lib,cli: Get rid of magic values for asprecision, use a sum type instead.
2020-08-30 23:00:35 +10:00
Stephen Morgan
371b349b2e
lib,cli: Replace parsedate and mkdatespan with direct applications of fromGregorian, transaction now takes Day instead of a date string.
2020-08-29 15:08:28 -07:00
Stephen Morgan
2fd678e415
lib,cli,ui: Remove old CPP directives made redundant by version bounds.
2020-08-29 15:08:28 -07:00
Simon Michael
20336ddc4d
;doc: more file extensions tweaks
2020-08-21 09:21:46 -07:00
Simon Michael
c3d8857ae5
;doc: clarify csv file extensions and separator inferring
2020-08-21 09:01:23 -07:00
Stephen Morgan
4d5888aa8d
cli: No longer force --no-total in compound balance reports when using --percent.
2020-08-11 15:16:29 -07:00
Simon Michael
3f55c23603
;review, tag all error calls with an easier to find PARTIAL: comment ( #1312 )
2020-08-05 16:08:33 -07:00
Simon Michael
242c05fc9a
lib, journal: parseQuery, modifyTransactions are now total ( #1312 )
...
modifyTransactions now also requires a reference date, for parsing queries.
Relative dates are now permitted in auto posting rules.
2020-08-05 13:44:04 -07:00
Simon Michael
5d40b54043
;doc: regen manuals
2020-08-01 12:41:54 -07:00
Simon Michael
1eca6b8b5c
;queries: document quarter query term ( #1247 )
2020-07-31 18:15:18 -07:00
Stephen Morgan
081ee390ab
lib: Change skipMany spacenonewline to takeWhileP Nothing isNonNewlineSpace.
2020-07-22 14:58:53 -07:00
Simon Michael
1c4e0c3cff
;reg,areg: interlink their docs
2020-07-22 07:57:53 -07:00
Simon Michael
640d2f2972
;bs/bse/cf/is: update help to mention account types
2020-07-19 11:15:50 -07:00
Simon Michael
21b91f17cb
;regen manuals
2020-07-18 12:37:06 -07:00
Simon Michael
847fc23236
ui: use t/l keys for tree/list, T for "today", drop vi keys?! retune help ( #1286 )
2020-07-17 15:42:05 -07:00
Simon Michael
3636875a5d
cli: add -t/-l short flags for --tree/--flat; improve help ( #1286 )
2020-07-17 15:36:07 -07:00
Simon Michael
ba49699728
cli: improve --color/--colour help & help layout
2020-07-17 15:36:07 -07:00
Stephen Morgan
30f02b0882
lib: account name clipping takes Maybe Int as depth.
2020-07-17 07:41:27 -07:00
Stephen Morgan
51ea6d9f25
lib: Make queryDepth return Maybe Int.
2020-07-16 10:05:53 -07:00
Simon Michael
73141aa645
;regen help/manuals
2020-07-14 12:22:27 -07:00
Simon Michael
144415f6fa
;cli: improve --color help
2020-07-14 12:22:11 -07:00
Simon Michael
031f72ac4b
;help/manuals
2020-07-14 12:09:54 -07:00
Simon Michael
403cb457b7
;cabal files
2020-07-14 12:09:45 -07:00
Simon Michael
3452270241
cli: --color/--colour option; smart emacs, windows autodetection ( #1296 )
2020-07-14 12:08:36 -07:00
Simon Michael
02043d4e65
;areg: doc: fix heading level
2020-07-14 10:37:49 -07:00
Simon Michael
4f7bee7abf
;regen help, manuals
2020-07-14 10:25:04 -07:00
Simon Michael
9198449ee3
areg: an account transaction register like the ones in ui/web ( #1294 )
...
;areg: debug output
;areg: show a title indicating which account was picked
This might be a bit of a pain for scripting, but otherwise it can be
quite confusing if your argument matches an account you didn't expect.
;areg: improve CSV headings
;areg: show at most two commodities per amount
2020-07-14 10:24:57 -07:00
Simon Michael
fd00d9c1cc
tags: add --parsed flag, hide empties without --empty
...
With --parsed flag, all tags or values are shown in the order they
are parsed from the input data, including duplicates.
With -E/--empty, any blank/empty values will also be shown, otherwise
they are omitted.
2020-07-14 10:20:52 -07:00
Simon Michael
c99989acd7
;cli: improve --value help, mention 'then'
2020-07-13 11:52:14 -07:00
Simon Michael
23bef9a01b
;refactor: extracted reportPeriodName for making report headings
2020-07-09 12:54:20 -07:00
Simon Michael
0a9b05f3fd
;refactor balance report column headings
2020-07-09 11:49:16 -07:00