Commit Graph

9058 Commits

Author SHA1 Message Date
Stephen Morgan
01f5a92761 lib: Improve Read and Show instances for Regexp, get rid of custom show instance for Query. 2020-08-31 12:04:47 +10:00
Stephen Morgan
e3b2c94353 lib: Remove unneeded total Query code. 2020-08-31 12:04:47 +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
ccd6fdd7b9 lib: Remove unused Tree functions. 2020-08-31 11:51:25 +10:00
Simon Michael
40ca6c62e7 Avoid some uses of fromIntegral, parse numbers more robustly.
This is PR #1326, addressing #1325 (fromIntegral considered harmful).

User-visible changes:

- parsing numbers with more than 255 decimal places now gives an error
  instead of silently misparsing.

- digit groups are now limited to at most 255 digits each.

- exponents greater than 9223372036854775807 or less than
  -9223372036854775808 are now parsed correctly, in theory. (In
  practice, very large exponents will cause hledger to eat all your
  memory, so avoid them for now.)

API/internal changes:

- some fromIntegral calls have been replaced with safer code
  avoiding potential bugs due to numeric wrapping.

- asprecision is now a sum type with Word8 instead of an Int with
  magic values.

- DigitGroupStyle uses Word8 instead of Int.

- exponents are parsed as Integer rather than Int.

Merge branch 'precisionword' into master
2020-08-30 12:51:24 -07:00
Stephen Morgan
7182fa4746 lib: Improve documentation for amountRoundedQuantity, fix a typo. 2020-08-30 23:01:04 +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
ee1ef9606b lib: Fail when parsing number with more than 255 decimal places. 2020-08-30 22:30:24 +10:00
Stephen Morgan
ba59fed6b2 lib: Replace more instances of fromIntegral with safer versions. 2020-08-30 22:20:58 +10:00
Stephen Morgan
ca2e55c954 lib: Replace some fromIntegral with toInteger. 2020-08-30 22:20:58 +10:00
Stephen Morgan
b5ed2067d9 lib: Make aprecision and DigitGroupStyle use Word8 instead of Int. exponentp now parses an Integer rather than an Int. 2020-08-30 22:20:53 +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
f5a7c84065 ui: Bump version of vty, present in all supported stackage, to get rid of CPP. 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
dc426266a4 ;roadmap: status 2020-08-29 14:45:50 -07:00
Simon Michael
5be0255eba ;make bench: run quieter, allow overriding BENCHEXES with env var 2020-08-29 13:57:04 -07:00
Simon Michael
73332c0cbc ;ci: mac: try again to bump the cache to fix Cabal artifact
That last key still matched. I will defeat you, cache.
2020-08-23 08:40:53 -07:00
Simon Michael
c477e9c7dd ;ci: mac: try again to bump the right cache to fix Cabal artifact
CI error:
hledger-lib>
/Users/runner/.stack/setup-exe-cache/x86_64-osx/Cabal-simple_mPHDZzAJ_2.4.0.1_ghc-8.6.5:
cannot execute binary file
2020-08-23 08:33:41 -07:00
Simon Michael
3c32aa2cd4 ;ci: mac: try bumping cache to fix ghc 8.6 breakage again 2020-08-23 07:53:27 -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
Simon Michael
a3c749f9e7 csv: fix inferring separator from .ssv/.tsv file extensions
This was documented but untested and may have never worked.
2020-08-21 08:59:55 -07:00
Simon Michael
fbf47b85dd ;doc: readme: drop badges header 2020-08-21 08:18:26 -07:00
Simon Michael
4145bf35aa ;make functest now runs quickbench, with a warning 2020-08-21 08:18:26 -07:00
Simon Michael
7e26d6626c ;bin: warn about breakage here 2020-08-20 11:20:13 -07:00
Simon Michael
5405a63aad ;bin: print-location, smooth, swap-dates: update _FLAG marker 2020-08-15 11:29:35 -07:00
Simon Michael
8023d1e8d7 ;bin: more scripts how-tos 2020-08-15 10:52:49 -07:00
Simon Michael
c7f1800185 ;bin: update scripts readme 2020-08-15 10:25:13 -07:00
Simon Michael
99789bd4de bin: drop explicit --package options from stack scripts, not needed
If there are no --package options, stack's script command infers them
from the imports.
2020-08-15 09:59:59 -07:00
Simon Michael
efa0d43910 bin: hledger-print-location example 2020-08-15 09:56:53 -07:00
Simon Michael
4747e2eacf ;bin: consistent use of stack script, package updates 2020-08-15 09:51:59 -07:00
Simon Michael
431a502a0a ;bin: rename example cabal script 2020-08-15 09:51:44 -07:00
Simon Michael
7f8192ba75 bin: hledger-swap-dates: replace here with string-qq, as elsewhere 2020-08-15 09:06:09 -07:00
Simon Michael
a051fd0dc4 ;doc: CONTRIBUTING: update deps -> packaging link 2020-08-11 18:12:03 -07:00
Simon Michael
edbc639f8e Revert "Use -split-sections on everything" (#1328)
This causes problems on mac at least, and we already do it in
.github/workflows/linux.yml, so probably best not to add it here.

This reverts commit 84d479cdc4.
2020-08-11 18:10:39 -07:00
Colin Woodbury
84d479cdc4 Use -split-sections on everything 2020-08-11 17:46:37 -07:00
Stephen Morgan
32e184f9a8 lib: Elide boring parents in tree mode even when using --empty. 2020-08-11 17:24:50 -07:00
Stephen Morgan
05e33965d6 ;tests: 219.test: use the more pertinent --no-elide flag 2020-08-11 17:22:40 -07:00
Stephen Morgan
242895f2fc tests: Remove commented test behaviour. 2020-08-11 17:22:21 -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
242f1ecfef ;examples: sample.csv tweaks, matching new doc 2020-08-11 09:55:51 -07:00
Simon Michael
3a32f28042 ;ci: mac: bust cache, trying to fix strange "cannot execute" error 2020-08-10 08:47:11 -07:00
Simon Michael
542052478d ;lib: Types pragmas 2020-08-10 06:22:40 -07:00
Simon Michael
87e570290b ;doc: note mislabelled change 2020-08-08 12:07:26 -07:00
Simon Michael
a0c12a730f ;makefile: note useful looking lib 2020-08-08 12:07:06 -07:00
Simon Michael
b76caae338 fix doctest breakage (#1312) 2020-08-08 08:53:55 -07:00
Stephen Morgan
f2dcbd2fee lib: Make ill-formed SmartDates unrepresentable. 2020-08-07 14:20:08 -07:00
Simon Michael
27d6b21dff lib: Hledger.Query: add total variants of matches* functions (#1312)
matchesAccount_
matchesAmount_
matchesCommodity_
matchesPosting_
matchesPriceDirective_
matchesTags_
matchesTransaction_

These don't yet have tests of their own, but were converted
mechanically from the originals which should help.
2020-08-07 07:53:00 -07:00
Simon Michael
108c548240 journal: when an account alias contains a bad regexp, show details
lib: accountNameApplyAliases, accountNameApplyAliasesMemo are now
total
2020-08-06 15:27:40 -07:00
Simon Michael
3822c27bfe ;lib: regex: rename & export RegexError, export toRegex_, docs (#1312) 2020-08-06 15:25:58 -07:00