Fix a refactoring-related regression that the tests missed: if
transactions were not ordered by date in the journal, register
could include postings before the report start date in the output.
We provided a very limited implementation of --display only for one use
case: to see an accurate running balance. Now that is achieved more easily
with -H/--historical, similar to the balance command, and --display
can be dropped.
Building hledger-web is taking more than half a gigabyte here.
Building with -O2 is generally considered to eat more memory.
and be less robust than -O, and seems unnecessary for hledger-web.
Similar to the special case for amt:<0, for convenience.
To test that the absolute quantity is greater than 0, ie that the
quantity is non-zero, use not:amt:0.
Drop the special case where we hide an add-on's source version if a
compiled version is also present. Better to be simple and explicit.
Improve robustness of command parsing, eg "hledger addon.hs"
will now work even though the command is listed as "addon".
And ignore any add-ons which would shadow a built-in command
(or any of the official command aliases displayed in the command list,
like "bal" and "reg"). Built-ins may not be replaced by an add-on.
We now hide add-ons' file extensions in the commands list except when
they are needed for disambiguation. There are three cases:
- when an add-on exists with only one file extension, the extension is
not displayed.
- when an add-on has exactly two variants, one with the .[l]hs extension
and the other with none or .exe - presumably the source and compiled
versions - we omit the source version from the list.
- otherwise when an add-on has multiple variants differing by file
extension, they are listed with their extensions displayed.