Commit Graph

2177 Commits

Author SHA1 Message Date
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
Simon Michael
09b1736d5a bal, bs, cf, is: update flat/tree help; order options a bit better 2020-07-07 19:00:10 -07:00
Stephen Morgan
5ffe1d7656 cli: Allow --drop in account command in tree mode. 2020-07-07 16:05:05 -07:00
Stephen Morgan
1425301a8c lib, cli: Use --flat as the default mode for all reports. 2020-07-07 15:49:08 -07:00
Stephen Morgan
df84a417d7 doc: Remove references to old limitations of boring parent ellision. 2020-07-07 15:49:08 -07:00
Simon Michael
644be1e1cf codes: add missing files to stack/cabal config 2020-07-07 13:56:45 -07:00
Simon Michael
ae4fce8077 ;regen manuals 2020-07-07 13:42:11 -07:00
Simon Michael
3ad313d8fa codes: new command for listing transaction codes 2020-07-07 13:38:49 -07:00
Simon Michael
a7a01c0f9f descriptions, notes, payees: fix/improve help and comments 2020-07-07 13:38:49 -07:00
Simon Michael
95ee601548 ;regen manuals 2020-07-07 10:19:56 -07:00
Simon Michael
eee9402ba8 add: fix help - arguments are inputs, not a query 2020-07-07 10:10:13 -07:00
Simon Michael
0bbd88fe7f ;doc: changelogs 2020-07-05 09:24:16 -07:00
Simon Michael
44c3eb1904 add a color argument to most amount show helpers, drop cshow variants
This is an API change, but it seems better than having additional
colour-supporting variants and trying to avoid duplicated code.
I stopped short of changing showAmount, so cshowAmount still exists.
2020-07-05 06:59:16 -07:00
Simon Michael
2739a70a38 balcmds: elide amounts with 3 or more commodities, unless --no-elide
Multicolumn balance reports showing many commodities tend to become
unreadably wide, especially in tree mode. Now by default we show at
most two commodities, and a count of the rest if there are more than
two. This should help keep reports somewhat readable by default.
2020-07-05 06:59:16 -07:00
Simon Michael
3d57d4793d ;doc: regen manuals 2020-07-04 16:17:13 -07:00
Simon Michael
aea0dac235 bal: warn about #1279 in manual 2020-07-04 16:13:35 -07:00
Stephen Morgan
c811ea4c7b lib, cli, ui, web: intopt and friends now make sure their arguments fit
inside bounds.
2020-07-03 12:35:51 -07:00
Simon Michael
765fb732c9 debug: move command parsing debug output down to level 8 2020-07-03 11:37:01 -07:00
Stephen Morgan
4fc72328d2 lib, cli: Introduce convienience function compoundBalanceReport. 2020-06-28 07:29:49 -07:00
Stephen Morgan
604868cea5 lib, cli: Move CompoundBalanceReport into ReportTypes, compoundReportWith into MultiBalanceReport, share postings amongst subreports. 2020-06-28 07:29:49 -07:00
Simon Michael
e090e0f949 add lower bound needed for aeson, to help cabal (#1268) 2020-06-23 14:55:42 -07:00
Stephen Morgan
b3cd865786 lib: Add fortnightly as a synonym for biweekly. 2020-06-23 06:48:20 -07:00
Simon Michael
e0fab4f882
Merge pull request #1256 from Xitian9/balanceReport
SMorgan: 
This PR aims to accomplish two major goals:

-    Get boring parent ellision working for multiBalanceReport
-    Remove the special BalanceReport code, and just use multiBalanceReport

I believe it does both, with the following additional benefits:

    A refactor of multiBalanceReportWith, to make the structure easier to follow, and with a clearer division of responsibilities
    All decisions for how an account name is to be displayed are now made in multiBalanceReport, rather than scattered around the code base
    Some miscellaneous improvements in account name rendering, including --drop now working with MultiBalanceReports, and addressing some of #373

Algorithmic changes:

-    Using HashMap AccountName (Map DateSpan Account) instead of [[MixedAmount]] is new. I admit I didn't profile this change (though given the nubs and lookups, I thought it was appropriate), so I'm glad it produces a speedup.
-    Producing the starting balances no longer calls the whole balanceReport, just the first few functions to get what it needs.
-    displayedAccounts is completely rewritten. Perhaps one subtle thing to note is that in tree mode it no longer excludes nodes with zero inclusive balance unless they also have zero exclusive balance.

SMichael: 
I'll mark the passing of the old multiBalanceReport, into which I poured many an hour :). It is in a way the heart (brain ?) of hledger - the key feature of ledgerlikes (balance report) and a key improvement introduced by hledger (tabular multiperiod balance reports). You have split that 300-line though well documented function into modular parts, which could be a little harder to understand in detail but are easier to understand in the large and more amenable to further refactoring. Then you fixed some old limitations (boring parent eliding in multi period balance reports, --drop with tree mode reports), allowing us to drop the old balanceReport and focus on just the new multiBalanceReport. And for representing the tabular data you replaced the semantically correct but inefficient list of lists with a map of maps, speeding up many-columned balance reports significantly (~40%). Last and not least you made it really easy to review. Thanks @Xitian9, great work.
2020-06-23 06:42:22 -07:00
Simon Michael
176011905e ;changelogs 2020-06-22 12:24:01 -07:00
Simon Michael
368297102d ;regen manuals 2020-06-22 12:20:14 -07:00
Dmitry Astapov
c8a84e3c96 cli: print -O sql 2020-06-22 12:17:33 -07:00
Stephen Morgan
d2e0312ab1 cli: Make --no-total remove subtotals from CompoundBalanceReport, not just net total. 2020-06-22 12:16:07 -07:00
Stephen Morgan
7a5416928e cli: multiBalanceReport: Remove redundant code branch. 2020-06-22 22:28:09 +10:00
Stephen Morgan
e079c8b808 lib: multiBalanceReport: Remove old balanceReport code, update some tests. 2020-06-22 22:27:09 +10:00
Stephen Morgan
5f0918217a multibalanceReport: Move responsibility for determining displayed name in multiBalanceReportWith, not at point of consumption. 2020-06-22 22:20:09 +10:00
Simon Michael
536bea2a78 roi: show errors without a traceback 2020-06-21 11:02:16 -07:00
Simon Michael
ce4de7aeb9 ;doc: regen manuals
[ci skip]
2020-06-21 10:36:21 -07:00
Simon Michael
24996caaeb bump to dev version 2020-06-21 10:35:52 -07:00
Simon Michael
c24f04823a ;doc: clarify print changelog 2020-06-21 10:23:27 -07:00
Simon Michael
6216258b41 ;doc: finalise 1.18.1 changelogs 2020-06-21 10:22:53 -07:00
Simon Michael
128836f6f8 ;changelogs 2020-06-20 18:24:15 -07:00
Simon Michael
06c174b236 ;valuation: doc edits 2020-06-19 17:17:49 -07:00
Simon Michael
fae1cc262e ;regen manuals 2020-06-19 14:47:41 -07:00
Simon Michael
e3cae4aadc valuation: implement new --infer-value flag & semantics (#1239, #1253) 2020-06-19 14:40:20 -07:00
Simon Michael
e143ad2695 ;valuation: doc specifying new proposed behaviour (#1239, #1253) 2020-06-19 14:40:17 -07:00
Simon Michael
06d5014f5f ;lib: multibalancereport: apply debug output policy 2020-06-16 21:00:08 -07:00
Martin Michlmayr
7310951178 doc: fix typos 2020-06-16 19:13:18 -07:00
Simon Michael
684cb45e1a tweak debug levels, document some guidelines
Beginnings of a project-wide policy for what output to show at
each debug level, for now. Later we'll want more flexibility,
eg filtering by topic.
2020-06-14 17:17:09 -07:00
Simon Michael
a384041f7c ;doc: valuation: clarify that -V requires P directives (#1239, #1253) 2020-06-14 15:41:48 -07:00
Dmitry Astapov
802378999f cli: changes to "hledger print -O csv" output 2020-06-13 16:26:27 -07:00
Simon Michael
6711e47c7c ;doc: valuation: more edits 2020-06-13 14:15:01 -07:00
Simon Michael
c8773854f0 ;doc: valuation: more cleanup 2020-06-13 12:41:02 -07:00
Simon Michael
07bda4105f ;doc: valuation: tweak 2020-06-13 12:30:13 -07:00
Simon Michael
558abf4bd7 ;doc: valuation: simplify 2020-06-13 12:25:17 -07:00
Simon Michael
4e182e651b ;doc: valuation: clarify this section; note a recent change
Note that default valuation commodity is now chosen from the latest
suitable P directive on any date, not just before the valuation date.
2020-06-13 12:20:55 -07:00
Simon Michael
03b4b2dedc journal: default valuation commodity comes from P directives only (#1239, #1253) 2020-06-12 21:25:38 -07:00
Simon Michael
dfccfe33c1 ;cli, web: relnotes: add some missing names/item 2020-06-09 15:54:08 -07:00
Simon Michael
729e87066f ;cabal files 2020-06-07 13:00:40 -07:00
Simon Michael
aee6b49d36 ;bump date in changelogs, installer 2020-06-07 12:45:55 -07:00
Simon Michael
b389ee98dd ;update tested-with 2020-06-07 11:59:36 -07:00
Simon Michael
e8e27821d9 ;finalise changelogs 2020-06-07 11:51:40 -07:00
Simon Michael
09b6d44562 ;manuals 2020-06-06 17:21:18 -07:00
Simon Michael
a54376e204 ;regen cabal files 2020-06-06 17:20:13 -07:00
Simon Michael
19020939c9 ;bump versions to 1.18 2020-06-06 17:18:15 -07:00
Simon Michael
fa077415d4 ;edit changelogs 2020-06-06 16:53:41 -07:00
Simon Michael
b86ced5ee9 lib: replace jsonPrettyText with toJsonText in Hledger.Data.Json 2020-06-06 12:54:58 -07:00
Simon Michael
5757c386d8 ;draft changelogs 2020-06-05 15:18:23 -07:00
Simon Michael
e5a0bddbe6 ;regen manuals 2020-06-05 14:44:37 -07:00
Simon Michael
88051b93ab ;cli: doc: regular expressions: fix special characters link 2020-06-05 07:24:33 -07:00
Stephen Morgan
be25fe360e lib: Parser now accepts .. as a synonym for to in date ranges. 2020-06-04 19:30:42 -07:00
Stephen Morgan
935abd1842 lib: Use .. in place of ,, for date ranges in compound balance reports. 2020-06-04 19:30:42 -07:00
Simon Michael
d1f62f0f2e print, reg, balcmds: show json output pretty-printed 2020-06-04 15:13:28 -07:00
Simon Michael
9bc8c5d668 ;cli: doc: json output seems not pretty printed right now 2020-06-04 13:59:26 -07:00
Dmitry Astapov
b7413edf22 lib: --forecast=PERIODICEXPR. Fixes #835, #1236 2020-06-03 15:53:00 -07:00
Simon Michael
8b0618ce4d ;cli: doc: not basically 2020-06-01 04:48:30 -07:00
Simon Michael
97f2235bca ;lib: refactor amount cost functions
Rename costOfAmount -> amountCost, costOfMixedAmount -> mixedAmountCost,
drop amountToCost, mixedAmountToCost.
2020-05-31 15:48:08 -07:00
Simon Michael
660ba7e1d9 lib: clarify zero-checking function names
isZeroAmount                -> amountLooksZero
isReallyZeroAmount          -> amountIsZero
isZeroMixedAmount           -> mixedAmountLooksZero
isReallyZeroMixedAmount     -> mixedAmountIsZero
isReallyZeroMixedAmountCost dropped
2020-05-29 18:57:22 -07:00
Dmitry Astapov
54300328cd cli: ability to pass arguments to getHledgerCliOpts + two example scripts 2020-05-27 04:58:57 -07:00
Simon Michael
9417ee625e ;regen manuals 2020-05-25 17:49:01 -07:00
Simon Michael
93154e9251 update and clean up valuation docs (#1239) 2020-05-25 17:45:31 -07:00
Dmitry Astapov
cbacef21eb lib: multiBalanceReport derives query from ReportOpts 2020-05-25 15:50:14 -07:00
Simon Michael
61bec588d2 print,reg,balcmds: list output formats accurately in --help (#689)
Also:
- tweak the unsupported output format message
- Hledger.Cli.CliOptions no longer exports outputflags
2020-05-23 13:54:41 -07:00
Simon Michael
5f1a864c20 print,reg,balcmds: fix JSON output, which wasn't JSON (#689) 2020-05-23 13:30:22 -07:00
Simon Michael
4706b8cb00 ;regex doc tweaks 2020-05-10 13:15:15 -07:00
Simon Michael
24209a952c ;regex doc tweaks 2020-05-10 13:13:51 -07:00
Simon Michael
71111148ed ;regex doc tweaks 2020-05-10 13:11:53 -07:00
Simon Michael
f167c223a2 ;csv: emphasize regular expressions features and doc 2020-05-10 13:03:09 -07:00
Simon Michael
e5ed001ce8 ;doc: clarify when regexps do and do not support backreferences 2020-05-09 15:35:53 -07:00
Simon Michael
6935c46b2c ;regen cabal files with latest stack/hpack (2.3.1/0.33.0) 2020-05-02 17:31:35 -07:00
Simon Michael
9dc015d974 ;doc: typo 2020-04-29 11:01:27 -07:00
Simon Michael
c0dc71ae25 ;doc: update the locale troubleshooting doc 2020-04-29 10:59:08 -07:00
Simon Michael
9cdf2953da ;api, ci: drop old embedded doc symlinks, should fix CI 2020-04-20 18:25:08 -07:00
Simon Michael
df92c36679 ;changelogs 2020-04-19 14:45:07 -07:00
Simon Michael
a016a43785 cli: fix hiding of redundant source scripts when a .com/.exe exists
Related to #1225.
2020-04-15 11:33:38 -07:00
Simon Michael
3b59a95a54 ;cli, journal: doc: consistent heading capitalisation, whitespace 2020-04-08 21:14:38 -07:00
Simon Michael
fedde7fab1 journal: also support the total lot price variants ({{}}, {{=}}) 2020-04-08 19:18:39 -07:00
Simon Michael
5beeb56a87 ;journal: document improved lot price parsing; changelog 2020-04-08 19:02:24 -07:00
Simon Michael
898cda4ee5 ;changelogs 2020-04-06 18:38:38 -07:00
Simon Michael
e7e9f1ee3b ;doc: cli: troubleshooting: mention C.UTF-8 2020-03-27 14:41:12 -07:00
Simon Michael
b6e4a1bdc0 ;doc: cli: troubleshooting: clarify locale spelling a bit 2020-03-27 13:37:06 -07:00
Simon Michael
293e2d81d1 ;changelogs 2020-03-25 18:42:26 -07:00
Simon Michael
d868a7e170 ;update cabal files 2020-03-22 10:49:49 -07:00
Simon Michael
c6951bf7c6 ;doc: more tweaks to package readmes, hackage descriptions 2020-03-22 10:49:02 -07:00
Simon Michael
40d3a5c1f4 ;update cabal files 2020-03-22 09:28:10 -07:00
Simon Michael
9ca8d7cea9 ;update tested-with 2020-03-22 09:27:50 -07:00
Simon Michael
d59ccb260b ;doc: consistent markdown readmes for packages, part 2 2020-03-22 09:27:34 -07:00
Simon Michael
617c2ecbc5 ;doc: consistent markdown readmes for packages 2020-03-22 09:07:47 -07:00
Simon Michael
1a606870ca ;regen docs 2020-03-19 16:05:52 -07:00
Simon Michael
35ba2e4e9e ;bal: doc: recommend using the same commodity for budget goals 2020-03-19 16:03:58 -07:00
Simon Michael
6e37d11bdd ;changelogs: typo, fix hledger-web item 2020-03-19 14:26:55 -07:00
Simon Michael
9631ca561c ;update changelogs "high water marks" 2020-03-19 14:09:37 -07:00
Simon Michael
4191aad049 ;update changelogs from release branch 2020-03-19 14:07:53 -07:00
Simon Michael
96b4f0be4f require newer Decimal, math-functions, fixing inconsistent rounding
Decimal 0.5.1+ changed to banker's rounding (round to nearest even
number), and math-functions 0.3.3.0 (used by roi) fixed various
precision-related issues. Now we require the latest versions of these.
This was causing some functional test failures when building with old
GHCs/snapshots.
2020-03-19 10:10:55 -07:00
Simon Michael
cf7de57836 ;update changelogs 2020-03-18 16:17:13 -07:00
Simon Michael
70e85d8e4b ;doc: regen manuals
[ci skip]
2020-03-07 15:06:39 -08:00
Simon Michael
1883ff4499 bump to dev version 2020-03-07 15:06:18 -08:00
Simon Michael
5639b47d85 ;ci: use --pedantic for all; fix a warning with unit test suites 2020-03-07 14:43:50 -08:00
Simon Michael
7ad0f9dd6d ;lib, cli: fix success-hiding in unit test suites 2020-03-07 14:10:22 -08:00
Simon Michael
5ab31f1111 ;lib, cli: hide successes in unit test suites' output 2020-03-07 04:00:55 -08:00
Stephen Morgan
702c958487 lib: Replace some utility functions with library functions. 2020-03-02 12:45:30 -08:00
Simon Michael
6dfdc2bee8 ;one more cabal file update. Not in hackage tarballs. 2020-03-01 17:42:20 -08:00
Simon Michael
07a05d5c76 ;doc: finalise changelogs
More cleanup needed, but time's up.

[ci skip]
2020-03-01 17:33:18 -08:00
Simon Michael
061bf73b61 ;doc: regen manuals
[ci skip]
2020-03-01 17:29:01 -08:00
Simon Michael
ba44d00bed ;bump version to 1.17 2020-03-01 17:29:01 -08:00
Simon Michael
889767f1bd ;bump tested-with
[ci skip]
2020-03-01 17:28:43 -08:00
Simon Michael
04fb132496 ;doc: draft changelogs
[ci skip]
2020-03-01 16:44:28 -08:00
Simon Michael
2c8a6e988f lib: Hledger.Read.CsvReader cleanup
Exports added: CsvRecord, CsvValue, csvFileFor

Exports removed: expandIncludes, parseAndValidateCsvRules, transactionFromCsvRecord
2020-02-27 23:37:32 -08:00
Simon Michael
3aebf03864 ;doc: json tweaks
[ci skip]
2020-02-26 11:48:09 -08:00
Simon Michael
a33a9d61c2 json: use a simpler, more consumable number representation (#1195)
Amounts in JSON are now rendered as simple Numbers with up to 10
decimal places, instead of Decimal objects which would in some cases
have 255 digits, too many for most JSON parsers to handle.
A provisional fix, see the comment in Json.hs for more detail.
2020-02-26 11:48:09 -08:00
Simon Michael
4c321cee4a ;doc: update output dest/format docs; add notes about JSON
[ci skip]
2020-02-25 09:25:48 -08:00
Simon Michael
2a5f7819af bs,cf,is,bal,print,reg: support json output format 2020-02-24 17:49:53 -08:00
Simon Michael
bc9bdf8108 ;print: refactor, drop unneeded ropts tweak 2020-02-24 17:49:53 -08:00
Simon Michael
7f16d23898 ;refactor: extract --value=then error message 2020-02-24 17:49:53 -08:00
Simon Michael
8b520b5c3e bs,cf,is,bal,print,reg: reject invalid output formats 2020-02-24 17:49:45 -08:00
Simon Michael
7ec25da13a web: edit/upload: normalise line endings, avoiding parse errors (#1194)
Renamed: writeValidJournal -> writeJournalTextIfValidAndChanged

Added comments clarifying line ending behaviour of:
add, import, appendToJournalFileOrStdout, readFilePortably,
writeFileWithBackupIfChanged, writeJournalTextIfValidAndChanged

Summary of current behaviour:

- hledger add and import commands will append with (at least some)
  unix line endings, possibly causing the file to have mixed line
  endings

- hledger-web edit and upload forms will write the file with
  the current system's native line endings, ie changing all
  line endings if the file previously used foreign line endings.
2020-02-24 14:04:44 -08:00
Simon Michael
696ec4998b ;doc: regen help/manuals
[ci skip]
2020-02-22 11:40:41 -08:00
Simon Michael
b9b5702946 ;doc: add hledger-ui note to --forecast help (#1193)
[ci skip]
2020-02-22 11:40:41 -08:00
Simon Michael
e8e1566083 ;bal: doc: document --transpose; remove obsolete limitation note
[ci skip]
2020-02-20 10:02:02 -08:00
Simon Michael
bd0753101e bs, cf, is: in csv output, subreport headings had two excess columns 2020-02-12 10:48:04 -08:00
Simon Michael
dad4d9b662 print: be sure to value all postings; -V/-X/--value now imply -x
Previously -B implied -x; now any of the valuation flags do.
This avoids a bug where print -V of a transaction with an implicit
commodity conversion would convert only some of its postings to value.

Also, more valuation tests.
2020-02-10 12:41:36 -08:00
Mateus Furquim
05814e6fe7 Fix extra $ symbol 2020-02-10 10:18:20 -08:00
Simon Michael
af73547615 ;print, register: doc: some corrections to --value=then's effects
[ci skip]
2020-02-10 08:40:50 -08:00
Simon Michael
aa96b41efe print, register: add --value=then, valuing at each posting's date
Currently this will give an error with other kinds of report.
2020-02-10 08:20:39 -08:00
Simon Michael
4d94a5273b ;doc: manuals: whitespace cleanup
Remove a bunch of trailing whitespace with M-x whitespace-cleanup.
Except for examples showing hledger output, which might be tested
with shelltest some day, so stripping that whitespace might be problematic.

[ci skip]
2020-02-08 12:44:54 -08:00
Simon Michael
98d0cc9c17 ;doc: regen manuals
[ci skip]
2020-02-08 11:56:03 -08:00
Simon Michael
54e633e186 ;doc: hledger, journal, csv: consistent use of pipe tables
For consistency, ease of editing, and to fix unwanted content display
when cycling visibility in markdown-mode.

[ci skip]
2020-02-08 11:52:18 -08:00
Simon Michael
ea4b69db32 ;doc: hledger: markdown note
[ci skip]
2020-02-08 11:40:40 -08:00
Simon Michael
e3ab3b9985 ;doc: regen all manuals, bumping month
[ci skip]
2020-02-08 11:20:25 -08:00
Simon Michael
078e9c8e9c ;doc: hledger: merge examples, options, commands files
[ci skip]
2020-02-08 11:15:27 -08:00
Simon Michael
d60b053e11 ;doc: regen manuals
[ci skip]
2020-02-08 11:11:40 -08:00
Simon Michael
e52a6281fb ;doc: hledger: inline troubleshooting, cleanups, m4 docs
[ci skip]
2020-02-08 11:10:23 -08:00
Simon Michael
9a52523438 ;doc: hledger: not git commit -am, just -m
[ci skip]
2020-02-07 16:44:52 -08:00
Simon Michael
8c5aa130e7 ;doc: hledger: reorder OPTIONS sections, move one to COMMON TASKS
[ci skip]
2020-02-07 12:14:43 -08:00
Simon Michael
202d2e945b ;doc: regen manuals
[ci skip]
2020-02-07 12:14:08 -08:00
Simon Michael
fd64d7bb3a ;doc: regen manuals
[ci skip]
2020-02-07 10:45:57 -08:00
Simon Michael
6878f74174 ;doc: hledger: write the new examples (Common Tasks) section
Examples are tested and should be correct.

[ci skip]
2020-02-07 10:42:57 -08:00
Simon Michael
743a63c319 ;doc: consolidate hledger manual a bit 2020-02-06 17:52:37 -08:00
Simon Michael
659a034393 ;doc: makde some comments less like markdown headings
[ci skip]
2020-02-05 19:32:38 -08:00
Simon Michael
6830139b70 ;checkdupes: help: fix link 2020-01-28 09:20:42 -08:00
Simon Michael
7011160bfd ;allow base 4.14/GHC 8.10 2020-01-26 08:12:25 -08:00
Simon Michael
b1de2f2308 ;doc: drop redundant version message from web manuals
[ci skip]
2020-01-25 19:33:12 -08:00
Simon Michael
24c6828a5c ;doc: regen manuals
[ci skip]
2020-01-25 17:10:34 -08:00
Simon Michael
444c4342ed ;doc: manuals: hide NAME/SYNOPSIS/DESCRIPTION headings in web manuals
[ci skip]
2020-01-25 16:57:51 -08:00
Simon Michael
a6ec6b40da ;doc: manuals: tweak standard description, make hledger's consistent
[ci skip]
2020-01-25 16:55:58 -08:00
Simon Michael
f1f32e8341 ;close: doc: cleanups, remove dangerous >> example (#1165)
[ci skip]
2020-01-22 15:32:36 -08:00
Simon Michael
b4ced3188e ;doc: regen manuals
[ci skip]
2020-01-22 15:22:56 -08:00
Simon Michael
5ba3cc6f42 close: regularise the --open*/--close* flags for memorability (#1165)
--closing -> --close
--opening -> --open
--close-to -> --close-acct
--open-from -> --open-acct

The old flags are still accepted for backward compatibility, but are
not shown in --help or docs, to conserve screen and brain space.
2020-01-22 15:19:24 -08:00
Simon Michael
cda8909aae close: don't repeat the description by default (#1165)
You'll almost certainly want the opening/closing descriptions to be
different, for filtering, so making --close-desc and --open-desc fully
independent is a better default.

And more doc cleanups.
2020-01-22 15:04:05 -08:00
Simon Michael
ceedcb1a18 ;doc: regen manuals
[ci skip]
2020-01-22 14:50:21 -08:00
Simon Michael
458de89aae ;close: doc tweaks
[ci skip]
2020-01-22 14:42:01 -08:00
Simon Michael
f14ae7df3a ;doc: regen manuals
[ci skip]
2020-01-22 14:41:08 -08:00
Simon Michael
72d0190d1d ;close: doc tweaks
[ci skip]
2020-01-22 14:40:20 -08:00
Simon Michael
d93c69146d ;doc: regen manuals
[ci skip]
2020-01-22 14:30:50 -08:00
Simon Michael
f1110d163d close: --close-desc/--open-desc customise the descriptions (#1165) 2020-01-22 14:30:12 -08:00
Simon Michael
4bb840a0f3 close: use the same default equity account for both (#1165)
And some doc cleanups.

"equity:opening/closing balances" is now the default account for both.
2020-01-22 14:29:31 -08:00
Simon Michael
9710c86c7f ;doc: regen manuals
[ci skip]
2020-01-22 12:52:41 -08:00
Simon Michael
7500002ee5 close: hide equity amounts by default, for simpler entries (#1165)
-x/--explicit shows them, as with print.
2020-01-22 12:52:16 -08:00
Simon Michael
2645b76ff0 close: hide prices by default, show them with --show-costs (#1165)
close no longer preserves costs, generating huge entries when there
are many foreign currency/investment transactions, unless you ask it to.
2020-01-22 12:52:01 -08:00
Simon Michael
dee9c0f150 ;close: --close-to also sets --open-from and vice versa (#1165) 2020-01-22 08:52:20 -08:00
Simon Michael
aa8c18fcc8 ;close: refactor (#1165) 2020-01-22 08:34:13 -08:00
Simon Michael
42840dd4c2 ;close: dedent (#1165) 2020-01-22 08:27:01 -08:00
Simon Michael
98b90a8a7b ;close: cleanups (#1165) 2020-01-22 08:26:59 -08:00
Simon Michael
090f65ec83 ;doc: regen manuals
[ci skip]
2020-01-20 18:02:42 -08:00
Simon Michael
69bc8f803b close: fix some inappropriate rounding, ensure the txn balances (#1164) 2020-01-20 18:01:33 -08:00
Simon Michael
1e9f30bafc close: add the --interleaved flag; refactor a little
Interleaved equity postings make troubleshooting easier.
2020-01-20 18:01:29 -08:00
Simon Michael
9bd7a713f9 ;print: expand -x doc, mention that it also shows prices
[ci skip]
2020-01-20 12:58:47 -08:00
Simon Michael
42dfde141a ;doc: changelogs: update from 1.16.2, cleanups 2020-01-14 11:19:05 -08:00
Simon Michael
dba0b117f4 ;doc: draft changelogs 2020-01-14 10:08:59 -08:00
Simon Michael
445e8aa3cc add support for megaparsec 8 (#1175) 2020-01-14 09:54:06 -08:00
Brian Wignall
473b3376ab ;doc: update shell output in hledger*/*.m4.md to use ISO date formatting 2020-01-13 12:32:41 -08:00
Brian Wignall
24026d629a Change "showEndDates" formatting to yyyy-mm-dd in CompoundBalanceCommand 2020-01-07 15:58:54 -08:00
Brian Wignall
00eb0b3c8f Make "stack test" pass again 2020-01-07 15:58:22 -08:00
Brian Wignall
35481a665b Change Date output to yyyy-mm-dd 2020-01-07 15:58:22 -08:00
Aleksandar Dimitrov
8df4e1ed83 Remove --separator command line argument 2020-01-05 14:45:57 -08:00
Simon Michael
65d0fda245 ;doc: regen manuals
[ci skip]
2020-01-05 10:54:11 -08:00
Simon Michael
2101939345 ;doc: update arg file doc, note syntax limitations
[ci skip]
2020-01-05 10:53:22 -08:00
Simon Michael
07029047f5 ;doc: regen manuals again
[ci skip]
2020-01-05 09:17:02 -08:00
Simon Michael
cfb2a61ae1 ;bump to dev version; bump man page dates
[ci skip]
2020-01-05 09:04:50 -08:00
Simon Michael
4a7a700d93 ;doc: fix flags marker appearing in manuals
$FLAGS$ didn't work (nor =FLAGS=); _FLAGS it is..

[ci skip]
2020-01-05 07:41:01 -08:00
Simon Michael
f91076cc6a ;doc: regen manuals
I think all the non-content changes are due to newer
doc tools and harmless, including this one hopefully:

    -.B \f[C]--watch\f[R]
    +\f[B]\f[CB]--watch\f[B]\f[R]

[ci skip]
2020-01-05 07:06:42 -08:00
Simon Michael
c186eb6084 ;doc: change flags marker in command helps to suit latest pandoc
From _FLAGS_ to $FLAGS$, since latest pandoc strips the underscores
at a certain point in our docs rendering.
2020-01-04 21:17:51 -08:00
Stephen Morgan
228edf6ba6 Don't store leaf name in PeriodReport.
Calculate at the point of consumption instead.
2020-01-04 21:15:42 -08:00
Stephen Morgan
8882b6fc85 cli: Use PeriodicReport. 2020-01-04 17:23:17 -08:00
Stephen Morgan
74778efcf5 Use nubSort instead of nub . sort. 2020-01-04 08:31:10 -08:00
Brian Wignall
2852f9dbee Fix typos 2019-12-21 12:09:05 -08:00
Gaith Hallak
9b6652b93f Update the instructions for the add command 2019-12-18 23:24:10 +03:00
Gaith Hallak
e1bbefbd1b Remember the previously entered values when stepping forward 2019-12-18 23:14:43 +03:00
Gaith Hallak
ee18227a12 Show the previous input in the input area after the back command 2019-12-18 19:53:45 +03:00
Gaith Hallak
6f26eef832 Change the '<' command to go back one step during addition 2019-12-18 00:38:29 +03:00
Simon Michael
46d516e7a3 move JSON instances from hledger-web to hledger-lib 2019-12-16 17:17:00 -08:00
Simon Michael
5a19d604b6 ; sort commands list 2019-12-16 16:32:26 -08:00
Simon Michael
47567cd770 ;fix some warnings with GHC 8.10 alpha
hledger is GHC 8.10 ready!
2019-12-14 17:30:19 -08:00
Simon Michael
4d20ce2ee0 ;doc: cli: update addons list, drop builtin ones 2019-12-09 13:55:16 -08:00
Simon Michael
95aa2e16cc ;doc: fix some old wiki and Cookbook references (hledger_site/#10) 2019-12-09 06:08:03 -08:00
Simon Michael
13e6c7dfdf lib: drop "assertion" alias for nullassertion
Perhaps we'll stick with the null* convention. Fixes a warning in Transaction.hs.
2019-12-09 06:08:03 -08:00
Simon Michael
9d6db33278 close: doc: mention --close-to/--open-from in the manual
[ci skip]
2019-12-06 12:27:07 -08:00
Simon Michael
f319bef945 ;doc: whitespace change to test web hooks
[ci skip]
2019-12-03 12:49:05 -08:00
Simon Michael
0866b30838 ;doc: whitespace change to test web hooks
[ci skip]
2019-12-03 12:44:50 -08:00
Simon Michael
38d64a6f79 ;doc: whitespace change to test web hooks
[ci skip]
2019-12-03 12:43:13 -08:00
Simon Michael
46ac93cf5a ;doc: whitespace change to test web hooks
[ci skip]
2019-12-03 12:34:56 -08:00
Simon Michael
ace867d7ed ;doc: whitespace change to test web hooks
[ci skip]
2019-12-03 12:33:41 -08:00
Simon Michael
592e0125fe ;doc: whitespace change to test web hooks
[ci skip]
2019-12-03 12:33:08 -08:00
Simon Michael
4efe397ba4 ;doc: whitespace change to test web hooks
[ci skip]
2019-12-03 12:31:15 -08:00
Simon Michael
c54c15fccd ;cli: doc: drop changelog whitespace
[ci skip]
2019-12-03 12:28:59 -08:00
Simon Michael
5a2bcecf26 ;doc: finalise changelogs 2019-12-03 08:41:44 -08:00
Simon Michael
06b70194c0 ;doc: regen manuals 2019-12-03 08:41:44 -08:00
Simon Michael
093dca570d lib, cli, web: bump version to 1.16.1 2019-12-03 08:41:44 -08:00
Simon Michael
6ae837f820 ;doc: changelogs 2019-12-03 08:41:44 -08:00
Simon Michael
13f95327e3 ;doc: clarify changelog item for #1085 2019-12-03 08:41:44 -08:00
Simon Michael
e032eff8eb ;doc: changelog updates 2019-12-02 08:59:58 -08:00
Simon Michael
35e70e8f36 ;cli: doc: rewrite CSV changelog entries 2019-12-02 08:58:26 -08:00
Simon Michael
0ce890e5ff lib, cli, web: drop unnecessary mtl-compat dependency 2019-12-02 08:23:00 -08:00
Simon Michael
a0b92e02b9 Revert "remove old fail compatibility imports that are obsolete ?"
They are needed with ghc <8.4, not for fail but for <> I think.
Try cleaning up again another time.
This reverts commit 318ce7eb07.
2019-12-01 11:32:51 -08:00
Simon Michael
d922b6e798 ;doc: regen manuals 2019-12-01 10:12:29 -08:00
Simon Michael
6daebf60ea ;regen cabal files 2019-12-01 10:05:37 -08:00
Simon Michael
87d0491103 ;bump version to 1.16 2019-12-01 10:03:58 -08:00
Simon Michael
c90c0867c4 ;doc: changelogs
[ci skip]
2019-12-01 09:59:01 -08:00
Simon Michael
318ce7eb07 remove old fail compatibility imports that are obsolete ? 2019-12-01 08:31:50 -08:00
Simon Michael
5b6dbe86b3 close: don't strip decimal zeros, causing misparsing (fix #1137) 2019-11-30 16:58:54 -08:00
Simon Michael
359a118900 ;doc: draft changelog updates
[ci skip]
2019-11-29 07:57:54 -08:00
Simon Michael
caf8cdf0ca ;test: consistent singular naming for test suites and files 2019-11-29 06:35:29 -08:00
Simon Michael
c7574b8005 ;lib, cli: test suite cleanups, don't run hledger-lib tests twice 2019-11-29 06:11:25 -08:00
Simon Michael
2b2a0b3cf8 ;tests: use "test" alias for testCase everywhere
Easier to type and read, and a little clearer to my eyes;
"testCase" implies a single case, but it can contain many assertions.
2019-11-28 15:33:33 -08:00
Simon Michael
57a534a42f ;cli: drop obsolete test-framework dep 2019-11-28 15:06:52 -08:00
Simon Michael
ebedae01cf ;cabal: remove special cases for unsupported GHC 7 2019-11-28 14:59:18 -08:00
Simon Michael
08951ac3e8 ;cabal: add ghc 8.8 to tested-with
[ci skip]
2019-11-28 14:59:10 -08:00
Simon Michael
843d394077 cli, ui, web: support GHC 8.8, add stack-ghc8.8.yaml (#1090)
hledger-web needs an unreleased version of json.
2019-11-28 14:31:48 -08:00
Simon Michael
5dac8af2ef ;ui: fix build error due to tests rewrite 2019-11-27 21:54:31 -08:00
Simon Michael
4ab5896902 close: add --close-to, --open-from to choose account names 2019-11-27 14:19:44 -08:00
Simon Michael
4faefcfab2 ;doc: regen manuals
[ci skip]
2019-11-27 13:18:08 -08:00
Simon Michael
91a3b03359 ;test: update command line help 2019-11-27 13:17:34 -08:00
Simon Michael
b36f6df110 tests: port all unit tests to tasty, second pass (#1090)
Hledger.Util.Tests helpers have been cleaned up, and test names are
now shown.

Tests have been cleaned up a bit. Some groups of unnamed tests have
been collapsed into a single named test containing a sequence of
assertions. The test command counts named tests, not assertions, so
the reported unit test count has dropped from 199 to 188.
2019-11-27 13:17:34 -08:00
Simon Michael
13a3542464 tests: port all unit tests to tasty, first cut (#1090)
easytest is not actively maintained and requires an old version of
hedgehog which does not support base-compat 0.11 & ghc 8.8.

This is still using the old easytest helpers, and not displaying test
names properly.
2019-11-27 12:43:43 -08:00
Amitai Burstein
e15adddeb8 Add exit status code to check-dates 2019-11-23 13:43:47 -08:00
Simon Michael
e893c9c107 ;doc: regen manuals
[ci skip]
2019-11-23 11:33:55 -08:00
Brian Wignall
f8269e21ab Fix some simple typos 2019-11-20 13:33:33 -08:00
Simon Michael
a0d012a50c ;cli: use the test suites recompilation workaround here too (#1125)
Applying the same workaround used in the hledger-lib test suites, to
hledger's test & benchmark suites. It seems only a single other-module
was being added here (Paths_hledger.hs), but this may add a little speed
and prevent greater slowdowns in future.
2019-11-19 04:17:23 -08:00
Mykola Orliuk
6dbe925eed cli: anonymize transaction code also 2019-11-18 17:42:22 -08:00
Mykola Orliuk
0a273561f7 cli: anonymize declared accounts also
Fixes simonmichael/hledger#901
2019-11-18 17:42:22 -08:00
Mykola Orliuk
5287fe671b ;all: hide RawOpts internals
This way we can ensure we always use only functions from RawOptions.
2019-11-18 17:38:39 -08:00
Mykola Orliuk
8991419c68 ;all: drop dummy decodeRawOpts 2019-11-18 17:38:39 -08:00
Mykola Orliuk
31ae3d3aaf ;lib: drop SystemString left from GHC pre 7.2
We are relying on base-4.9 or newer. Thus we don't compile anymore with
GHC version lower than 8.0.1.
2019-11-18 17:38:39 -08:00
Simon Michael
68b1cacf0f lib: refactor, prepare to drop showTransactionUnelided functionality
It seems we don't use it at all, and ony says it's not robust with
prices either.

Merge remote-tracking branch 'ony/chores/drop-elide-in-showTransaction'
2019-11-18 17:27:30 -08:00
Simon Michael
69ee21cf16 ;doc: regen manuals
[ci skip]
2019-11-18 17:14:06 -08:00
Michael Kainer
79ca4a767e cli: Add -% to compound balance commands
This commit introduces the commandline argument -%/--percent to show
percentages of the column's total instead of the absolute amounts for
each account in reports. The signs of the values are preserved.

This option is especially useful for the balance and incomestatement
commands.

If there are multiple commodities involved in a report hledger bails
with an error message. This can be avoided by using --cost. Also note
that if one uses -% with the balance command the chances are high that
all numbers are 0. This is due to the fact that by default balance sums
up to zero. If one wants to use -% in a meaningful way with balance one
has to add a query.

In order to keep the implementation as simple as possible --tree has no
influence over how the percentages are calculated, i.e., the percentages
always represent the fraction of the columns total. If one wants to know
the percentages relative to a parent account, one has to use a query to
narrow down the accounts.
2019-11-18 17:10:59 -08:00
Dmitry Astapov
87b82b6839 lib: roi does not fail on empty input data (+test) 2019-11-18 16:13:04 -08:00
Mykola Orliuk
ab9c150759 ;lib: clean out showTransactionUnelided
Keep aliases until next major release.
2019-11-16 12:53:07 +01:00
Brian Wignall
0ce7e811ba Fix two small typos 2019-11-10 13:54:48 -08:00
Simon Michael
3f530f5b54 ;doc: update changelogs, including #1095
[ci skip]
2019-11-07 16:37:03 -08:00
Simon Michael
445adbe9d1 ;doc: regen manuals
[ci skip]
2019-10-23 12:30:27 -07:00
Simon Michael
cfc00070a1 ;doc: fix output destination/format links in command docs
[ci skip]
2019-10-23 12:29:17 -07:00
Simon Michael
312e772468 prices: style price amounts; always show full precision 2019-10-20 07:09:34 -07:00
Mykola Orliuk
78146978f4 ;lib: store raw opts unquoted
It looks like we only need quote when we build query and in some
messages.

Fixes simonmichael/hledger#1079
2019-10-19 14:44:08 -07:00
Simon Michael
9967ead4c5 ;lib: let commodityStylesFromAmounts & co. return an error (#793, #1091)
And if they did, the stats command would now throw an error.

Changed:
journalApplyCommodityStyles
journalInferCommodityStyles
commodityStylesFromAmounts
2019-09-27 15:09:39 -10:00
Simon Michael
24ce2686f4 drop GHC 7.10/base 4.8 support, finally, due to MonadFail hassles
in JournalReader.hs. If you still need this, feel free to work on
those errors. But hopefully not, because dropping base 4.8 should
permit some code cleanups.
2019-09-14 03:45:37 -07:00
Simon Michael
977d4f009e lib, cli: disable hledger-lib test suites, hledger benchmark suite
by default. hledger-lib's doctests and easytests test suites (each ?)
require an additional slow rebuild of hledger-lib and are not worth
the time, energy and carbon. hledger's test suite runs those same
easytest tests (but not the doctests).
2019-09-14 03:45:37 -07:00
Simon Michael
a0deb88796 ;doc: regen manuals
[ci skip]
2019-09-13 11:00:03 -07:00
Simon Michael
867ccb31d5 ;import: drop inconsistent period 2019-09-13 09:07:18 -07:00
Simon Michael
bf1e398ffd ;import: with --dry-run the no txns case should be parseable too 2019-09-13 09:02:32 -07:00
Simon Michael
f65fc47185 ;bump version to 1.15.99
[ci skip]
2019-09-13 08:43:33 -07:00
Simon Michael
e851bdf834 ;doc: changelogs
[ci skip]
2019-09-13 08:43:33 -07:00
Simon Michael
af21ae6eb6 ;doc: regen manuals
Wrapping and hyphenation has changed again, which I thought would
be more stable now with same tool versions on laptop and server.
Who knows.
2019-09-13 08:43:33 -07:00
Simon Michael
edaf92db5e import: message cleanups, mention input files
Only the --dry-run message needs the semicolon, so dry run output can
be piped into hledger.
2019-09-13 08:43:33 -07:00
Simon Michael
807273d9de import: --catchup marks all transactions imported, without importing 2019-09-13 08:43:33 -07:00
Simon Michael
35a90004ca import: also show a message when nothing was imported 2019-09-13 08:43:33 -07:00
Simon Michael
dfc0095fed import: create the journal if missing, like the add command
Streamlines import/migration instructions.
2019-09-13 08:43:33 -07:00
Simon Michael
2bb6e25390 ;api: also fix hledger's cabal file 2019-09-11 14:53:55 -07:00
Simon Michael
4db14ef70f ;api: another round of hledger-api purging; fix the build 2019-09-11 14:49:22 -07:00
Simon Michael
9224cfcf50 ;doc: more "curses-style interface" -> "terminal interface"
[ci skip]
2019-09-10 18:20:20 -07:00
Simon Michael
acd7010e5a ;doc: "curses-style interface" -> "terminal interface"
[ci skip]
2019-09-10 18:14:16 -07:00
Simon Michael
ef04907484 ;doc: fix broken manual links in manuals source
[ci skip]
2019-09-10 17:02:56 -07:00
Simon Michael
538e97f3ac ;lib: clarify journalAddForecast doc (#835)
[ci skip]
2019-09-10 16:59:26 -07:00
Simon Michael
85d48a6b0e ;doc: regen manuals (on server)
Usually done on my laptop, but the toolchain on both machines should
produce the same result these days..

[ci skip]
2019-09-09 08:04:26 -07:00
Simon Michael
3b35e0afca ;site: manuals: fix many links that went to a prerelease manual
[ci skip]
2019-09-09 06:24:08 -07:00
Simon Michael
499e20c0b2 lib, cli, ui: start using Control.Monad.Fail, allow base-compat 0.11
fail is moving out of Monad and into it's own MonadFail class.
This will be enforced in GHC 8.8 (I think).

base-compat/base-compat-batteries 0.11.0 have adapted to this,
and are approaching stackage nightly
(https://github.com/commercialhaskell/stackage/issues/4802).

hledger is now ready to build with base-compat-batteries 0.11.0, once
all of our deps do (eg aeson). We are still compatible with the older
0.10.x and GHC 7.10.3 as well.

For now we are using both fails:

- new fail (from Control.Monad.Fail), used in our parsers, imported
  via base-compat-batteries Control.Monad.Fail.Compat to work with
  older GHC versions.

- old fail (from GHC.Base, exported by Prelude, Control.Monad,
  Control.Monad.State.Strict, Prelude.Compat, ...), used in easytest's
  Test, since I couldn't find their existing fail implementation to update.

To reduce (my) confusion, these are imported carefully, consistently,
and qualified everywhere as Fail.fail and Prelude.fail, with clashing
re-exports suppressed, like so:

import Prelude hiding (fail)
import qualified Prelude (fail)
import Control.Monad.State.Strict hiding (fail)
import "base-compat-batteries" Prelude.Compat hiding (fail)
import qualified "base-compat-batteries" Control.Monad.Fail.Compat as Fail
2019-09-08 17:13:47 -07:00
Simon Michael
89c3011df4 ;doc: 1.15.2 changelogs
[ci skip]
2019-09-05 15:35:59 -07:00
Simon Michael
7ae75022bf ;doc: regen manuals 2019-09-05 15:35:44 -07:00
Simon Michael
cd5af48165 lib, cli: bump version to 1.15.2 2019-09-05 15:35:19 -07:00
Simon Michael
ff41603a75 ;doc: valuation: also link to #1083
[ci skip]
2019-09-05 14:23:17 -07:00
Simon Michael
a7f172b085 valuation: -V/-X respects report end date, code/doc cleanups (#1083)
-V (and -X) now respects a report end date set with -e/-p/date: when
choosing the valuation date, similar to hledger 1.14 and Ledger.

This means that -V/-X aren't exactly like either --value=end or
--value=now. The "Effect of --value on reports" doc has been extended
accordingly, and much of it has been reworded and made more accurate.
2019-09-05 13:41:36 -07:00
Simon Michael
e73b7c2635 ;doc: document effect of valuation on reports more thoroughly
A column for -V/-X has been added (it differs in some cases, cf

[ci skip]
2019-09-04 19:16:57 -07:00
Simon Michael
1f3c3723db ;doc: cli: try to clarify valuation docs, note #1083
[ci skip]
2019-09-03 13:32:30 -07:00
Simon Michael
6d4d43dc62 ;lib, cli: fix 1.15.1 changelog heading
[ci skip]
2019-09-02 12:53:51 -07:00
Simon Michael
90e5a5f95b ;lib, cli: don't forget to commit the cabal file 2019-09-02 12:31:06 -07:00
Simon Michael
8148136e71 cli: note command docs omitted from 1.15, bump to 1.15.1 2019-09-02 12:26:48 -07:00
Simon Michael
ebacb20b5e ;doc: regen hledger plaintext manual too
[ci skip]
2019-09-02 11:58:10 -07:00
Simon Michael
16a3c96da0 ;doc: regen manuals
[ci skip]
2019-09-02 11:11:56 -07:00
Simon Michael
3654ac5239 ;doc: cli: clean up -V/-X a little
[ci skip]
2019-09-02 06:27:09 -07:00
Simon Michael
319f0e5224 ;doc: cli: tweak comments to avoid confusing markdown-mode
[ci skip]
2019-09-02 06:19:24 -07:00
Simon Michael
b2710c698c ;doc: cli: add missing commands to manual
commodities, descriptions, diff, notes, payees

[ci skip]
2019-09-02 06:16:52 -07:00
Simon Michael
9664194f20 ;doc: cli: drop obsolete comments
[ci skip]
2019-09-02 06:11:01 -07:00
Simon Michael
6703057050 ;doc: more changelog cleanups
[ci skip]
2019-09-01 09:59:51 -07:00
Simon Michael
ede6a51f08 ;doc: finalise changelogs
[ci skip]
2019-09-01 08:53:06 -07:00
Simon Michael
00f3ad8d3f ;doc: changelogs
[ci skip]
2019-09-01 08:53:06 -07:00
Simon Michael
b1859769ac ;doc: regen man pages
[ci skip]
2019-09-01 08:53:06 -07:00
Simon Michael
29f7654c3a bump versions to 1.15 2019-09-01 08:53:06 -07:00
Simon Michael
9cdbce288c ;descriptions/notes/payees: fix build warning 2019-08-31 18:36:03 -07:00
Simon Michael
c2736be4aa ;doc: changelogs
[ci skip]
2019-08-30 21:26:23 -07:00
Simon Michael
65692b0e36 ;doc: update link for lowercase filename
[ci skip]
2019-08-30 07:28:06 -07:00
Simon Michael
fd5dc7bc18 ;doc: fix some table rendering in the html manuals
[ci skip]
2019-08-26 09:37:03 -07:00
Simon Michael
da6718806a ;doc: don't add page TOCs any more, sphinx has it covered
[ci skip]
2019-08-26 09:37:03 -07:00
Simon Michael
4dc0e359dc help: don't require a journal file 2019-08-22 17:49:50 -07:00
Simon Michael
318a7ce234 reg: show negative amounts in red, like balance and Ledger 2019-08-21 07:11:55 +01:00
Simon Michael
8a7905ac73 ;doc: changelogs
[ci skip]
2019-08-19 12:03:54 +01:00
Simon Michael
5bc1e7746f stats: show count of market prices (P), and the commodities covered 2019-08-19 11:16:09 +01:00
Simon Michael
1cbbe8f43d memoise market valuation, making it fast (#999) 2019-08-19 02:16:39 +01:00
Simon Michael
7c2511aa29 bs: show end date(s) in title, not transactions date span (#1078)
Compound balance reports showing ending balances (eg balancesheet),
now show the ending date (single column) or range of ending
dates (multi column) in their title. ,, (double comma) is used
rather than - (hyphen) to suggest a sequence of discrete dates
rather than a continuous span.
2019-08-15 18:22:23 +01:00
Simon Michael
6796c9a080 cli: add missing extra dep 2019-07-26 23:40:58 +01:00
Simon Michael
8284c1042b ;doc: update command help txt files
[ci skip]
2019-07-26 23:25:52 +01:00
Simon Michael
8cde342432 tags: speedup: replace n^2 nub with n log n nubSort 2019-07-26 23:24:09 +01:00
Simon Michael
0b793bca1b tags: add --values flag 2019-07-26 23:18:21 +01:00
Simon Michael
2aa5bd1653 ;tags: mention pivot trick for listing tag values
[ci skip]
2019-07-26 22:19:27 +01:00
Simon Michael
67404fafe5 ;doc: changelog edit
[ci skip]
2019-07-26 22:19:27 +01:00
Simon Michael
25fa835d9a ;doc: more changelog edits
[ci skip]
2019-07-25 17:29:12 +01:00
Simon Michael
d53fb387be ;doc: more changelog edits, backtick-quote flags
[ci skip]
2019-07-25 12:43:59 +01:00
Simon Michael
c7f9356fd1 ;doc: edit changelogs
[ci skip]
2019-07-25 12:33:58 +01:00
Simon Michael
030a409dd3 ;doc: update changelogs
[ci skip]
2019-07-25 08:48:01 +01:00
Caleb Maclennan
11d9e5eb6a code: Strip extraneous trailing whitespace from Haskell sources 2019-07-15 16:40:49 +01:00
Caleb Maclennan
e68e558761 payees: Split command into descriptions, payees, and notes 2019-07-15 08:22:16 +01:00
Caleb Maclennan
5d42578137 payees: Output sorted results as in other similar commands 2019-07-15 08:22:16 +01:00
Simon Michael
f49a76e051 payees: get basic command working 2019-07-15 08:22:16 +01:00
Caleb Maclennan
e6b709cb01 payees: Add a module for handling payees command 2019-07-15 08:22:16 +01:00
Simon Michael
7d5f33441e ;doc: draft changelogs
[ci skip]
2019-07-12 23:24:10 +01:00
Simon Michael
a6e9b11a54 ;cabal: bump tested-with, regen cabal files
[ci skip]
2019-07-12 23:24:10 +01:00
Simon Michael
6c2398e4d7 close: preserve transaction prices (costs) accurately (#1035)
Transaction prices were being collapsed/misreported after close/open;
this is fixed. Now each separately-priced amount gets its own posting,
and only the last of these (for each commodity) gets a balance
assertion. Also the equity posting's amount is now always shown
explicitly, which in multicommodity situations means that multiple
equity postings are shown. The upshot is that a balance -B report
will be unchanged after closing & opening transactions.
2019-07-09 11:21:22 +01:00
Jakob Schöttl
8569b39771 Refactoring: qualified call to process function 2019-06-30 10:38:06 +02:00
Jakob Schöttl
2b01312004 Fix and update documentation on date options 2019-06-30 10:38:06 +02:00
Simon Michael
27c01e82b5 add: doc: mention the windows trailing-dot file path issue 2019-06-26 18:47:11 +01:00
Simon Michael
33d03284c3 ;valuation: more tests; document default amount style issue
[ci skip]
2019-06-17 08:19:23 -07:00
Simon Michael
5cb334514c ;lib: rename setMinimalPrecision -> setNaturalPrecision 2019-06-14 19:04:09 -07:00
Simon Michael
dd5afbb6fe ;doc, debug output tweaks (#131) 2019-06-13 15:50:01 -07:00
Simon Michael
ce0354ddbe lib: -X/--exchange now supports indirect price chains (#131)
Adds fgl as a dependency.
2019-06-13 15:50:01 -07:00
Simon Michael
692620180e ;lib: refactor: change AmountPrice to a Maybe
I've wanted to do this for a long time; now that prices are in flux,
seems a good time.
2019-06-13 15:50:01 -07:00
Simon Michael
adb6ee40eb lib: clarify price types (#131)
dropped journalPrices

renamed Price to AmountPrice,  AKA "transaction price"

renamed MarketPrice to PriceDirective.

added new MarketPrice (more pure form of PriceDirective without the amount style information)

Prices is now a more efficient data structure, but not used yet.
2019-06-13 15:50:01 -07:00
Simon Michael
e24c6292d0 lib: support -X/--exchange (direct/reverse prices only) (#131) 2019-06-13 15:50:01 -07:00
Simon Michael
50a52dd467 lib: --value can select commodity (via direct/reverse prices) (#131) 2019-06-13 15:50:01 -07:00
Simon Michael
289891cacf ;prices: note
[ci skip]
2019-06-02 08:48:41 -07:00
Simon Michael
faf85d91e3 cli: restore --aux-date and --effective as --date2 aliases (#1034)
These Ledger-ish spellings were dropped over the years, to improve
--help's layout. Now they work again, but are considered hidden flags
so --help doesn't show them automatically (but I decided to mention
them manually in --date2's description).
2019-06-02 08:48:41 -07:00
Simon Michael
4b004c2332 ; doc tweak
[ci skip]
2019-05-24 10:46:29 -07:00
Simon Michael
aa99743096 make -V do --value=end in multiperiod reports (#329) 2019-05-24 10:30:35 -07:00
Simon Michael
c95907cb78 ;doc: fix useful value report examples (#329)
[ci skip]
2019-05-23 22:39:05 -07:00
Simon Michael
5e54920160 ;regen embedded manuals 2019-05-23 22:26:43 -07:00
Simon Michael
9977739c76 bal etc.: replace --value=transaction with --value=cost (#329) 2019-05-23 21:55:18 -07:00
Simon Michael
2325ff4e08 ;doc: update --value docs (#329) 2019-05-23 21:55:17 -07:00
Simon Michael
f999bf78e6 opts: new -B/--cost, -V/--market, --value flags (#329) 2019-05-23 13:11:20 -07:00
Simon Michael
0b67df2d31 opts: shorten csv separator arg template 2019-05-23 00:36:59 -07:00
Simon Michael
e21afc466a bal/bs/bse: -H or --cumulative now disables -T (#329)
To reduce confusion, multiperiod balance reports using -H/--historical
or --cumulative, which show end balances, no longer show a Totals
column since summing end balances generally doesn't make sense.
Also the underlying MultiBalanceReport now returns zero for those
totals when in cumulative or historical mode.
2019-05-11 20:43:28 -07:00