Commit Graph

2017 Commits

Author SHA1 Message Date
Simon Michael
4491325bb0 ;check: ordereddates/uniqueleafnames: print on stderr, refactor 2020-12-31 11:22:32 -08:00
Simon Michael
1d4c4c5b8b check: drop old checkdates/checkdupes commands, consolidate 2020-12-31 10:49:17 -08:00
Simon Michael
a6ec7bcc11 ;check: add tests for all on-demand checks 2020-12-31 10:27:50 -08:00
Simon Michael
8306420b61 check: also check "accounts"/"commodities" on demand
(cherry picked from commit 0c2bf54f2955e3a25fd0282acc42608f957abaea)
2020-12-31 08:33:36 -08:00
Simon Michael
5d8669d4f3 ;check: separate func test files for each check 2020-12-31 08:29:15 -08:00
Simon Michael
31ea37a785 ;check: accounts, commodities, payees, ordereddates: improve errors
Error messages for these four are now a bit fancier and more
consistent. But not yet optimised for machine readability.
Cf #1436.

Added to hledger-lib: chomp1, linesPrepend[2].
2020-12-30 18:13:34 -08:00
Damien Cassou
b47d582583 ;check: fixes 2020-12-30 18:08:31 -08:00
Simon Michael
de56d09024 ;check: start some functional tests, for payees 2020-12-30 18:08:31 -08:00
Simon Michael
3c232fbd7d check: add "payees" check requiring payee declarations 2020-12-30 18:08:30 -08:00
Simon Michael
8ab2316604 ;cli: doc: data formats: wording 2020-12-30 17:06:01 -08:00
Simon Michael
22c6f056c2 ;update manuals 2020-12-29 10:27:48 -08:00
Simon Michael
6f08631be3 ;doc: changelog updates 2020-12-29 10:21:27 -08:00
Simon Michael
a5f9f8ce0c ;update CLI usage texts 2020-12-29 09:43:24 -08:00
Simon Michael
4a48e5f8aa ;doc: changelogs
(cherry picked from commit 3031c0e7b9bd9384ac390d3f3705455f057dd8c8)
2020-12-29 09:39:35 -08:00
Simon Michael
4ce681348d ;update changelogs
(cherry picked from commit 1b389961587720be10f7cced91d3b6cb9fc47415)
2020-12-29 09:38:58 -08:00
Simon Michael
f2d2272737 ;update changelogs
(cherry picked from commit 15e290955f8ae2ed636b4e144e84fc4c73f4228b)
2020-12-29 09:37:54 -08:00
Simon Michael
d126ceead2 ;cli: tests: allow func tests to run on NixOS 2020-12-28 15:23:51 -08:00
Simon Michael
21ce0c30cc ;print: cleanup; discuss unbalanced output (#1429) 2020-12-28 07:07:45 -08:00
Simon Michael
9ff53ab1e0 ;cli: convert cli.test to latest format 2020-12-28 06:28:31 -08:00
Simon Michael
323303daba ;cli: another fix for 4330427f 2020-12-28 06:24:56 -08:00
Simon Michael
b66d8f0f3c ;update manuals 2020-12-26 17:29:02 -08:00
Simon Michael
cee1c69ac0 ;update CLI usage texts 2020-12-26 17:28:47 -08:00
Simon Michael
4330427f6b cli: make --help/--version always CMD-specific
This simplifies the --help/-h and --version flags by making them
position independent: no matter where they appear in the command line,
if there is a command argument they will show the command's help or
version (where applicable), instead of the hledger executable's.
2020-12-26 17:27:28 -08:00
Simon Michael
ae9595c321 cli/help: --info/--man/help show CMD/topic-specific docs
hledger CMD --info will now open CMD's info node,
hledger CMD --man will scroll the man page to CMD's section, and
hledger help -i/-m/-p TOPIC will do similar.
This is not perfectly robust but hopefully will be good enough in
practice.

Also the help command's long --info/--man/--pager flags have been
dropped in favour of -i/-m/-p.
2020-12-26 17:27:28 -08:00
Simon Michael
54af71a0b1 cli: general --man, --info flags show the manual 2020-12-26 17:27:28 -08:00
Simon Michael
f20cd2b112 help: show only the hledger manual, for now 2020-12-26 17:27:27 -08:00
Simon Michael
7d3f05b16a help: add -i/-m/-p short flags 2020-12-26 17:27:27 -08:00
Simon Michael
9beff54b27 help: drop --cat 2020-12-26 17:27:27 -08:00
Simon Michael
ab55be6d64 ;doc: link updates 2020-12-26 17:27:27 -08:00
Simon Michael
201ea210fb ;cli: doc: intro wording 2020-12-26 17:27:27 -08:00
Simon Michael
8a16b2b1b0 ;update CLI usage texts 2020-12-26 08:21:45 -08:00
Simon Michael
45a5658396 cli: drop deprecated command aliases a, b, p, r, txns 2020-12-26 08:21:45 -08:00
Simon Michael
8d320bc1fe ;update manuals 2020-12-24 17:26:17 -08:00
Simon Michael
fbe30a73b9 ;doc: mention version in all manual formats 2020-12-24 17:25:11 -08:00
Simon Michael
f79cd78179 ;doc: update links 2020-12-24 13:02:02 -08:00
Simon Michael
fbf9418756 ;doc: update links to journal manual 2020-12-24 12:49:04 -08:00
Simon Michael
62660577c3 ;update cabal files 2020-12-24 10:22:16 -08:00
Simon Michael
ff3a05f891 ;update manuals 2020-12-24 10:22:05 -08:00
Simon Michael
ef55f9faf3 ;update CLI usage texts 2020-12-24 10:22:05 -08:00
Simon Michael
a7e9e9ac0e doc: merge file format manuals into the hledger manual
Also flatten the journal manual topics a bit.

There are pros and cons to this, but I believe the pros outweigh the
cons.
2020-12-24 10:22:05 -08:00
Simon Michael
a950d49e18 cli: hide deprecated aliases in command list
(a, b, p, r, equity, txns)
2020-12-23 12:00:42 -08:00
Simon Michael
0a36823094 ;update manuals 2020-12-23 10:29:57 -08:00
Simon Michael
69a7325f91 ;update CLI usage texts 2020-12-23 10:29:30 -08:00
Simon Michael
9c7a87da57 cli: doc: sync/update manual & cli command lists 2020-12-23 10:28:31 -08:00
Simon Michael
f43ab0029d cli: doc: reorganise/flatten hledger manual, rewrite commands section 2020-12-23 10:25:43 -08:00
Simon Michael
65a003c8ee ;doc: refactor, keep commands.m4 in Commands dir 2020-12-22 17:05:28 -08:00
Simon Michael
630347e0e8 ;bs/bse/cf/is: describe in terms of balance command 2020-12-22 09:22:10 -08:00
Simon Michael
324dfaee49 ;update manuals 2020-12-20 20:11:35 -08:00
Simon Michael
63876a4186 ;cli: doc: commands glue text 2020-12-20 20:08:35 -08:00
Simon Michael
0ff65456fa ;doc: info: tweak first/top heading again to improve structure 2020-12-20 20:08:35 -08:00
Simon Michael
9daaabeda2 ;doc: simplify manuals' title metadata to fit man/info better 2020-12-20 20:08:35 -08:00
Simon Michael
006db6136c ;doc: info: consistent indenting of synopsis command lines 2020-12-20 20:08:35 -08:00
Simon Michael
57a176193d ;doc: commands: include in man pages again; simplify headings
Simplify things for now.
2020-12-20 20:08:35 -08:00
Simon Michael
11b787e8ec ;doc: info: drop areg/bal's "Output format" heading to fix node loops
These were making it impossible to page through the entier manual with
the space key.
2020-12-20 20:08:35 -08:00
Simon Michael
c92c27d565 doc: tweak manuals' top heading to improve info structure 2020-12-20 20:08:35 -08:00
Simon Michael
ad3b5ef2fb ;doc: cli: reorder command docs; clean up includes 2020-12-20 07:57:57 -08:00
Simon Michael
6b4be651af doc: rewrite commands intro; drop command docs from man page 2020-12-19 12:01:58 -08:00
Stephen Morgan
e406cebcce lib: Remove unused AtDefault constructor for ValuationType. 2020-12-19 11:59:44 -08:00
Stephen Morgan
0c23619ae7 lib: Valuation has changed; and -V now acts like --value=end. 2020-12-19 11:59:44 -08:00
Stephen Morgan
8981b3e196 lib: Include empty columns in MultiBalanceReports.
This was previously done for CompoundBalanceReport and when --empty was
called; this makes the behaviour consistent.
2020-12-18 20:54:08 -08:00
Stephen Morgan
ec3299f626 doc: Add note for market prices being included in calculating the default end date. 2020-12-16 19:04:33 -08:00
Stephen Morgan
439eddc8b9 lib: Include price directives when calculating journal end date. 2020-12-16 19:04:33 -08:00
Simon Michael
4d3a9b0a21 ;changelogs: whitespace
(cherry picked from commit 679e90eb6028e8be35168057fe0040880aaab03a)
2020-12-15 20:57:18 -08:00
Simon Michael
47ab7a50a3 ;update changelogs
(cherry picked from commit 452149dfc87f2044ba6d16c2e55cab5957289b65)
2020-12-15 20:57:09 -08:00
Simon Michael
8db8992cb5 ;update changelogs
(cherry picked from commit 03f9b756b35661dc8dac6f10de04e9795d72c4d6)
2020-12-15 20:56:44 -08:00
Simon Michael
105f7d2944 ;tools: split defs.m4 to minimise manual rebuilding 2020-12-15 09:39:29 -08:00
Simon Michael
e5a12683d7 ;update manuals 2020-12-15 09:03:38 -08:00
Simon Michael
7d4d6517a6 ;shake: commandtxts -> cmdhelp; note todos 2020-12-15 08:53:10 -08:00
Simon Michael
df5c755d96 ;lib, cli: remove old unused parsec dependency 2020-12-15 08:33:05 -08:00
Simon Michael
9afccde16f ;update cabal files 2020-12-14 12:31:01 -08:00
Simon Michael
9087532b62 ;bump version to 1.20.99 2020-12-14 11:28:07 -08:00
Simon Michael
349ffd7c0b updateReportSpecFromOpts -> updateReportSpec[With] 2020-12-12 12:05:44 -08:00
Simon Michael
6723025607 ;update manuals 2020-12-08 20:11:32 -08:00
Simon Michael
a2bc7f95f0 ;update CLI usage texts 2020-12-08 20:11:32 -08:00
Simon Michael
4f122b605d ;rewrite: replace/update doc in commands list 2020-12-08 19:22:03 -08:00
Simon Michael
786a58ce2a ;cli: drop old command docs from commands list 2020-12-08 09:51:19 -08:00
Simon Michael
7a692284a9 ;doc: replace a few addon with add-on 2020-12-08 09:27:36 -08:00
Simon Michael
116945e907 ;shake: man page date is now updated by manuals, not setversion 2020-12-07 12:26:48 -08:00
Simon Michael
2f91b1de6e ;update manuals 2020-12-07 06:15:59 -08:00
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