Simon Michael
3a6955d3e2
dev: add stack9.4.yaml for building with latest nightly/ghc 9.4.3
2022-11-25 23:45:17 -05:00
Simon Michael
0b9c01253b
imp: ui: simplify screen names on menu screen
2022-11-08 12:39:20 -10:00
Simon Michael
a7620f3102
;doc: ui, web: show smaller screenshot thumbnails
2022-11-08 11:55:09 -10:00
Simon Michael
3724e77dad
;doc: ui: updates
2022-11-08 11:48:12 -10:00
Simon Michael
4a1d900c51
;doc: update manuals
2022-11-07 17:04:05 -10:00
Simon Michael
1f385ae774
;doc: ui: update navigation, clarify balances/changes
2022-11-07 17:03:48 -10:00
Simon Michael
a485a5ebe7
imp: ui: ENTER key is equivalent to RIGHT for navigation
2022-11-07 17:03:06 -10:00
Simon Michael
892eb06396
;dev: ui: replace "curses interface" with TUI
2022-11-07 16:48:54 -10:00
Simon Michael
479ef69d3f
dev: ui: convert tests to markdown, update
2022-11-07 16:36:26 -10:00
Simon Michael
6e5c30ea1a
;doc: update manuals
2022-11-07 16:18:28 -10:00
Simon Michael
82aa8f1975
imp: ui: bs/is screens: clarify balance/changes in header/footer
2022-11-07 16:10:56 -10:00
Simon Michael
a726be0e28
imp: ui: add flags to select starting screen
2022-11-07 16:04:39 -10:00
Simon Michael
1a526b82c9
imp: ui: debug log startup args, debug level, initial screen stack
2022-11-07 14:52:42 -10:00
Simon Michael
da569e51e1
imp: ui: improve debug logging helpers, log screen stack on each event
2022-11-07 14:51:45 -10:00
Simon Michael
05aeedf6c9
imp: ui: start on all accts scrn if no bs accts detected, or with an acct query
2022-11-07 09:42:21 -10:00
Simon Michael
1de60dd0c2
;doc: update manuals
2022-11-06 09:39:22 -10:00
Simon Michael
b0966adc93
dev: debug logging: ".log" suffix instead of ",logging"; improve docs
2022-11-06 09:01:12 -10:00
Simon Michael
9a8a8a75a2
imp: ui: start on balance sheet screen: better initial screen stack
2022-11-06 07:59:45 -10:00
Simon Michael
06bc09a36f
dev: comments
2022-11-06 07:59:45 -10:00
Simon Michael
4a35945a8f
imp: ui: start on balance sheet accounts screen
2022-11-04 23:16:40 -10:00
Simon Michael
32d7cb5287
doc: ui, web: mention debug output
2022-11-03 17:16:55 -10:00
Simon Michael
cc1ea894aa
doc: ui: watch mode cleanup
2022-11-03 17:11:55 -10:00
Simon Michael
80eb461063
;doc: update manuals
2022-11-03 16:07:55 -10:00
Simon Michael
988c164ec8
imp: debug logging improvements; hledger-ui logs to hledger-ui.log only
...
Hledger.Utils.Debug's "trace or log" functions are now controlled as
follows: to enable logging, append ",logging" to the program name at
startup (using withProgName). This also works when running in GHCI.
And they log to PROGNAME.log, not debug.log.
All (hopefully) debug logging in the hledger packages is now "trace or
log" capable.
This means that hledger-ui should now log all debug output to
./hledger-ui.log, with none of it appearing on the console.
2022-11-03 16:07:54 -10:00
Simon Michael
c25c5cef44
fix: make no-argument --debug flag work with ui & web also
2022-11-03 08:13:58 -10:00
Simon Michael
6504748b4f
;doc: ui: changelog
2022-10-31 13:36:34 -10:00
Simon Michael
3d26fc30eb
;doc: update changelogs
2022-10-31 13:18:36 -10:00
Simon Michael
9a9ebfc0e3
dev: ui: rename hledger-ui debug helpers
2022-10-31 12:42:09 -10:00
Simon Michael
603fae70c0
dev: lib: clean up/simplify debug helpers
2022-10-31 11:26:11 -10:00
Simon Michael
3a0473b5b4
fix: ui: fix regenerateScreens, it was not updating the journal
...
And add to test suite. Fixes unreleased code.
2022-10-28 23:03:12 -10:00
Simon Michael
778b660919
dev: ui: debug logging improvements, export screenRegisterDescriptions
2022-10-28 22:44:47 -10:00
Simon Michael
d948198303
dev: ui: cleanup
2022-10-28 17:16:45 -10:00
Simon Michael
52d7f99360
fix: ui: fix internal screen state when using --register
...
This seems not to have been user-visible.
2022-10-28 16:52:45 -10:00
Simon Michael
21c00f9ba2
imp: ui: improve --debug=2 debug.log logging
2022-10-28 16:51:55 -10:00
Simon Michael
020dec10a7
dev: ui: debug logging helpers
...
Hledger.UI.UIUtils
added:
dlogUiTraceIO
dlogUiScreenStack
mapScreens
screenId
2022-10-28 16:50:01 -10:00
Simon Michael
928cc6d615
;doc: update manuals
2022-10-01 16:09:26 -10:00
Simon Michael
130604a2e0
;cabal: update cabal files; migrate to hpack 0.35/stack 2.9
2022-09-19 18:23:26 -10:00
Simon Michael
45ee5d125d
imp: ui: support/require fsnotify 0.4.x
2022-09-19 18:18:50 -10:00
Simon Michael
a3c2e2c1ba
doc: changelogs
2022-09-18 10:02:25 -10:00
Simon Michael
a2be9a0bce
;doc: update changelogs
2022-09-18 08:28:03 -10:00
Simon Michael
0017281a67
dev: ui: test updates
2022-09-11 14:36:42 -10:00
Simon Michael
e51d4059db
feat: ui: add income statement accounts screen
2022-09-11 13:51:40 -10:00
Simon Michael
9fc92cefe4
imp: ui: at --debug 2+, also log events
2022-09-10 12:55:00 -10:00
Simon Michael
68b243e670
dev: ui: menu screen code cleanups
2022-09-10 12:44:27 -10:00
Simon Michael
0ba0a12cc0
dev: ui: add some commented debug logging of state
2022-09-10 12:44:27 -10:00
Simon Michael
96f42380e8
dev: ui: fix an unclear windows-conditional import
2022-09-10 12:44:21 -10:00
Simon Michael
6f258b704a
dev: ui: bs: reuse account screen's event handler
2022-09-09 16:11:00 -10:00
Simon Michael
3fbef8ab88
dev: ui: asHandle refactor, cleanup
2022-09-09 11:01:49 -10:00
Simon Michael
a3c0716133
dev: ui: as, bs: reuse update, draw code
2022-09-08 13:42:29 -10:00
Simon Michael
a3ea054028
dev: ui: bs: reuse AccountsScreenState
2022-09-08 12:46:02 -10:00
Simon Michael
90703dcd84
dev: ui: ms: cleanups
2022-09-08 12:38:50 -10:00
Simon Michael
fb0053c15f
imp: ui: fix a probable bug with detecting date change while running
2022-09-08 12:23:59 -10:00
Simon Michael
b81c2395d5
dev: ui: fix warning
2022-09-08 12:23:59 -10:00
Simon Michael
6737bb3d38
imp: ui: mouse-clicking below the list no longer navigates back
...
I and mail list think it's too obtrusive, eg sometimes it navigates
when you just want to focus the window.
2022-09-08 12:23:59 -10:00
Simon Michael
975522e759
feat: ui: add balance sheet accounts screen
2022-09-08 12:23:59 -10:00
Simon Michael
75a19e8609
feat: ui: add top-level menu screen
2022-09-08 12:23:59 -10:00
Simon Michael
8f8fc7bf75
dev: ui: re-export new/update functions from screen modules
2022-09-07 14:17:49 -10:00
Simon Michael
a5f4d2fd6e
dev: ui: refactor: simpler, more debuggable Screen type
...
Follow-on from the brick 1.0 migration work (#1889 , #1919 ).
These new types aim to be more restrictive, allowing fewer invalid
states, and easier to inspect and debug. The screen types store only
state, not behaviour (functions), and there is no longer a circular
dependency between UIState and Screen.
2022-09-07 11:56:13 -10:00
Simon Michael
427005037e
cabal: update cabal files
2022-09-01 18:37:57 -07:00
Simon Michael
e5bb4f0b66
;pkg: bump version to 1.27.99
2022-09-01 18:37:40 -07:00
Simon Michael
38ce19847b
doc: update changelogs
2022-09-01 18:36:39 -07:00
Simon Michael
7631d0efa0
;doc: update manuals
2022-09-01 18:36:34 -07:00
Simon Michael
651d584bb0
;doc: update changelogs
2022-09-01 15:48:46 -07:00
Simon Michael
b46cb8a7f7
cabal: update cabal files
2022-08-23 12:16:25 +01:00
Simon Michael
c80c72d7cd
dev: lib, cli, bin: enable/fix name shadowing warnings
...
And a few other cleanups.
2022-08-23 12:16:15 +01:00
Simon Michael
96db4fe9cc
dev: ui: enable/fix name shadowing warnings
2022-08-23 02:57:59 +01:00
Simon Michael
e5578e5c4e
;cabal: update cabal files
2022-08-23 02:02:19 +01:00
Simon Michael
9584ebb439
imp: lib: Hledger.Utils.Debug: re-export Debug.Breakpoint
...
And add breakpoint as a dependency and enable its GHC plugin in all
the hledger packages, so that breakpoint's helpers can be used easily.
2022-08-23 02:02:19 +01:00
Simon Michael
6a4680d561
imp: pkg: drop support for GHC 8.6 and 8.8
...
Slightly motivated by a desire to depend on the new breakpoint
library, which requires GHC 8.10+. With GHC 9.0 in Debian,
it seems time to drop these.
2022-08-23 02:02:19 +01:00
Simon Michael
6b4f145c46
dev: ui: test suite fixes
2022-08-23 02:02:19 +01:00
Simon Michael
f5efb2e08e
fix: ui: cleanups, fix more state & logging bugs ( #1889 )
2022-08-23 01:55:25 +01:00
Simon Michael
b6353804b8
fix: ui: fix state bugs from brick 1 migration ( #1889 )
2022-08-23 00:50:51 +01:00
Simon Michael
67cd6be424
imp: ui: at --debug=2, do lots of logging to debug.log
2022-08-23 00:50:51 +01:00
Simon Michael
423f3bd155
;doc: update manuals
2022-08-22 07:59:02 +01:00
Simon Michael
4e105f0cb7
;dev: ui: note relevant discussion
2022-08-17 16:19:34 +01:00
Simon Michael
4bd9f4a6f7
dev: ui: avoid MonadFail entirely, simplifying ghc version compat ( #1889 )
2022-08-17 15:57:27 +01:00
Simon Michael
2a594b7fb7
pkg: ui: use/require brick 1.0+ ( #1889 )
2022-08-17 15:57:27 +01:00
Simon Michael
e5eac1a618
pkg: ui: add upper bound avoiding brick 1.0
2022-08-17 11:49:10 +01:00
Simon Michael
06c14ff034
;doc: update manuals
2022-07-28 17:32:58 +01:00
Simon Michael
6fbcbf7c6b
doc: update manuals
2022-07-12 16:01:33 +01:00
Simon Michael
d7f30d4fdf
;cabal: update cabal files
2022-07-11 11:18:24 +01:00
Simon Michael
d9c6406d2d
doc: changelogs: updates
2022-07-11 11:02:18 +01:00
Simon Michael
7be94cf500
doc: changelogs: sync from release branch
2022-07-11 11:00:16 +01:00
Simon Michael
797cac4fc6
pkg: require safe 0.3.19+ to avoid deprecation warning
2022-07-11 06:03:14 +01:00
Simon Michael
dde2ea7e42
pkg: ui: support doclayout 0.4, brick 0.72+
2022-07-10 22:03:45 +01:00
Simon Michael
0c6cd819f2
;doc: changelogs cleanup
2022-06-05 00:59:36 +01:00
Simon Michael
6017e5f237
;doc: update changelogs
2022-06-05 00:56:10 +01:00
Simon Michael
f2db4c3840
;cabal: update cabal files
2022-06-05 00:32:18 +01:00
Simon Michael
3e728b1d36
;pkg: bump version to 1.26.99
2022-06-05 00:32:18 +01:00
Simon Michael
122620c335
;doc: changelogs
2022-06-05 00:03:12 +01:00
Simon Michael
729a8b81e0
;doc: update changelogs
2022-06-05 00:03:10 +01:00
Simon Michael
9833482c06
;doc: update manuals
2022-06-05 00:02:59 +01:00
Simon Michael
d27a581e0f
;doc: update changelogs
2022-06-04 11:28:59 +01:00
Simon Michael
1085a2a777
;doc: update changelogs
2022-05-29 08:05:33 -10:00
Simon Michael
2bce910904
;doc: update manuals
2022-05-25 11:35:47 -10:00
Simon Michael
133c54434a
;doc: changelogs
2022-04-14 13:59:03 -10:00
Simon Michael
8de85be658
;doc: update manuals
2022-04-14 12:39:18 -10:00
Simon Michael
db1818ac4a
imp: consistent ghc warnings
2022-03-26 08:27:29 -10:00
Simon Michael
4951ca5aa9
tools: regenerate cabal file with ghcup's stack's hpack to avoid conflicts
2022-03-26 08:27:29 -10:00
Simon Michael
3eddd913e3
imp: ghc9.2: silence incomplete-record-updates warnings
2022-03-25 20:36:12 -10:00
Simon Michael
d9ecd1eb9d
imp: update to modern warning flags
2022-03-25 20:28:34 -10:00
Stephen Morgan
603b2e9f09
ref: Use ExceptT String IO a instead of IO (Either String a).
...
This increases composability and avoids some ugly case handling. We
re-export runExceptT in Hledger.Read.
The final return types of the following functions has been changed from
IO (Either String a) to ExceptT String IO a. If this causes a problem,
you can get the old behaviour by calling runExceptT on the output:
readJournal, readJournalFiles, readJournalFile
Or, you can use the easy functions readJournal', readJournalFiles', and
readJournalFile', which assume default options and return in the IO
monad.
2022-03-25 14:23:27 -10:00
Stephen Morgan
45408183fe
dev: reg: areg: Strip prices early on in PostingsReport and AccountTransactionsReport, when possible.
...
This results in big speedups in cases when we have many transaction prices, like in examples/10000x1000x10.journal. This can be disabled with the show_costs_ option in ReportOpts.
2022-03-10 17:21:40 -10:00
Simon Michael
f0e00b3a43
;doc: update changelogs
2022-03-10 16:55:46 -10:00
Simon Michael
460a1fc209
;doc: update manuals
2022-03-07 09:33:11 -10:00
Simon Michael
af7a5f98e3
;cabal: update cabal files
2022-03-05 13:24:48 -10:00
Simon Michael
5aab2cbf40
;pkg: bump version to 1.25.99
2022-03-05 13:24:48 -10:00
Simon Michael
e4ca7187fe
doc: finalise changelogs for 1.25
2022-03-04 17:51:59 -10:00
Simon Michael
2ee914bdc7
;doc: update changelogs
2022-03-04 17:04:50 -10:00
Simon Michael
ef4da90538
;doc: update changelogs
2022-02-05 14:57:53 -10:00
Simon Michael
d9b0184720
;doc: changeslogs: edit
2022-01-21 08:38:59 -10:00
Simon Michael
8daef36c29
;doc: update changelogs
2022-01-21 08:32:29 -10:00
Stephen Morgan
57d055b643
fix: cost: Add inferred equity postings during journal finalisation, so
...
they can be matched by queries.
2022-01-16 18:37:18 -10:00
Simon Michael
9444e20c3d
;doc: update changelogs
2022-01-15 08:56:45 -10:00
Simon Michael
0e5ae2baac
;doc: update changelogs
2022-01-06 06:42:34 -10:00
Simon Michael
d82210cea9
;doc: update changelogs
2022-01-05 18:09:23 -10:00
Simon Michael
757c548c17
;doc: update changelogs
2022-01-05 08:12:44 -10:00
Simon Michael
d1bc3bbb32
;doc: update changelogs
2022-01-01 15:55:08 -10:00
Stephen Morgan
8eedbbbe87
imp: cost: Generate totally balanced conversion postings for amounts with costs.
...
Introduce --infer-equity option which will generate conversion postings.
--cost will override --infer-equity.
This means there will no longer be unbalanced transactions, but will be
offsetting conversion postings to balance things out. For example.
2000-01-01
a 1 AAA @@ 2 BBB
b -2 BBB
When converting to cost, this is treated the same as before.
When used with --infer-equity, this is now treated as:
2000-01-01
a 1 AAA
equity:conversion:AAA-BBB:AAA -1 AAA
equity:conversion:AAA-BBB:BBB 2 BBB
b -2 BBB
There is a new account type, Conversion/V, which is a subtype of Equity/E.
The first account declared with this type, if any, is used as the base account
for inferred equity postings in conversion transactions, overriding the default
"equity:conversion".
API changes:
Costing has been changed to ConversionOp with three options:
NoConversionOp, ToCost, and InferEquity.
The first correspond to the previous NoCost and Cost options, while the
third corresponds to the --infer-equity flag. This converts transactions with costs
(one or more transaction prices) to transactions with equity:conversion postings.
It is in ConversionOp because converting to cost with -B/--cost and inferring conversion
equity postings with --infer-equity are mutually exclusive.
Correspondingly, the cost_ record of ReportOpts has been changed to
conversionop_.
This also removes show_costs_ option in ReportOpts, as its functionality
has been replaced by the richer cost_ option.
2021-12-21 10:50:13 -10:00
Simon Michael
45db32b84f
;doc: update changelogs
2021-12-10 12:50:21 -10:00
Simon Michael
a98e6125f1
;doc: changelogs: 1.24.1
2021-12-10 12:47:43 -10:00
Simon Michael
1ef8f329c6
lib: simpler more robust version strings, with date/without patchlevel
...
We no longer rely on git tags and git describe output, since it's
hard to reliably select the correct tag eg for minor releases.
We might use them again in future for dev builds, but it requires
adding git describe --match support to githash. For now,
* Program name, OS and architecture are always shown.
* The package version is always shown.
* If there is git info at build time, the latest commit hash and commit date are shown.
Example outputs:
A homebrew binary, not built in git repo: hledger-ui 1.24, mac-aarch64
A CI release build, built in git repo: hledger 1.24.1-g455b35293-20211210, mac-x86_64
API changes:
* new type synonyms ProgramName, PackageVersion, VersionString
* versionStringForProgname -> versionString with extra argument
* versionStringFor -> versionStringWith with extra argument
2021-12-10 12:42:40 -10:00
Simon Michael
1a646cd092
;doc: changelogs: 1.24.1
2021-12-09 14:52:23 -10:00
Simon Michael
f111274f25
;doc: update changelogs
2021-12-09 14:25:42 -10:00
Simon Michael
e532b7be49
;doc: update manuals
2021-12-09 14:03:58 -10:00
Simon Michael
6b3d040fdf
cln: ui: drop unused pragma
2021-12-09 12:23:55 -10:00
Simon Michael
35c1c9b6a2
pkg: progress towards supporting GHC 9.2 and newer libs ( #1774 )
...
hledger-lib builds, hledger's deps don't (shakespeare).
2021-12-06 12:32:50 -10:00
Simon Michael
2a58331024
;doc: update manuals
2021-12-05 10:56:41 -10:00
Simon Michael
b6c4c227d3
;doc: changelog typo
2021-12-02 00:16:23 -10:00
Simon Michael
ce3ec28e3d
;cabal: update cabal files
2021-12-01 22:16:37 -10:00
Simon Michael
66619803b7
;pkg: bump version to 1.24.99
2021-12-01 22:16:37 -10:00
Simon Michael
5648db0fd5
doc: update manuals
2021-12-01 20:59:33 -10:00
Simon Michael
2382fe5db8
;doc: finalise changelogs
2021-12-01 18:23:16 -10:00
Simon Michael
0c4b820111
;cabal: update cabal files
2021-12-01 17:16:28 -10:00
Simon Michael
387325b59e
;pkg: bump version to 1.24
2021-12-01 17:16:28 -10:00
Simon Michael
1d3f7a2aad
;doc: update manuals
2021-12-01 17:16:04 -10:00
Simon Michael
8c57d70940
;doc: edit ui changelog
2021-11-26 12:30:38 -10:00
Simon Michael
4933b9fc45
;doc: draft changelogs
2021-11-26 12:02:36 -10:00
Simon Michael
791f4655df
;doc: update manuals
2021-11-26 05:58:55 -10:00
Simon Michael
bfb8a13c13
imp: ui: Z -> z for easier zero toggling
...
Z remains supported as a hidden legacy key.
2021-11-25 11:58:41 -10:00
Simon Michael
eb4ad8cc11
imp: ui: also show declared leaf accounts (when showing zeros)
...
Similar to (and motivating) balance --declared, the goal is to
show a useful list of accounts when all you have is some starter
files with account declarations.
2021-11-25 11:57:39 -10:00
Simon Michael
e5678ce230
Revert "imp: ui: accounts: also show declared accounts, even if unused"
...
This reverts commit 29efacf02c .
(It breaks filtering by account, also the parent accounts aren't really desirable to see.)
2021-11-22 12:06:23 -10:00
Simon Michael
29efacf02c
imp: ui: accounts: also show declared accounts, even if unused
...
This will be more user-friendly when getting started.
2021-11-22 11:13:47 -10:00
Simon Michael
14aa047e08
;doc: update manuals
2021-11-21 23:33:44 -10:00
Simon Michael
30076e8ecc
;imp: doc: ui: -w flag
2021-11-21 23:33:16 -10:00
Simon Michael
7e4b2af361
imp: ui: -w short flag for --watch
2021-11-21 19:34:40 -10:00
Stephen Morgan
59b4968929
imp: ui: Display an error message on invalid regexp, rather than
...
silently ignoring. (#1394 )
2021-11-20 22:23:52 -10:00
Simon Michael
e0dc028374
;doc: update manuals
2021-11-20 22:07:45 -10:00
Simon Michael
c11d19a893
fix: ui: scroll selection to middle on first entry, also
...
The viewport doesn't exist until after first render, and scrollSelectionToMiddle didn't need it; viewportScroll queues up events for it.
https://github.com/jtdaugherty/brick/issues/349
2021-11-20 15:33:28 -10:00
Simon Michael
d0c937a41b
imp: ui: can click bottom blank area to go back
2021-11-19 11:32:33 -10:00
Simon Michael
956ee06591
imp: ui: transaction: refactor
2021-11-19 11:32:09 -10:00
Simon Michael
f5cfcf827d
imp: ui: don't use top margin as a click target yet
2021-11-18 23:01:52 -10:00
Simon Michael
b4254f41c6
;doc: update manuals
2021-11-18 22:57:53 -10:00
Simon Michael
6aa212dd4a
;doc: ui: consistent capitalisation, drop wrong ENTER references
2021-11-18 22:57:34 -10:00
Simon Michael
1d3afad881
;doc: ui: tweak
2021-11-18 22:49:29 -10:00
Simon Michael
568b39734b
;doc: update manuals
2021-11-18 22:48:14 -10:00
Simon Michael
35b16346a9
;doc: ui: document mouse support
2021-11-18 22:43:27 -10:00
Simon Michael
cf15dbd7c9
;doc: update manuals
2021-11-18 22:26:10 -10:00
Simon Michael
710c054589
ui: listScrollPushingSelection: do scroll if there's no selection
2021-11-18 22:21:37 -10:00
Simon Michael
7bbff6a359
fix: ui: accounts: don't let j or C-n move past bottom
2021-11-18 22:21:37 -10:00
Simon Michael
9f6595f122
ui: refactor, generalise listScrollPushingSelection
2021-11-18 22:21:37 -10:00
Simon Michael
731a416b8c
ui: register: scrolling pushes selection, like accounts screen
2021-11-18 22:21:37 -10:00
Simon Michael
3a57814402
ui: debounced clicking; click top/left margin to exit
2021-11-18 22:21:37 -10:00
Simon Michael
6d69ea9c29
ui: mouse scrolls accounts, register screens
2021-11-18 22:21:37 -10:00
Simon Michael
96a80fca70
ui: register: left click enters transaction screen
2021-11-18 22:21:37 -10:00
Simon Michael
35402fb472
ui: accounts: left click enters register
2021-11-18 22:21:37 -10:00
Simon Michael
2076d5a98b
ui: enable mouse support at startup
2021-11-18 22:21:37 -10:00
Simon Michael
8f37d8a611
;ref: ui: clarify vty construction
2021-11-18 22:21:37 -10:00
Stephen Morgan
ff0132df28
dev: Use realLength from doclayout instead of strWidth and textWidth. ( #895 )
...
This gives us more accurate string length calculations. In particular,
it handles emoji and other scripts properly.
2021-11-11 18:29:50 -10:00
Stephen Morgan
1bc04685b7
pkg: Drop base-compat-batteries dependency.
...
Our supported stackage versions are now new enough that we don't need
any of the compatibility features anymore.
2021-10-31 07:56:07 -10:00
Simon Michael
1f2c11d1bc
ui: fix breakage from "areg: begin respecting --date2" ( #1731 )
2021-10-10 11:07:15 -10:00
Simon Michael
7af2e79465
;cabal: update cabal files
2021-10-03 22:56:02 -10:00
Simon Michael
69905dbc25
;pkg: allow megaparsec 9.2
2021-10-03 22:55:10 -10:00
Simon Michael
b857307f64
;cabal: update cabal files
2021-09-24 12:22:15 -10:00
Simon Michael
8934c115bd
;pkg: bump version to 1.23.99
2021-09-24 12:22:15 -10:00
Simon Michael
e90fa3ee81
doc: changelogs: cleanup, finalise
2021-09-21 17:15:39 -10:00
Simon Michael
416555b65a
doc: update manuals
2021-09-21 17:15:39 -10:00
Simon Michael
1b020e004b
;cabal: update cabal files
2021-09-21 15:34:23 -10:00
Simon Michael
19950df745
;pkg: bump version to 1.23
2021-09-21 15:34:23 -10:00
Stephen Morgan
2b8190b238
fix: ui: Do not display a screen full of .. when there are no transactions. ( #822 )
2021-09-21 15:26:49 -10:00
Simon Michael
bb4f2ff34f
;doc: update changelogs
2021-09-20 17:58:29 -10:00
Simon Michael
9cae7a076a
;doc: update manuals
2021-09-20 16:56:36 -10:00
Simon Michael
c2e6a2931c
;tests: ui: add missing test file
2021-09-20 16:53:55 -10:00
Stephen Morgan
4cfd3cb590
lib!: Remove GenericSourcePos, and replace it with either SourcePos or
...
(SourcePos, SourcePos).
This has been marked for possible removal for a while. We are keeping
strictly more information. Possible edge cases arise with Timeclock and
CsvReader, but I think these are covered.
The particular motivation for getting rid of this is that
GenericSourcePos is creating some awkward import considerations for
little gain. Removing this enables some flattening of the module
dependency tree.
2021-09-20 08:38:33 -10:00
Simon Michael
326d6e8dae
ref: ReportOptions{infer_value_} renamed to infer_prices_
...
For more consistency with the flag name (--infer-market-prices).
And BalancingOpts{infer_prices_} is now infer_transaction_prices_.
2021-09-18 12:12:31 -10:00
Simon Michael
993e381307
;doc: update manuals
2021-09-18 11:24:52 -10:00
Simon Michael
02a79fb230
;tests: ui: use --today to make hledger-ui tests robust ( #1674 )
2021-09-18 11:10:25 -10:00
Simon Michael
8a4cea2a69
;doc: update manuals
2021-09-17 17:58:10 -10:00
Simon Michael
7a249cffe9
;doc: update manuals
2021-09-09 14:45:01 -10:00
Stephen Morgan
3456fcb862
test: ui: web: Use report date from _rsDay for hledger-ui and
...
hledger-web, rather than getCurrentDay.
File watching in hledger-ui continues to use getCurrentDay.
2021-09-09 14:40:39 -10:00
Stephen Morgan
765466c392
dev!: ui: Rename fields of UIOpts for consistency.
...
In code, either replace the name with the new name, or use the lenses
instead.
watch_ -> uoWatch
cliopts_ -> uoCliOpts
2021-09-09 13:31:43 -10:00
Stephen Morgan
7f7f1a2cdf
ref: ui: lens: Use lenses in UIState, saving a lot of boilerplate.
2021-09-09 13:31:43 -10:00
Stephen Morgan
f471258a48
dev: ui: lens: Add classy lens instances for UIOpts and UIState.
2021-09-09 13:31:43 -10:00
Stephen Morgan
09a2449f4f
ref: ui: Pull register and theme options into UIOpts.
2021-09-09 13:31:43 -10:00
Stephen Morgan
54c73ff759
ref: ui: Refactor code to eliminate requirement for change_ in UIOpts.
...
--change is already stored in balanceaccum_ in ReportOpts, so it does
not need to be stored in UIOpts too.
2021-09-09 13:31:43 -10:00
Stephen Morgan
83aa7324eb
dev: cli: Move Template Haskell to get git hash from Hledger.Cli.Version
...
to Hledger.Cli.
Since the git hash changes whenever any file in the repository changes,
this means Hledger.Cli.Version needs to be recompiled all the time.
Since it is at the bottom of the module hierarchy, this means that the
whole hledger package needs to be recompiled. We instead move the
TemplateHaskell splice to one of the top modules, so much less needs to
be recompiled.
Note: Ghc seems to be able to get out of most of the recompiling a lot
of the time (due to caching?), but this makes things more reliable.
2021-08-30 15:57:33 -10:00
Stephen Morgan
a0f9d7560f
pkg!: Remove Hledger.Utils.Color module.
...
This module was only used in one place in Hledger.Data.Amount. The code
has been moved directly into Hledger.Utils.
2021-08-30 15:57:33 -10:00
Stephen Morgan
761e00caa4
cln: hlint: Clean up lambda related warnings.
2021-08-27 06:13:56 -10:00
Stephen Morgan
beecb3c9ac
cln: hlint: Clean up list related hlint warnings.
2021-08-27 06:13:56 -10:00
Stephen Morgan
e13239386f
cln: hlint: Clean up == and elem related hlint warnings.
2021-08-27 06:13:56 -10:00
Stephen Morgan
eb6047e81b
cln: hlint: Remove redundant where and lambda warnings.
2021-08-26 21:00:35 -10:00
Stephen Morgan
46b0745412
cln: hlint: Remove Either and Bifunctor related warnings.
2021-08-26 21:00:35 -10:00
Stephen Morgan
69502c44fe
cln: hlint: Fix record patterns warnings.
2021-08-26 21:00:35 -10:00
Simon Michael
8bf7cd30ae
;doc: update changelogs
2021-08-26 20:59:45 -10:00
Stephen Morgan
16b4702dce
fix: ui: Ensure that forecast_ argument gets restored to the startup
...
opts when toggling.
2021-08-26 20:32:30 -10:00
Stephen Morgan
c07ad29a87
imp!: forecast: Implements more intuitive logic for the forecast interval. ( #1648 )
...
The forecast period begins on:
- the start date supplied to the `--forecast` argument, if present
- otherwise, the later of
- the report start date if specified with -b/-p/date:
- the day after the latest normal (non-periodic) transaction in the journal, if any
- otherwise today.
It ends on:
- the end date supplied to the `--forecast` argument, if present
- otherwise the report end date if specified with -e/-p/date:
- otherwise 180 days (6 months) from today.
Note that the previous behaviour did not quite match the documentation,
so this also acts as a bug fix for #1665 .
2021-08-26 20:32:30 -10:00
Simon Michael
092e9479f0
;ui: update forecast example journal and hledger-ui forecast tests
...
Related to #1667 .
2021-08-26 19:51:01 -10:00
Simon Michael
76a6c5fe4f
;ui: test: cleanup, remove non-working test attempts
2021-08-26 19:50:57 -10:00
Stephen Morgan
5906959882
cln: hlint: Remove redundant case warnings.
2021-08-26 07:23:11 -10:00
Simon Michael
093c304834
;doc: ui, web: changelogs tweak
2021-08-24 05:31:27 -10:00
Simon Michael
bffeab45c8
;doc: update changelogs
2021-08-24 05:14:24 -10:00
Simon Michael
53d9455bdc
;doc: update changelogs
2021-08-24 05:05:50 -10:00
Stephen Morgan
a3cacca71d
fix: ui: Make sure RegisterScreen (and consequently TransactionScreen)
...
only display forecast transactions when the appropriate flag is set.
2021-08-23 22:22:53 -10:00
Simon Michael
ddeeee6046
;doc: update changelogs
2021-08-19 18:36:34 -10:00
Simon Michael
d06d4ca080
;doc: update manuals
2021-08-08 09:39:20 -10:00
Simon Michael
04812682e8
;doc: bump man page dates
2021-08-08 09:39:20 -10:00
Simon Michael
233b8c91cb
;doc: finalise 1.22.2 changelogs
2021-08-07 09:27:20 -10:00
Simon Michael
2e28c5a1ef
;doc: update changelogs
2021-08-07 09:20:20 -10:00
Simon Michael
9bc77f87fc
;doc: changelogs
2021-08-06 17:26:37 -10:00
Simon Michael
981849a6c1
;doc: changelogs
2021-08-06 00:16:20 -10:00
Simon Michael
49ff039312
lib: cli/ui/web: clarify version string code
...
version -> packageversion
versiondescription -> versionStringFor
2021-08-05 22:54:25 -10:00
Simon Michael
606d992fc8
cli: disable no-longer-used --binary-filename flag
...
It was still supported (as a hidden flag) by hledger-web,
and now is not.
2021-08-05 21:51:10 -10:00
Stephen Morgan
c404800fbf
ref!: forecast: Move forecast_ from ReportOpts to InputOpts.
2021-08-05 21:10:47 -10:00
Simon Michael
6afc5ce6b2
;cabal: update cabal files
2021-08-03 21:05:29 -10:00
Simon Michael
f51ea92cfc
deps: require base >=4.11, prevent red squares on hackage matrix
...
We officially support GHC 8.6+ (and 8.8+ for hledger-web) now.
Hackage matrix builder shows all packages building successfully
with GHC 8.4+, somehow, so we'll adjust the base bound to
allow that but prevent any attempts to build with older GHCs,
2021-08-03 21:05:02 -10:00
Simon Michael
2a39497e21
pkg: add tested-with GHC 9.0.1
2021-08-03 20:52:05 -10:00
Simon Michael
abd63db3e7
;doc: update changelogs
2021-08-03 09:50:57 -10:00
Simon Michael
81dfbc9ac2
;doc: changelogs: note some 1.22.1 changes I missed
2021-08-03 09:42:59 -10:00
Simon Michael
95de5a878a
;cabal: update cabal files
2021-08-03 08:00:22 -10:00
Simon Michael
6665ddfb9b
;pkg: bump version to 1.22.99
2021-08-03 00:24:20 -10:00
Simon Michael
d425ce8fd3
;doc: changelogs: 1.22.1 release date
2021-08-02 22:50:03 -10:00
Simon Michael
1d0b2bf9ce
;doc: update changelogs
2021-08-01 08:05:05 -10:00
Simon Michael
4451d68a63
;doc: update manuals
2021-07-29 20:41:19 -10:00
Simon Michael
f8cc6edbde
;imp: ui: doc: document watch mode and limitations ( #1617 , #911 , #836..)
2021-07-29 20:36:49 -10:00
Simon Michael
f12ff0df3a
;doc: ui, web: move screenshot styles elsewhere
2021-07-28 22:24:25 -10:00
Simon Michael
e4a23c95d4
;doc: changelogs: gather 1.22.1 changes
2021-07-28 10:03:22 -10:00
Simon Michael
666e217bd5
;doc: update changelogs
2021-07-27 23:21:13 -10:00
Stephen Morgan
b0aa70b27a
lib!: Rename the fields of ReportSpec.
...
This is done to be more consistent with future field naming conventions,
and to make automatic generation of lenses simpler. See discussion in
\#1545.
rsOpts -> _rsReportOpts
rsToday -> _rsDay
rsQuery -> _rsQuery
rsQueryOpts -> _rsQueryOpts
2021-07-23 10:37:08 -10:00
Stephen Morgan
3969eb2679
lib!: lib,cli,ui,web: For accountTransactionsReport, generate the overall
...
reportq from the ReportSpec, rather than being supplied as a separate
option.
This is the same approach used by the other reports, e.g. EntryReport,
PostingReport, MultiBalanceReport. This reduces code duplication, as
previously the reportq had to be separately tweaked in each of 5
different places.
If you call accountTransactionreport, there is no need to separately
derive the report query.
2021-07-22 19:00:37 -10:00
Simon Michael
6569c2aca7
;doc: update changelogs
2021-07-20 22:24:39 -10:00
Simon Michael
9aac520edd
deps: allow megaparsec 9.1
2021-07-20 20:38:39 -10:00
Simon Michael
a83c2f6950
;cln: ui: clarify watch loop
2021-07-20 20:38:39 -10:00
Simon Michael
87f575e643
ref: bal: rename some report types to clarify/sync with docs
...
ReportType -> BalanceCalculation
ChangeReport -> CalcChange
BudgetReport -> CalcBudget
ValueChangeReport -> CalcValueChange
BalanceType -> BalanceAccumulation
PeriodChange -> PerPeriod
CumulativeChange -> Cumulative
HistoricalBalance -> Historical
ReportOpts:
reporttype_ -> balancecalc_
balancetype_ -> balanceaccum_
CompoundBalanceCommandSpec:
cbctype -> cbcaccum
Hledger.Reports.ReportOptions:
balanceTypeOverride -> balanceAccumulationOverride
2021-07-15 14:22:20 -10:00
Simon Michael
f54e645dbf
test: ui: outliner tip
2021-07-15 09:57:16 -10:00
Stephen Morgan
5f53da87e0
fix: ui: Make sure that you can scroll between matching transactions in
...
TransactionScreen. (#1607 )
Make sure that the previous register screen is updated whenever we
scroll in TransactionScreen.
2021-07-15 09:46:56 -10:00
Simon Michael
8d68193c88
;fix: doc: info: avoid directory paths in directory metadata ( #1594 )
...
In each info manual's DIR-ENTRY metadata, it's best to use just the
filename, with no subdirectory. This should facilitate working info
manuals in packaged versions of hledger, eg in nix.
I don't remember the detail of why I added those and I'm not going to
spend a couple of hours retesting; hopefully no other significant
workflows will be affected.
I have left the subdirectory paths in the dir file - this is intended
for hledger developers and they hopefully don't cause a problem there.
2021-07-14 09:07:56 -10:00
Simon Michael
964a019368
;doc: changelogs: minor release headings
2021-07-13 18:39:43 -10:00
Simon Michael
1f9d89879d
;doc: update changelogs
2021-07-13 18:39:40 -10:00
Simon Michael
ce526305bf
;test: ui: transaction: add a test for up/down key ( #1607 )
2021-07-13 12:34:25 -10:00
Simon Michael
b8f0900edb
;dev: doc: update manuals
2021-07-12 18:50:06 -10:00
Simon Michael
68e7ff4644
;doc: finalise changelogs
2021-07-03 14:51:51 -10:00
Simon Michael
52ebfb3dce
;doc: changelog edits
2021-07-03 11:45:50 -10:00
Simon Michael
4971b106ef
;doc: changelog edits
2021-07-02 16:10:56 -10:00
Simon Michael
d5d19f8419
;update manuals
2021-07-02 12:42:34 -10:00
Stephen Morgan
55f42c3d1e
ui: Do not reset cost and value flags on reload.
2021-07-02 10:07:03 +10:00
Stephen Morgan
307bd9366d
ui: In TransactionScreen, set the current transaction and index in
...
tsInit based on the previous RegisterScreen. Use the RegisterScreen
logic for selecting the new transaction when we cannot find the existing
one.
This enables us to get rid of regenerateTransactions. There is now
different behaviour in the transaction screen when the journal is
reloaded and the transaction being viewed is no longer available, but I
have not been able to find an example which exhibits this different
behaviour. I think it is better to have consistent behaviour between the
register screen and transaction screen when determining which to select.
This corrects a bug where you had to reload twice to reset the valuation
and cost flags, due to the elimination of regenerateTransactions.
2021-07-02 10:07:03 +10:00
Stephen Morgan
613efba1bc
ui: Do not log to debug.log when regenerating journal in Transaction
...
screen (#1556 ). Also really clear cost setting when doing so.
Since plog is no longer used anywhere, and tends to create bugs when it
is, we remove it.
2021-06-30 16:07:32 -10:00
Simon Michael
43a909f824
doc: changelogs draft
...
And add big headings, for fun and to help me tell them apart.
2021-06-30 15:30:57 -10:00
Simon Michael
2f56368647
;update manuals
2021-06-28 22:39:06 -10:00
Simon Michael
26bc5e6df3
;update cabal files
2021-06-28 22:38:12 -10:00
Simon Michael
544450f557
;bump version to 1.22
2021-06-28 22:37:47 -10:00
Simon Michael
fc62cebd10
;update manuals
2021-06-27 21:47:33 -10:00
Simon Michael
6cd565a511
;doc: fix dir entry paths so they work both in info and emacs ( #1585 )
2021-06-27 21:45:48 -10:00
Simon Michael
2d87298a68
;doc: slightly simplify dir entries, use higher-level texinfo format ( #1585 )
2021-06-27 21:24:51 -10:00
Simon Michael
7c12c1eb00
;update manuals
2021-06-27 19:36:52 -10:00
Simon Michael
eae4922d12
doc: info directory entries: fixes, cleanup ( #1585 )
2021-06-27 17:26:00 -10:00
Simon Michael
945834bff3
;update manuals
2021-06-27 17:01:59 -10:00
Simon Michael
1c9a7f1bc4
doc: make hledger manuals show up in Info's directory
...
This continues the work begun by #1585 . It moves each info manual's
directory metadata to the top of the file, where it needs to be.
I couldn't see a way to do this with pandoc/makeinfo, so the Shake
recipe prepends it from a separate file.
With this metadata in place, the hledger info manuals can be added to
an Info dir file using install-info. Eg:
$ install-info hledger/hledger.info /usr/local/share/info/dir
$ info
Secondly, the Shake "manuals"/"infomanuals" recipes now also generate
an Info dir file in each package directory, so you can also just add
the package directories to your INFOPATH. Eg:
$ export INFOPATH=~/src/hledger/hledger:~/src/hledger/hledger-ui:~/src/hledger/hledger-web:$INFOPATH
$ info
2021-06-27 17:01:59 -10:00
Damien Cassou
a9dd54d7b4
;update manuals
2021-06-27 15:11:29 -10:00
Damien Cassou
f5633199dc
;doc: add DIR section to hledged.m4.md for the info file ( #806 )
...
This is used by `install-info` to generate an entry in the info
directory.
2021-06-27 15:11:29 -10:00
crocket
5725fb8ab7
Improve editor support
...
Documentation for editFileAtPositionCommand is made more
precise.
This commit makes it possible for hledger-ui to open
a file at the last line on emacs and kakoune.
It also prevents hledger-ui from opening an editor with
imprecise arguments. Passing imprecise arguments to editors
can cause undefined behaviors in editors.
I tested it with emacs(client), nano, vscode, kakoune,
nvim, and vis.
2021-06-16 14:11:36 -10:00
Simon Michael
6df8b6d46e
;ui: editFileAtPositionCommand doc tweaks ( #1572 )
2021-06-15 17:37:00 -10:00
crocket
aa0a8d079b
Add support for kakoune editor
2021-06-15 17:24:35 -10:00
Simon Michael
a4db52aa05
;update manuals
2021-06-15 06:24:25 -10:00
Simon Michael
665fec83cd
Merge pull request #1560 from Xitian9/rationalisevaluation
...
Clean up valuation functions, and make clear which to use where.
2021-06-07 19:02:44 -10:00
Stephen Morgan
0f1837816d
lib,cli,ui,web: Add check balancednoautoconversion command, which checks that
...
transactions are balanced possibly using explicit prices, but without
inferring any prices. This is included in --strict mode.
Renames check autobalanced to check balancedwithautoconversion.
2021-06-07 18:58:58 -10:00
Stephen Morgan
68e975adf1
lib,cli,ui,web: Remove unused LANGUAGE pragmas.
2021-06-07 17:33:54 -10:00
Stephen Morgan
c87290e5f5
ui: Remove unnecessary CPP when dropping support for GHC 8.4.
2021-06-07 17:33:54 -10:00
Stephen Morgan
55308e1ca8
lib,cli,ui,web: Remove unnecessary CPP when dropping support for GHC 8.2.
2021-06-07 17:33:54 -10:00
Stephen Morgan
56e87f934c
ui: Use Text instead of String in RegisterScreen.
2021-06-03 23:23:54 -10:00
Simon Michael
b681cde62d
;update cabal files
2021-06-03 14:08:47 -10:00
Simon Michael
58b481ca5b
stack: updated tested-with to 8.6+
2021-06-03 14:07:39 -10:00
Stephen Morgan
bf063e4538
cli,ui,web: Display full git description in --version report if able.
...
Remove unused prognameanddetailedversion code branches.
2021-06-02 19:46:18 -10:00
Simon Michael
6a3019c5a8
;update manuals
2021-05-18 10:51:03 -10:00
Simon Michael
d3b20675d0
tools: really regenerate the cabal files with stack's hpack
...
hpack has dropped the hash at last, this should help a lot to reduce
edit conflicts and commit noise.
2021-05-14 16:14:06 -10:00
Simon Michael
17b241eb64
ui: don't write debug.log when toggling V ( #1556 )
2021-05-14 11:38:14 -10:00
Simon Michael
41c8e1f6ef
;regen cabal files with latest stack's hpack (0.34.4)
2021-05-14 08:17:56 -10:00
Stephen Morgan
53611be6e9
lib,ui: Do all cost conversion and price stripping in journalSelectingAmountFromOpts.
2021-05-07 21:51:15 +10:00
Stephen Morgan
5e7b69356f
lib: Change internal representation of MixedAmount to use a strict Map
...
instead of a list of Amounts. No longer export Mixed constructor, to
keep API clean (if you really need it, you can import it directly from
Hledger.Data.Types). We also ensure the JSON representation of
MixedAmount doesn't change: it is stored as a normalised list of
Amounts.
This commit improves performance. Here are some indicative results.
hledger reg -f examples/10000x1000x10.journal
- Maximum residency decreases from 65MB to 60MB (8% decrease)
- Total memory in use decreases from 178MiB to 157MiB (12% decrease)
hledger reg -f examples/10000x10000x10.journal
- Maximum residency decreases from 69MB to 60MB (13% decrease)
- Total memory in use decreases from 198MiB to 153MiB (23% decrease)
hledger bal -f examples/10000x1000x10.journal
- Total heap usage decreases from 6.4GB to 6.0GB (6% decrease)
- Total memory in use decreases from 178MiB to 153MiB (14% decrease)
hledger bal -f examples/10000x10000x10.journal
- Total heap usage decreases from 7.3GB to 6.9GB (5% decrease)
- Total memory in use decreases from 196MiB to 185MiB (5% decrease)
hledger bal -M -f examples/10000x1000x10.journal
- Total heap usage decreases from 16.8GB to 10.6GB (47% decrease)
- Total time decreases from 14.3s to 12.0s (16% decrease)
hledger bal -M -f examples/10000x10000x10.journal
- Total heap usage decreases from 108GB to 48GB (56% decrease)
- Total time decreases from 62s to 41s (33% decrease)
If you never directly use the constructor Mixed or pattern match against
it then you don't need to make any changes. If you do, then do the
following:
- If you really care about the individual Amounts and never normalise
your MixedAmount (for example, just storing `Mixed amts` and then
extracting `amts` as a pattern match, then use should switch to using
[Amount]. This should just involve removing the `Mixed` constructor.
- If you ever call `mixed`, `normaliseMixedAmount`, or do any sort of
amount arithmetic (+), (-), then you should replace the constructor
`Mixed` with the function `mixed`. To extract the list of Amounts, use
the function `amounts`.
- If you ever call `normaliseMixedAmountSquashPricesForDisplay`, you can
replace that with `mixedAmountStripPrices`. (N.B. this does something
slightly different from `normaliseMixedAmountSquashPricesForDisplay`,
but I don't think there's any use case for squashing prices and then
keeping the first of the squashed prices around. If you disagree let
me know.)
- Any remaining calls to `normaliseMixedAmount` can be removed, as that
is now the identity function.
2021-05-01 09:45:29 -10:00
Stephen Morgan
dd5773253b
ui: For account screen, if the accounts and amounts are too wide, allocate space proportionally.
2021-04-14 14:18:24 -10:00
Stephen Morgan
203b12bfd9
ui: In account screen, elide amounts which go past the specified width.
...
Also leave at least 15 spaces width for account names.
2021-04-14 14:18:24 -10:00
Simon Michael
25322e489e
ui: add tests for query filtering ( #1523 )
2021-04-12 12:58:51 -10:00
Simon Michael
bd41d1bd11
ui: tests: clean up, update for #1468
2021-04-12 12:47:50 -10:00
Simon Michael
dbe7ef0157
ui: setFilter: note error-ignoring behaviour
2021-04-12 12:06:11 -10:00
Simon Michael
b13df845c0
ui: register: fix queries, broken in 1.21 ( #1523 )
2021-04-12 12:05:35 -10:00
Simon Michael
4578d5d329
ui: work around ghc 9.0 build failure ( #1503 )
...
Also remove obsolete shebang line.
2021-04-06 07:45:49 -10:00
Simon Michael
eb2da22f63
;update cabal files
2021-04-04 08:03:57 -10:00
Simon Michael
ba1e91c302
drop support for GHC 8.0
...
Prior to this commit,
- hledger still builds with GHC 8.0
- hledger-ui does if you use the build plan specified by stack8.0.yaml,
but you are likely to hit problems if you let cabal pick one
(https://github.com/jtdaugherty/vty/issues/198 and others)
- hledger-web might, if you could find the right build plan
The hassles are enough and GHC 8.0 is old enough (first released in
2016) that I'm letting it go; 8.2 is the new minimum version for all
hledger packages.
This allows a bunch of cleanups to conditional imports, which I leave
for later.
Also, updated the tested-with minor versions.
2021-04-04 07:54:22 -10:00
Simon Michael
d0940bf8ce
;update cabal files
2021-03-29 08:19:54 -07:00
Simon Michael
4e644840bc
lib, etc: add now-required lower bound on containers ( #1514 )
2021-03-29 08:19:28 -07:00
Stephen Morgan
4609e79f2c
lib,cli,ui,web: A number of AccountName and Journal functions which are
...
supposed to produce unique sorted use Sets internally to be slightly
more efficient. There is also a new function journalCommodities.
2021-03-23 11:26:30 -07:00
Simon Michael
d87751ef2e
;doc: ui, web: make image paths absolute
2021-03-21 09:10:50 -07:00
Simon Michael
d5a227f18c
;doc: ui, web, contributing: fix image urls
2021-03-21 07:45:37 -07:00
Simon Michael
7fad876014
;update manuals
2021-03-18 07:22:42 -07:00
Stephen Morgan
d6a4310d8f
lib,cli,ui,bin: Eliminate all uses of Mixed outside of Hledger.Data.Amount.
...
Exceptions are for dealing with the pamount field, which is really just
dealing with an unnormalised list of amounts.
This creates an API for dealing with MixedAmount, so we never have to
access the internals outside of Hledger.Data.Amount.
Also remove a comment, since it looks like #1207 has been resolved.
2021-03-18 09:47:59 +11:00
Simon Michael
ae57e76cb3
;update cabal files
2021-03-12 06:59:30 -08:00
Simon Michael
36cbc2b068
bump base upper bound to allow GHC 9.0
2021-03-12 06:58:46 -08:00
Simon Michael
5573538fdc
;update cabal files
2021-03-10 13:50:50 -08:00
Simon Michael
e050790d4c
;bump version to 1.21.99
2021-03-10 13:50:49 -08:00
Simon Michael
5cdbd04974
;finalise manuals
2021-03-10 11:12:06 -08:00
Simon Michael
532a4622ac
;finalise changelogs
2021-03-10 11:10:13 -08:00
Simon Michael
00beaf1423
;update cabal files
2021-03-10 08:24:59 -08:00
Simon Michael
eeddfc2509
;bump version to 1.21
2021-03-10 08:24:58 -08:00
Simon Michael
f82bdb15e4
;update changelogs
2021-03-10 08:24:12 -08:00
Simon Michael
269b25bc8d
doc: edited changelogs
2021-03-09 09:31:28 -08:00
Simon Michael
faf68f3def
;doc: bump changelogs to latest revision
2021-03-08 15:16:54 -08:00
Simon Michael
ec4d131d22
;doc: cherry pick recent edited changelogs from 1.21-branch
2021-03-08 15:15:57 -08:00
Simon Michael
325aa15f74
;doc: restore changelogs up to a5f9f8ce0
2021-03-08 15:14:47 -08:00
Simon Michael
54b95af9ff
;doc: merge 1.20.3, 1.20.4 changelogs from 1.20-branch
2021-03-08 15:12:39 -08:00
Simon Michael
ffb985f1a2
ui, web: make --man and --info work, similar to hledger
...
(cf #1410 )
2021-03-03 05:57:31 -08:00
Simon Michael
f7bbb39a77
;regenerate cabal files with the hpack version in current stack
...
To minimise warnings. They got regenerated by a commit for #1471 .
2021-02-18 13:42:40 -08:00
Simon Michael
b92a842728
;update manuals
2021-02-17 12:07:23 -08:00
Arnout Engelen
ad2ab3c823
Make sure to round up for the 'to' date
2021-02-17 09:05:13 -08:00
Simon Michael
d865ec5d65
lib: refactor: more consistent amount precision helpers
...
Hledger.Data.Amount:
renamed:
setAmountPrecision -> amountSetPrecision
setFullPrecision -> amountSetFullPrecision
setMixedAmountPrecision -> mixedAmountSetPrecision
added:
mixedAmountSetFullPrecision
2021-02-05 16:09:49 -08:00
Simon Michael
2a4170dd3b
ui: transaction: show all decimal places (like print, cf #931 )
...
On the accounts screen and register screen we round amounts according
to commodity styles, but when you drill down to a transaction you
probably want to see the unrounded amounts.
2021-02-04 08:13:55 -08:00
Stephen Morgan
c9eb7d1bcf
lib,cli,ui: Separate costing from valuation; each can now be specified
...
independently.
You can now combine costing and valuation, for example "--cost
--value=then" will first convert to costs, and then value according to
the "--value=then" strategy. Any valuation strategy can be used with or
without costing.
If multiple valuation and costing strategies are specified on the
command line, then if any of them include costing
(-B/--cost/--value=cost) then amounts will be converted to cost, and for
valuation strategy the rightmost will be used.
--value=cost is deprecated, but still supported and is equivalent to
--cost/-B. --value=cost,COMM is no longer supported, but this behaviour can be
achieved with "--cost --value=then,COMM".
2021-01-28 13:57:48 -08:00
Stephen Morgan
130739e3ef
lib,cli,ui: Introduce *ApplyCostValuation functions, which perform both
...
costing and valuation.
This currently is given a dummy NoCost argument and is equivalent to
"maybe id (*ApplyValuation ...)", but provides a constant interface so
that internal behaviour can be changed freely.
2021-01-28 13:57:48 -08:00
Simon Michael
507648383d
ui: register: show all txns in/under an account at depth limit ( #1468 )
...
As in 1.19. This was broken since 2020-09-02 c45663d41 .
2021-01-24 09:54:18 -08:00
Simon Michael
2e5ac08b69
;ui: add a manual test for #1468
2021-01-23 17:04:51 -08:00
Stephen Morgan
83110e8820
lib,cli: Extend AtThen valuation to all report types.
...
Also adds a postingDate argument to amountApplyValuation, and re-orders
the ValuationType and (Transaction/Posting) arguments to
(transaction/posting)ApplyValuation, to be consistent with
amountApplyValuation.
2021-01-05 14:42:09 -08:00
Stephen Morgan
7d3cf1747a
lib: Make consistent naming scheme for showMixedAmount* functions,
...
add conversion between old API and new API in the documentation.
2021-01-02 15:08:09 +11:00
Stephen Morgan
e4e533eb9f
lib,cli,ui: Replace some uses of String with Text, get rid of some unpacks, clean up showMixed options.
2021-01-02 15:08:09 +11:00
Stephen Morgan
13c111da73
lib,cli,ui: Use WideBuilder for Tabular.AsciiWide.
...
Move WideBuilder to Text.WideString.
2021-01-02 15:08:09 +11:00
Stephen Morgan
b9c00dce61
lib,cli,ui: Implement all showMixed* functions in terms of DisplayAmountOpts and WideBuilder.
2021-01-02 15:08:09 +11:00
Stephen Morgan
e3ec01c3c6
lib,cli,ui: Use Text for showDate and related.
2021-01-02 15:08:09 +11:00
Stephen Morgan
74b296f865
lib,cli: Make showTransaction return Text rather than String.
2021-01-02 15:08:09 +11:00
Stephen Morgan
7e44b89bb4
lib: Remove unused label on TranspactionReport and AccountTransactionsReport.
2021-01-02 15:08:09 +11:00
Stephen Morgan
5752f1c5cb
lib,cli: Use Text Builder for Account Transaction Reports.
2021-01-02 15:08:09 +11: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
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
06675bfec4
;cli, ui: fixes for yesterday's 4330427f
2020-12-27 12:20:50 -08:00
Simon Michael
b66d8f0f3c
;update manuals
2020-12-26 17:29:02 -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
fbf9418756
;doc: update links to journal manual
2020-12-24 12:49:04 -08:00
Simon Michael
324dfaee49
;update manuals
2020-12-20 20:11:35 -08:00
Simon Michael
4639522d9c
ui: doc: fix decapitalisation in manual, present since 1.19
...
Added accidentally by 847fc23 on 2020-07-17.
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
c92c27d565
doc: tweak manuals' top heading to improve info structure
2020-12-20 20:08:35 -08:00
Stephen Morgan
e406cebcce
lib: Remove unused AtDefault constructor for ValuationType.
2020-12-19 11:59:44 -08:00
Stephen Morgan
46093b8de7
lib,ui: For hledger-ui, do valuation for all valuation types, not just
...
AtCost and AtDefault.
Remove unused valuationTypeIs* functions.
2020-12-19 11:59:44 -08:00
Stephen Morgan
cdec0f9382
lib: Remove special handling of now-inaccessible AtDefault valuation constructor.
...
This simplifies all the *ApplyValuation functions, as they no longer
need mreportdate or multiperiod arguments.
2020-12-19 11:59:44 -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
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
e5a236e9dc
;ui: fix test journal symlink
2020-12-13 19:56:28 -08:00
Simon Michael
8d1e3e638b
;ui: refactor, drop old option support
2020-12-12 12:13:52 -08:00
Simon Michael
349ffd7c0b
updateReportSpecFromOpts -> updateReportSpec[With]
2020-12-12 12:05:44 -08:00
Simon Michael
15dc638a07
ui: preserve forecast txns (& period) when reloading journal ( #1204 )
2020-12-12 11:53:24 -08:00
Simon Michael
6158d16443
;ui: refactor, simplify query
2020-12-12 11:52:15 -08:00
Simon Michael
481c40ca2f
;ui: refactor toggleForecast
2020-12-12 11:51:25 -08:00
Simon Michael
ae2d9373ee
;ui: test for #1204
2020-12-11 10:09:26 -08:00
Simon Michael
b6cb95b534
ui: make F key keep working, fixing breakage in 1.20 ( #1411 )
...
This seems to be fallout from #1340 's
2020-09-16 d0d39e615 lib,cli,ui,web: Introduce ReportSpec, which holds ReportOpts, the day of the report, and the parsed Query.
2020-12-11 09:38:15 -08:00
Simon Michael
b25b2ba33d
;ui: update test journals, add test for #1411
2020-12-11 09:33:42 -08:00
Simon Michael
6723025607
;update manuals
2020-12-08 20:11:32 -08:00
Simon Michael
f66a8281fe
;ui: tests cleanup
2020-12-08 12:59:25 -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
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
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
d40d53ae02
;update manuals
2020-11-26 08:52:56 -08:00
Simon Michael
794c5f32a5
;update changelogs
2020-11-24 09:39:05 -08:00
Simon Michael
9730b69a05
;ui: register: fix one-line amount formatting ( #1358 )
2020-11-18 17:20:05 -08:00
Simon Michael
2f2cca9bc0
;ui: add a test for multicommodity register ( #1358 )
2020-11-17 12:43:18 -08:00
Simon Michael
3ea453658e
;ui: test tweaks
2020-11-17 11:09:35 -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
267f23dabb
;ui: test tweaks
2020-11-16 14:41:18 -08:00
Simon Michael
01be455e82
;ui: rename to uitest.org
2020-11-16 09:00:55 -08:00
Simon Michael
56b61c71da
;ui: add manual tests for #1387
2020-11-16 08:59:35 -08:00
Simon Michael
ec2a774b18
cli, lib: move functional tests into hledger/test/
2020-11-16 08:47:41 -08:00
Simon Michael
1c9d704e2f
;ui: add symlink for manual tests ( #1387 )
2020-11-15 12:46:23 -08:00
Simon Michael
3930e06e72
ui: start gathering manual tests ( #1387 )
2020-11-15 12:43:29 -08:00
Simon Michael
34cae907e0
;ui: move WIP tests into hledger-ui package
2020-11-15 12:17:00 -08:00
Simon Michael
cc2654b17b
;ui: notes ( #1387 )
2020-11-15 11:32:43 -08:00
Simon Michael
4aecb9182e
;ui: notes ( #1387 )
2020-11-15 11:20:40 -08:00
Simon Michael
9337a66fb5
ui: quick fix for date: and --change breakage ( #1387 )
2020-11-15 10:30:58 -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