Stephen Morgan 
							
						 
					 
					
						
						
						
						
							
						
						
							e9dd77e82b 
							
						 
					 
					
						
						
							
							fix: Ensure head and tail are not called on empty account names.  
						
						
						
					 
					
						2021-12-22 14:37: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 
							
						 
					 
					
						
						
						
						
							
						
						
							8274da81fc 
							
						 
					 
					
						
						
							
							cln: tests: Remove test and tests, which are just aliases for testCase  
						
						... 
						
						
						
						and testGroup.
Replacing these removes a layer of indirection, and reduces the need to
depend on Hledger.Utils.Test. 
						
					 
					
						2021-08-30 16:32:19 -10:00 
						 
				 
			
				
					
						
							
							
								Stephen Morgan 
							
						 
					 
					
						
						
						
						
							
						
						
							1e69fd81ea 
							
						 
					 
					
						
						
							
							cln: hlint: Remove if warnings.  
						
						
						
					 
					
						2021-08-26 07:23:11 -10:00 
						 
				 
			
				
					
						
							
							
								Lawrence Wu 
							
						 
					 
					
						
						
						
						
							
						
						
							f3c07144a8 
							
						 
					 
					
						
						
							
							bal: option to view one commodity per row  
						
						... 
						
						
						
						This adds the `--commodity-column` option that displays each commodity
on a separate line and the commodities themselves as a separate column.
The initial design considerations are at
simonmichael.hledger.issues.1559
The single-period balance report with `--commodity-column` does not
interoperate with custom formats. 
						
					 
					
						2021-08-08 09:19:25 -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 
							
						 
					 
					
						
						
						
						
							
						
						
							0b419adba2 
							
						 
					 
					
						
						
							
							lib: Remove unused Text utility functions.  
						
						
						
					 
					
						2021-06-03 23:23:54 -10:00 
						 
				 
			
				
					
						
							
							
								Stephen Morgan 
							
						 
					 
					
						
						
						
						
							
						
						
							0e59fee251 
							
						 
					 
					
						
						
							
							lib,cli: Export Text.Tabular from Text.Tabular.AsciiWide, clean up import lists.  
						
						
						
					 
					
						2021-06-03 23:23:54 -10:00 
						 
				 
			
				
					
						
							
							
								Stephen Morgan 
							
						 
					 
					
						
						
						
						
							
						
						
							5d664fc528 
							
						 
					 
					
						
						
							
							lib: Expose textConcatBottomPadded.  
						
						
						
					 
					
						2021-01-15 12:56:48 -08:00 
						 
				 
			
				
					
						
							
							
								Stephen Morgan 
							
						 
					 
					
						
						
						
						
							
						
						
							217bfc5e74 
							
						 
					 
					
						
						
							
							lib: Rename alignCell to textCell, minor cleanups.  
						
						
						
					 
					
						2021-01-15 12:56:48 -08:00 
						 
				 
			
				
					
						
							
							
								Stephen Morgan 
							
						 
					 
					
						
						
						
						
							
						
						
							9ad0eef69b 
							
						 
					 
					
						
						
							
							lib: Update textConcatTopPadded to use Tabular.AsciiWide, same as concatTopPadded.  
						
						
						
					 
					
						2021-01-15 12:56:48 -08:00 
						 
				 
			
				
					
						
							
							
								Stephen Morgan 
							
						 
					 
					
						
						
						
						
							
						
						
							2c2bd8b27e 
							
						 
					 
					
						
						
							
							lib: Refactor unlinesB to be cleaner and more efficient.  
						
						
						
					 
					
						2021-01-15 12:56:48 -08:00 
						 
				 
			
				
					
						
							
							
								Stephen Morgan 
							
						 
					 
					
						
						
						
						
							
						
						
							b203822cd1 
							
						 
					 
					
						
						
							
							lib: Make sure to add a newline to the end of aregister report.  
						
						
						
					 
					
						2021-01-10 20:50:46 -08: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 
							
						 
					 
					
						
						
						
						
							
						
						
							07a7c3d3a8 
							
						 
					 
					
						
						
							
							lib: Use Text and Text builder only in postingAsLines.  
						
						
						
					 
					
						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 
							
						 
					 
					
						
						
						
						
							
						
						
							5dedec83da 
							
						 
					 
					
						
						
							
							lib: showamountquantity shows directly, rather than parsing string output of show instance for Quantity.  
						
						
						
					 
					
						2021-01-02 15:08:09 +11:00 
						 
				 
			
				
					
						
							
							
								Stephen Morgan 
							
						 
					 
					
						
						
						
						
							
						
						
							f998a791cf 
							
						 
					 
					
						
						
							
							lib: Remove unused optional width argument for StringFormat.  
						
						
						
					 
					
						2021-01-02 15:08:09 +11:00 
						 
				 
			
				
					
						
							
							
								Stephen Morgan 
							
						 
					 
					
						
						
						
						
							
						
						
							462a13cad7 
							
						 
					 
					
						
						
							
							lib,cli: Use Text Builder for Balance commands.  
						
						
						
					 
					
						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 
							
						 
					 
					
						
						
						
						
							
						
						
							12a6435c51 
							
						 
					 
					
						
						
							
							lib: Add wrap convenience function.  
						
						
						
					 
					
						2021-01-02 15:08:09 +11:00 
						 
				 
			
				
					
						
							
							
								Stephen Morgan 
							
						 
					 
					
						
						
						
						
							
						
						
							6d7bd9e475 
							
						 
					 
					
						
						
							
							lib: Implement concat(Top|Bottom)Padded in terms of renderRow, allowing them to be width aware.  
						
						
						
					 
					
						2020-11-04 14:25:21 +11:00 
						 
				 
			
				
					
						
							
							
								Stephen Morgan 
							
						 
					 
					
						
						
						
						
							
						
						
							ba59fed6b2 
							
						 
					 
					
						
						
							
							lib: Replace more instances of fromIntegral with safer versions.  
						
						
						
					 
					
						2020-08-30 22:20:58 +10:00 
						 
				 
			
				
					
						
							
							
								Stephen Morgan 
							
						 
					 
					
						
						
						
						
							
						
						
							ffb5cf0773 
							
						 
					 
					
						
						
							
							lib: Ensure parsed years have at least 4 digits.  
						
						
						
					 
					
						2020-07-31 17:22:27 -07:00 
						 
				 
			
				
					
						
							
							
								Stephen Morgan 
							
						 
					 
					
						
						
						
						
							
						
						
							dc076b0d5b 
							
						 
					 
					
						
						
							
							lib: Use text library functions for stripping.  
						
						
						
					 
					
						2020-07-16 10:03:25 -07:00 
						 
				 
			
				
					
						
							
							
								Simon Michael 
							
						 
					 
					
						
						
						
						
							
						
						
							b86ced5ee9 
							
						 
					 
					
						
						
							
							lib: replace jsonPrettyText with toJsonText in Hledger.Data.Json  
						
						
						
					 
					
						2020-06-06 12:54:58 -07:00 
						 
				 
			
				
					
						
							
							
								Simon Michael 
							
						 
					 
					
						
						
						
						
							
						
						
							d963944c99 
							
						 
					 
					
						
						
							
							lib: add jsonPrettyText helper, depend on aeson-pretty  
						
						
						
					 
					
						2020-06-04 15:12:57 -07:00 
						 
				 
			
				
					
						
							
							
								Simon Michael 
							
						 
					 
					
						
						
						
						
							
						
						
							bb6e1e3ce2 
							
						 
					 
					
						
						
							
							;lib: export textQuoteIfNeeded  
						
						... 
						
						
						
						[ci skip] 
						
					 
					
						2020-02-03 10:10:46 -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 
							
						 
					 
					
						
						
						
						
							
						
						
							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 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							35799142dd 
							
						 
					 
					
						
						
							
							Merge pull request  #914  from simonmichael/rule-tags  
						
						... 
						
						
						
						tags for matching rule-generated txns and postings 
						
					 
					
						2019-07-17 18:38:14 +01:00 
						 
				 
			
				
					
						
							
							
								Caleb Maclennan 
							
						 
					 
					
						
						
						
						
							
						
						
							11d9e5eb6a 
							
						 
					 
					
						
						
							
							code: Strip extraneous trailing whitespace from Haskell sources  
						
						
						
					 
					
						2019-07-15 16:40:49 +01:00 
						 
				 
			
				
					
						
							
							
								Simon Michael 
							
						 
					 
					
						
						
						
						
							
						
						
							91b111b60d 
							
						 
					 
					
						
						
							
							rename easytests_* to tests_*  
						
						
						
					 
					
						2018-09-06 13:13:26 -07:00 
						 
				 
			
				
					
						
							
							
								Simon Michael 
							
						 
					 
					
						
						
						
						
							
						
						
							51618adc37 
							
						 
					 
					
						
						
							
							tests: use is in a few more places  
						
						
						
					 
					
						2018-09-04 13:39:21 -07:00 
						 
				 
			
				
					
						
							
							
								Simon Michael 
							
						 
					 
					
						
						
						
						
							
						
						
							bbecb28cae 
							
						 
					 
					
						
						
							
							tests: Utils -> easytest  
						
						
						
					 
					
						2018-09-03 15:54:53 -07:00 
						 
				 
			
				
					
						
							
							
								Simon Michael 
							
						 
					 
					
						
						
						
						
							
						
						
							d778a92561 
							
						 
					 
					
						
						
							
							tests: export HUnit/EasyTest from Hledger.Utils.Test; more helpers  
						
						
						
					 
					
						2018-08-18 15:19:59 +01:00 
						 
				 
			
				
					
						
							
							
								Pavlo Kerestey 
							
						 
					 
					
						
						
						
						
							
						
						
							63d4c51dc4 
							
						 
					 
					
						
						
							
							Use quoteIfNeeded in quoteIfSpaced. Fix escapeDoubleQuotes to escape  
						
						
						
					 
					
						2018-04-12 12:04:20 -07:00 
						 
				 
			
				
					
						
							
							
								Pavlo Kerestey 
							
						 
					 
					
						
						
						
						
							
						
						
							980210070a 
							
						 
					 
					
						
						
							
							Explicit exports of Hledger.Utils.Text  
						
						
						
					 
					
						2018-04-12 12:04:20 -07:00 
						 
				 
			
				
					
						
							
							
								Simon Michael 
							
						 
					 
					
						
						
						
						
							
						
						
							84579bb1b4 
							
						 
					 
					
						
						
							
							silence redundant import warnings with ghc 8.4  
						
						
						
					 
					
						2018-03-24 22:51:56 +00:00 
						 
				 
			
				
					
						
							
							
								Moritz Kiefer 
							
						 
					 
					
						
						
						
						
							
						
						
							4141067428 
							
						 
					 
					
						
						
							
							Replace Parsec with Megaparsec (see  #289 ) ( #366 )  
						
						... 
						
						
						
						* Replace Parsec with Megaparsec (see #289 )
This builds upon PR #289  by @rasendubi
* Revert renaming of parseWithState to parseWithCtx
* Fix doctests
* Update for Megaparsec 5
* Specialize parser to improve performance
* Pretty print errors
* Swap StateT and ParsecT
This is necessary to get the correct backtracking behavior, i.e. discard
state changes if the parsing fails. 
						
					 
					
						2016-07-29 08:57:10 -07:00 
						 
				 
			
				
					
						
							
							
								Simon Michael 
							
						 
					 
					
						
						
						
						
							
						
						
							770dcee742 
							
						 
					 
					
						
						
							
							lib: textification: comments and tags  
						
						... 
						
						
						
						No change.
hledger -f data/100x100x10.journal stats
<<ghc: 42859576 bytes, 84 GCs, 193781/269984 avg/max bytes residency (3 samples), 2M in use, 0.000 INIT (0.001 elapsed), 0.016 MUT (0.020 elapsed), 0.009 GC (0.011 elapsed) :ghc>>
<<ghc: 42859576 bytes, 84 GCs, 193781/269984 avg/max bytes residency (3 samples), 2M in use, 0.000 INIT (0.001 elapsed), 0.015 MUT (0.018 elapsed), 0.009 GC (0.013 elapsed) :ghc>>
hledger -f data/1000x1000x10.journal stats
<<ghc: 349576344 bytes, 681 GCs, 1407388/4091680 avg/max bytes residency (7 samples), 11M in use, 0.000 INIT (0.000 elapsed), 0.124 MUT (0.130 elapsed), 0.047 GC (0.055 elapsed) :ghc>>
<<ghc: 349576280 bytes, 681 GCs, 1407388/4091680 avg/max bytes residency (7 samples), 11M in use, 0.000 INIT (0.000 elapsed), 0.126 MUT (0.132 elapsed), 0.049 GC (0.058 elapsed) :ghc>>
hledger -f data/10000x1000x10.journal stats
<<ghc: 3424030664 bytes, 6658 GCs, 11403359/41071624 avg/max bytes residency (11 samples), 111M in use, 0.000 INIT (0.000 elapsed), 1.207 MUT (1.228 elapsed), 0.473 GC (0.528 elapsed) :ghc>>
<<ghc: 3424030760 bytes, 6658 GCs, 11403874/41077288 avg/max bytes residency (11 samples), 111M in use, 0.000 INIT (0.002 elapsed), 1.234 MUT (1.256 elapsed), 0.470 GC (0.520 elapsed) :ghc>>
hledger -f data/100000x1000x10.journal stats
<<ghc: 34306547448 bytes, 66727 GCs, 76805504/414629288 avg/max bytes residency (14 samples), 1009M in use, 0.000 INIT (0.003 elapsed), 12.615 MUT (12.813 elapsed), 4.656 GC (5.291 elapsed) :ghc>>
<<ghc: 34306547320 bytes, 66727 GCs, 76805504/414629288 avg/max bytes residency (14 samples), 1009M in use, 0.000 INIT (0.009 elapsed), 12.802 MUT (13.065 elapsed), 4.774 GC (5.441 elapsed) :ghc>> 
						
					 
					
						2016-05-24 19:00:57 -07:00 
						 
				 
			
				
					
						
							
							
								Simon Michael 
							
						 
					 
					
						
						
						
						
							
						
						
							c89c33b36e 
							
						 
					 
					
						
						
							
							lib: textification: parse stream  
						
						... 
						
						
						
						10% more allocation, but 35% lower maximum residency, and slightly quicker.
hledger -f data/100x100x10.journal stats
<<ghc: 39327768 bytes, 77 GCs, 196834/269496 avg/max bytes residency (3 samples), 2M in use, 0.000 INIT (0.010 elapsed), 0.020 MUT (0.092 elapsed), 0.014 GC (0.119 elapsed) :ghc>>
<<ghc: 42842136 bytes, 84 GCs, 194010/270912 avg/max bytes residency (3 samples), 2M in use, 0.000 INIT (0.009 elapsed), 0.016 MUT (0.029 elapsed), 0.012 GC (0.120 elapsed) :ghc>>
hledger -f data/1000x1000x10.journal stats
<<ghc: 314291440 bytes, 612 GCs, 2070776/6628048 avg/max bytes residency (7 samples), 16M in use, 0.000 INIT (0.000 elapsed), 0.128 MUT (0.144 elapsed), 0.059 GC (0.070 elapsed) :ghc>>
<<ghc: 349558872 bytes, 681 GCs, 1397597/4106384 avg/max bytes residency (7 samples), 11M in use, 0.000 INIT (0.004 elapsed), 0.124 MUT (0.133 elapsed), 0.047 GC (0.053 elapsed) :ghc>>
hledger -f data/10000x1000x10.journal stats
<<ghc: 3070026824 bytes, 5973 GCs, 12698030/62951784 avg/max bytes residency (10 samples), 124M in use, 0.000 INIT (0.002 elapsed), 1.268 MUT (1.354 elapsed), 0.514 GC (0.587 elapsed) :ghc>>
<<ghc: 3424013128 bytes, 6658 GCs, 11405501/41071624 avg/max bytes residency (11 samples), 111M in use, 0.000 INIT (0.001 elapsed), 1.343 MUT (1.406 elapsed), 0.511 GC (0.573 elapsed) :ghc>>
hledger -f data/100000x1000x10.journal stats
<<ghc: 30753387392 bytes, 59811 GCs, 117615462/666703600 avg/max bytes residency (14 samples), 1588M in use, 0.000 INIT (0.000 elapsed), 12.068 MUT (12.238 elapsed), 6.015 GC (7.190 elapsed) :ghc>>
<<ghc: 34306530696 bytes, 66727 GCs, 76806196/414629312 avg/max bytes residency (14 samples), 1009M in use, 0.000 INIT (0.010 elapsed), 14.357 MUT (16.370 elapsed), 5.298 GC (6.534 elapsed) :ghc>> 
						
					 
					
						2016-05-24 19:00:57 -07:00 
						 
				 
			
				
					
						
							
							
								Simon Michael 
							
						 
					 
					
						
						
						
						
							
						
						
							2538d14ea7 
							
						 
					 
					
						
						
							
							lib: textification begins! account names  
						
						... 
						
						
						
						The first of several conversions from String to (strict) Text, hopefully
reducing space and time usage.
This one shows a small improvement, with GHC 7.10.3 and text-1.2.2.1:
hledger -f data/100x100x10.journal stats
string: <<ghc: 39471064 bytes, 77 GCs, 198421/275048 avg/max bytes residency (3 samples), 2M in use, 0.000 INIT (0.001 elapsed), 0.015 MUT (0.020 elapsed), 0.010 GC (0.014 elapsed) :ghc>>
text:   <<ghc: 39268024 bytes, 77 GCs, 197018/270840 avg/max bytes residency (3 samples), 2M in use, 0.000 INIT (0.002 elapsed), 0.016 MUT (0.022 elapsed), 0.009 GC (0.011 elapsed) :ghc>>
hledger -f data/1000x100x10.journal stats
string: <<ghc: 318555920 bytes, 617 GCs, 2178997/7134472 avg/max bytes residency (7 samples), 16M in use, 0.000 INIT (0.001 elapsed), 0.129 MUT (0.136 elapsed), 0.067 GC (0.077 elapsed) :ghc>>
text:   <<ghc: 314248496 bytes, 612 GCs, 2074045/6617960 avg/max bytes residency (7 samples), 16M in use, 0.000 INIT (0.003 elapsed), 0.137 MUT (0.145 elapsed), 0.067 GC (0.079 elapsed) :ghc>>
hledger -f data/10000x100x10.journal stats
string: <<ghc: 3114763608 bytes, 6026 GCs, 18858950/75552024 avg/max bytes residency (11 samples), 201M in use, 0.000 INIT (0.000 elapsed), 1.331 MUT (1.372 elapsed), 0.699 GC (0.812 elapsed) :ghc>>
text:   <<ghc: 3071468920 bytes, 5968 GCs, 14120344/62951360 avg/max bytes residency (9 samples), 124M in use, 0.000 INIT (0.003 elapsed), 1.272 MUT (1.349 elapsed), 0.513 GC (0.578 elapsed) :ghc>>
hledger -f data/100000x100x10.journal stats
string: <<ghc: 31186579432 bytes, 60278 GCs, 135332581/740228992 avg/max bytes residency (13 samples), 1697M in use, 0.000 INIT (0.008 elapsed), 14.677 MUT (15.508 elapsed), 7.081 GC (8.074 elapsed) :ghc>>
text:   <<ghc: 30753427672 bytes, 59763 GCs, 117595958/666457240 avg/max bytes residency (14 samples), 1588M in use, 0.000 INIT (0.008 elapsed), 13.713 MUT (13.966 elapsed), 6.220 GC (7.108 elapsed) :ghc>> 
						
					 
					
						2016-05-24 19:00:49 -07:00