Simon Michael 
							
						 
					 
					
						
						
						
						
							
						
						
							d537f1fe07 
							
						 
					 
					
						
						
							
							csv: allow single field matching; more docs and tests  
						
						
						
					 
					
						2020-02-26 08:55:55 -08:00 
						 
				 
			
				
					
						
							
							
								Simon Michael 
							
						 
					 
					
						
						
						
						
							
						
						
							becd891dd1 
							
						 
					 
					
						
						
							
							;csv: Matcher type, simplify  
						
						
						
					 
					
						2020-02-25 13:44:45 -08:00 
						 
				 
			
				
					
						
							
							
								Simon Michael 
							
						 
					 
					
						
						
						
						
							
						
						
							1cbce98a68 
							
						 
					 
					
						
						
							
							;csv: refactor, ConditionalBlock ADT  
						
						
						
					 
					
						2020-02-25 13:44:45 -08:00 
						 
				 
			
				
					
						
							
							
								Simon Michael 
							
						 
					 
					
						
						
						
						
							
						
						
							2d90074b2e 
							
						 
					 
					
						
						
							
							;csv: avoid a potential display of internal placeholder ( #1192 )  
						
						... 
						
						
						
						With a multicommodity amount, the unknown account name will always be
"expenses:unknown". 
						
					 
					
						2020-02-15 14:02:53 -08:00 
						 
				 
			
				
					
						
							
							
								Simon Michael 
							
						 
					 
					
						
						
						
						
							
						
						
							017d3355f8 
							
						 
					 
					
						
						
							
							csv: allow manual assignment of "expenses:unknown" again ( fix   #1192 )  
						
						
						
					 
					
						2020-02-15 13:52:59 -08:00 
						 
				 
			
				
					
						
							
							
								Simon Michael 
							
						 
					 
					
						
						
						
						
							
						
						
							80ab45984b 
							
						 
					 
					
						
						
							
							csv: also recognise .tsv, .ssv extensions; document thoroughly ( #1179 )  
						
						
						
					 
					
						2020-01-20 12:58:47 -08:00 
						 
				 
			
				
					
						
							
							
								Aleksandar Dimitrov 
							
						 
					 
					
						
						
						
						
							
						
						
							3ead97975c 
							
						 
					 
					
						
						
							
							Inline function, add debug statement  
						
						
						
					 
					
						2020-01-05 14:45:57 -08:00 
						 
				 
			
				
					
						
							
							
								Aleksandar Dimitrov 
							
						 
					 
					
						
						
						
						
							
						
						
							9011aaa5ba 
							
						 
					 
					
						
						
							
							Refactor getSeparator  
						
						
						
					 
					
						2020-01-05 14:45:57 -08:00 
						 
				 
			
				
					
						
							
							
								Aleksandar Dimitrov 
							
						 
					 
					
						
						
						
						
							
						
						
							92f680875f 
							
						 
					 
					
						
						
							
							Parse reserved words case insensitively  
						
						
						
					 
					
						2020-01-05 14:45:57 -08:00 
						 
				 
			
				
					
						
							
							
								Aleksandar Dimitrov 
							
						 
					 
					
						
						
						
						
							
						
						
							8df4e1ed83 
							
						 
					 
					
						
						
							
							Remove --separator command line argument  
						
						
						
					 
					
						2020-01-05 14:45:57 -08:00 
						 
				 
			
				
					
						
							
							
								Aleksandar Dimitrov 
							
						 
					 
					
						
						
						
						
							
						
						
							02d9205af7 
							
						 
					 
					
						
						
							
							Allow separator to be overridden from command line  
						
						... 
						
						
						
						This also fixes that parsing separators on the command line and the
rules file was not handled the same way. 
						
					 
					
						2020-01-05 14:45:57 -08:00 
						 
				 
			
				
					
						
							
							
								Aleksandar Dimitrov 
							
						 
					 
					
						
						
						
						
							
						
						
							b524a088c7 
							
						 
					 
					
						
						
							
							Implement getting separator from rules  
						
						
						
					 
					
						2020-01-05 14:45:57 -08:00 
						 
				 
			
				
					
						
							
							
								Aleksandar Dimitrov 
							
						 
					 
					
						
						
						
						
							
						
						
							32ccc3a2b2 
							
						 
					 
					
						
						
							
							Add directive  
						
						
						
					 
					
						2020-01-05 14:45:57 -08:00 
						 
				 
			
				
					
						
							
							
								Aleksandar Dimitrov 
							
						 
					 
					
						
						
						
						
							
						
						
							ec0f55d18e 
							
						 
					 
					
						
						
							
							Add missing type signature  
						
						
						
					 
					
						2020-01-05 14:45:57 -08:00 
						 
				 
			
				
					
						
							
							
								Aleksandar Dimitrov 
							
						 
					 
					
						
						
						
						
							
						
						
							b104b3b8a3 
							
						 
					 
					
						
						
							
							Explictly discard result  
						
						
						
					 
					
						2020-01-05 14:45:57 -08:00 
						 
				 
			
				
					
						
							
							
								Aleksandar Dimitrov 
							
						 
					 
					
						
						
						
						
							
						
						
							42d585d20b 
							
						 
					 
					
						
						
							
							Refactor: rename variable  
						
						
						
					 
					
						2020-01-05 14:45:57 -08:00 
						 
				 
			
				
					
						
							
							
								Aleksandar Dimitrov 
							
						 
					 
					
						
						
						
						
							
						
						
							63cda87e86 
							
						 
					 
					
						
						
							
							Whitespace  
						
						
						
					 
					
						2020-01-05 14:45:57 -08:00 
						 
				 
			
				
					
						
							
							
								Brian Wignall 
							
						 
					 
					
						
						
						
						
							
						
						
							2852f9dbee 
							
						 
					 
					
						
						
							
							Fix typos  
						
						
						
					 
					
						2019-12-21 12:09:05 -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 
							
						 
					 
					
						
						
						
						
							
						
						
							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 
							
						 
					 
					
						
						
						
						
							
						
						
							318ce7eb07 
							
						 
					 
					
						
						
							
							remove old fail compatibility imports that are obsolete ?  
						
						
						
					 
					
						2019-12-01 08:31:50 -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 
						 
				 
			
				
					
						
							
							
								Dmitry Astapov 
							
						 
					 
					
						
						
						
						
							
						
						
							aa051a05cf 
							
						 
					 
					
						
						
							
							lib: support generation of (un)balanced virtual postings in csv reader  
						
						
						
					 
					
						2019-11-23 10:28:10 -08:00 
						 
				 
			
				
					
						
							
							
								Mykola Orliuk 
							
						 
					 
					
						
						
						
						
							
						
						
							097486a247 
							
						 
					 
					
						
						
							
							;lib: re-enable doctests  
						
						
						
					 
					
						2019-11-19 03:58:56 -08:00 
						 
				 
			
				
					
						
							
							
								Dmitry Astapov 
							
						 
					 
					
						
						
						
						
							
						
						
							c4d650e6ad 
							
						 
					 
					
						
						
							
							lib: balance-style -> balance-type  
						
						
						
					 
					
						2019-11-13 09:06:25 -08:00 
						 
				 
			
				
					
						
							
							
								Dmitry Astapov 
							
						 
					 
					
						
						
						
						
							
						
						
							39bc183340 
							
						 
					 
					
						
						
							
							lib: csv reader gets balance-style directive  
						
						
						
					 
					
						2019-11-13 09:06:25 -08:00 
						 
				 
			
				
					
						
							
							
								Simon Michael 
							
						 
					 
					
						
						
						
						
							
						
						
							fb3c1a132c 
							
						 
					 
					
						
						
							
							csv: fix parsing of whitespace on line after an if block ( fix   #1120 )  
						
						
						
					 
					
						2019-11-13 05:41:32 -08:00 
						 
				 
			
				
					
						
							
							
								Dmitry Astapov 
							
						 
					 
					
						
						
						
						
							
						
						
							94f912e558 
							
						 
					 
					
						
						
							
							lib: better resolution of csv field aliases ("balance" vs "balance1", etc)  
						
						
						
					 
					
						2019-11-12 12:20:09 -08:00 
						 
				 
			
				
					
						
							
							
								Simon Michael 
							
						 
					 
					
						
						
						
						
							
						
						
							c4d7cc198a 
							
						 
					 
					
						
						
							
							csv: finalise and check journals generated from CSV ( #1000 )  
						
						... 
						
						
						
						Invalid transactions generated from CSV will now be rejected.
I updated some csv tests to avoid this, except for 21, which
probably needs more cleanup. 
						
					 
					
						2019-11-07 18:58:12 -08:00 
						 
				 
			
				
					
						
							
							
								Dmitry Astapov 
							
						 
					 
					
						
						
						
						
							
						
						
							fc001da1ef 
							
						 
					 
					
						
						
							
							lib: expenses:unknown is a much better default account name  
						
						
						
					 
					
						2019-11-05 21:16:42 +00:00 
						 
				 
			
				
					
						
							
							
								Dmitry Astapov 
							
						 
					 
					
						
						
						
						
							
						
						
							c66ccc5cee 
							
						 
					 
					
						
						
							
							lib: do not try to balance transaction in csv reader  
						
						
						
					 
					
						2019-11-05 21:16:42 +00:00 
						 
				 
			
				
					
						
							
							
								Dmitry Astapov 
							
						 
					 
					
						
						
						
						
							
						
						
							95ec5715cc 
							
						 
					 
					
						
						
							
							lib: better compatibility code in csv reader  
						
						
						
					 
					
						2019-11-05 21:16:42 +00:00 
						 
				 
			
				
					
						
							
							
								Dmitry Astapov 
							
						 
					 
					
						
						
						
						
							
						
						
							d62f84bec2 
							
						 
					 
					
						
						
							
							lib: csv reader does not generate postings if account=""  
						
						
						
					 
					
						2019-11-05 21:16:42 +00:00 
						 
				 
			
				
					
						
							
							
								Dmitry Astapov 
							
						 
					 
					
						
						
						
						
							
						
						
							8d24a40150 
							
						 
					 
					
						
						
							
							lib: csv parser fills out amounts on all postings, if possible  
						
						
						
					 
					
						2019-11-05 21:16:42 +00:00 
						 
				 
			
				
					
						
							
							
								Dmitry Astapov 
							
						 
					 
					
						
						
						
						
							
						
						
							637741a755 
							
						 
					 
					
						
						
							
							lib: amount1 is no longer magical  
						
						
						
					 
					
						2019-11-05 21:16:42 +00:00 
						 
				 
			
				
					
						
							
							
								Dmitry Astapov 
							
						 
					 
					
						
						
						
						
							
						
						
							977592e49c 
							
						 
					 
					
						
						
							
							lib: typo fix, "expense:unknown" -> "expenses:unknown"  
						
						
						
					 
					
						2019-11-05 21:16:42 +00:00 
						 
				 
			
				
					
						
							
							
								Dmitry Astapov 
							
						 
					 
					
						
						
						
						
							
						
						
							3c7d5d466d 
							
						 
					 
					
						
						
							
							lib, doc, test: csv parser gains "end" command for "if" block  
						
						
						
					 
					
						2019-11-05 21:16:42 +00:00 
						 
				 
			
				
					
						
							
							
								Dmitry Astapov 
							
						 
					 
					
						
						
						
						
							
						
						
							f92590f92c 
							
						 
					 
					
						
						
							
							lib: allow zero postings in csv reader  
						
						
						
					 
					
						2019-11-05 21:16:42 +00:00 
						 
				 
			
				
					
						
							
							
								Dmitry Astapov 
							
						 
					 
					
						
						
						
						
							
						
						
							1ab8631264 
							
						 
					 
					
						
						
							
							lib: change default rules file text to mention "amount1"  
						
						
						
					 
					
						2019-11-05 21:16:42 +00:00 
						 
				 
			
				
					
						
							
							
								Dmitry Astapov 
							
						 
					 
					
						
						
						
						
							
						
						
							32cbe4c7b3 
							
						 
					 
					
						
						
							
							lib: better inference for unknown account names in csv parser  
						
						
						
					 
					
						2019-11-05 21:16:42 +00:00 
						 
				 
			
				
					
						
							
							
								Dmitry Astapov 
							
						 
					 
					
						
						
						
						
							
						
						
							b5d4918c16 
							
						 
					 
					
						
						
							
							lib: allow recursive interpolation of fields with underscores in names  
						
						
						
					 
					
						2019-11-05 21:16:42 +00:00 
						 
				 
			
				
					
						
							
							
								Dmitry Astapov 
							
						 
					 
					
						
						
						
						
							
						
						
							38db7eb24d 
							
						 
					 
					
						
						
							
							lib: implement skip end in csv reader  
						
						
						
					 
					
						2019-11-05 21:16:42 +00:00 
						 
				 
			
				
					
						
							
							
								Dmitry Astapov 
							
						 
					 
					
						
						
						
						
							
						
						
							b2ba1086b6 
							
						 
					 
					
						
						
							
							lib: fixed validation rules for minimul viable csv rules to include account1 etc  
						
						
						
					 
					
						2019-11-05 21:16:42 +00:00 
						 
				 
			
				
					
						
							
							
								Dmitry Astapov 
							
						 
					 
					
						
						
						
						
							
						
						
							f1ab107400 
							
						 
					 
					
						
						
							
							lib, doc: extended "skip" in "if" body to "skip N"  
						
						
						
					 
					
						2019-11-05 21:16:42 +00:00 
						 
				 
			
				
					
						
							
							
								Dmitry Astapov 
							
						 
					 
					
						
						
						
						
							
						
						
							f108b52171 
							
						 
					 
					
						
						
							
							lib: fix for  #1001  - empty field assignment consumes next line  
						
						
						
					 
					
						2019-11-05 21:16:42 +00:00 
						 
				 
			
				
					
						
							
							
								Dmitry Astapov 
							
						 
					 
					
						
						
						
						
							
						
						
							5dac141a7e 
							
						 
					 
					
						
						
							
							lib: implement conditional line skips in csv ( fixes   #1076 )  
						
						
						
					 
					
						2019-11-05 21:16:42 +00:00 
						 
				 
			
				
					
						
							
							
								Dmitry Astapov 
							
						 
					 
					
						
						
						
						
							
						
						
							f74df08e98 
							
						 
					 
					
						
						
							
							lib: fix accidental switch of income:unknown and expence:unknown in csv parser  
						
						
						
					 
					
						2019-11-05 21:16:42 +00:00 
						 
				 
			
				
					
						
							
							
								Dmitry Astapov 
							
						 
					 
					
						
						
						
						
							
						
						
							77fa81ea4d 
							
						 
					 
					
						
						
							
							lib: fix error message formatting (header displayed twice)  
						
						
						
					 
					
						2019-11-05 21:16:42 +00:00 
						 
				 
			
				
					
						
							
							
								Dmitry Astapov 
							
						 
					 
					
						
						
						
						
							
						
						
							825b9ce5b3 
							
						 
					 
					
						
						
							
							lib: fixed amount vs amount1 conflict detection in csv parser  
						
						
						
					 
					
						2019-11-05 21:16:42 +00:00 
						 
				 
			
				
					
						
							
							
								Dmitry Astapov 
							
						 
					 
					
						
						
						
						
							
						
						
							881422cd0f 
							
						 
					 
					
						
						
							
							lib: fix recursive interpolation in CSV parser for fields with dashes  
						
						
						
					 
					
						2019-11-05 21:16:42 +00:00 
						 
				 
			
				
					
						
							
							
								Dmitry Astapov 
							
						 
					 
					
						
						
						
						
							
						
						
							e4476dd2f1 
							
						 
					 
					
						
						
							
							lib: more robust "unknown" account assignment in csv parser  
						
						
						
					 
					
						2019-11-05 21:16:42 +00:00 
						 
				 
			
				
					
						
							
							
								Dmitry Astapov 
							
						 
					 
					
						
						
						
						
							
						
						
							28ca65b99a 
							
						 
					 
					
						
						
							
							lib: more explicit conditions for using legacy csv parser  
						
						
						
					 
					
						2019-11-05 21:16:42 +00:00 
						 
				 
			
				
					
						
							
							
								Dmitry Astapov 
							
						 
					 
					
						
						
						
						
							
						
						
							e4add6df83 
							
						 
					 
					
						
						
							
							lib: fix for multiline descriptions in csv ( fixes   #841 ,  #416 )  
						
						
						
					 
					
						2019-11-05 21:16:42 +00:00 
						 
				 
			
				
					
						
							
							
								Dmitry Astapov 
							
						 
					 
					
						
						
						
						
							
						
						
							9aab476d53 
							
						 
					 
					
						
						
							
							lib: csv parser supports up to 9 postings.  Fixes   #570 ,  #627  
						
						
						
					 
					
						2019-11-05 21:16:42 +00:00 
						 
				 
			
				
					
						
							
							
								Simon Michael 
							
						 
					 
					
						
						
						
						
							
						
						
							eff1b31c86 
							
						 
					 
					
						
						
							
							csv: allow csv records with varying lengths, padding with empties  
						
						... 
						
						
						
						Sometimes trailing empty fields are omitted entirely (including the
commas) in CSV records. (I see this in exported Google spreadsheets.)
Now we don't raise an error in this case, instead we automatically pad
any "short" records with empty fields. Not yet well tested. 
						
					 
					
						2019-10-07 14:54:36 -10:00 
						 
				 
			
				
					
						
							
							
								Simon Michael 
							
						 
					 
					
						
						
						
						
							
						
						
							f92b2fe6ef 
							
						 
					 
					
						
						
							
							;lib: csv: refactor: clarify, get rid of some IO/ExceptT  
						
						... 
						
						
						
						Rule parsing doesn't need IO (since we are doing expandIncludes as a
pre-parsing step). 
						
					 
					
						2019-09-14 03:45:37 -07:00 
						 
				 
			
				
					
						
							
							
								Simon Michael 
							
						 
					 
					
						
						
						
						
							
						
						
							3c05662ce2 
							
						 
					 
					
						
						
							
							;lib: csv: clarify confusing imports  
						
						
						
					 
					
						2019-09-13 18:11:40 -07:00 
						 
				 
			
				
					
						
							
							
								Simon Michael 
							
						 
					 
					
						
						
						
						
							
						
						
							46caa1d4ef 
							
						 
					 
					
						
						
							
							;lib: csv: rename error-prone default rules  
						
						
						
					 
					
						2019-09-13 17:51:14 -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 
							
						 
					 
					
						
						
						
						
							
						
						
							0a3af8d9ee 
							
						 
					 
					
						
						
							
							csv: strip outer whitespace when interpolating CSV values ( #1051 )  
						
						... 
						
						
						
						This removes a potential snag in amount field assignments, and
hopefully is harmless and acceptable otherwise. 
						
					 
					
						2019-06-14 16:43:12 -07:00 
						 
				 
			
				
					
						
							
							
								Simon Michael 
							
						 
					 
					
						
						
						
						
							
						
						
							d2b3185062 
							
						 
					 
					
						
						
							
							csv: don't show invalid inter-field spaces in CSV error messages  
						
						... 
						
						
						
						Errors involving a record like:
2000-01-01,a,"1"
displayed the record with extra spaces:
the CSV record is:       "2000-01-01", "a", "1"
which was not accurate or valid RFC-4180. 
						
					 
					
						2019-06-14 16:17:40 -07:00 
						 
				 
			
				
					
						
							
							
								Simon Michael 
							
						 
					 
					
						
						
						
						
							
						
						
							90af360792 
							
						 
					 
					
						
						
							
							csv: fix parse error printing, broken since 1.11 ( #1038 )  
						
						
						
					 
					
						2019-06-06 23:10:31 -07:00 
						 
				 
			
				
					
						
							
							
								Simon Michael 
							
						 
					 
					
						
						
						
						
							
						
						
							61e8ccbf88 
							
						 
					 
					
						
						
							
							csv: accept a balance field assignment instead of an amount ( #1000 )  
						
						
						
					 
					
						2019-04-03 10:46:26 -07:00 
						 
				 
			
				
					
						
							
							
								Dmitry Astapov 
							
						 
					 
					
						
						
						
						
							
						
						
							3c3200fa66 
							
						 
					 
					
						
						
							
							lib: csv parser support for 'balance2', 'balance' renamed to 'balance1'  
						
						
						
					 
					
						2019-03-15 16:18:43 -07:00 
						 
				 
			
				
					
						
							
							
								Simon Michael 
							
						 
					 
					
						
						
						
						
							
						
						
							c5df73910f 
							
						 
					 
					
						
						
							
							csv: update some parse errors which weren't in human format  
						
						... 
						
						
						
						cf
https://www.reddit.com/r/plaintextaccounting/comments/axekse/hledger_how_to_create_curved_brackets_with_rule/  
						
					 
					
						2019-03-05 06:23:11 -08:00 
						 
				 
			
				
					
						
							
							
								Simon Michael 
							
						 
					 
					
						
						
						
						
							
						
						
							6f36702141 
							
						 
					 
					
						
						
							
							lib: rename, reposition tprecedingcomment field  
						
						
						
					 
					
						2019-01-05 07:35:54 +00:00 
						 
				 
			
				
					
						
							
							
								Samuel May 
							
						 
					 
					
						
						
						
						
							
						
						
							e57ef9e9a9 
							
						 
					 
					
						
						
							
							lib: journal: Add support for exact assertions  
						
						
						
					 
					
						2018-10-22 09:55:14 -07:00 
						 
				 
			
				
					
						
							
							
								Samuel May 
							
						 
					 
					
						
						
						
						
							
						
						
							cde91fc5f4 
							
						 
					 
					
						
						
							
							lib: Make BalanceAssertion a full datatype  
						
						... 
						
						
						
						Note: simplifies/moves whitespace parsing out of the balance assertion
parser. 
						
					 
					
						2018-10-22 09:55:14 -07:00 
						 
				 
			
				
					
						
							
							
								Alex Chen 
							
						 
					 
					
						
						
						
						
							
						
						
							3d2584d869 
							
						 
					 
					
						
						
							
							lib: switch to megaparsec 7  
						
						
						
					 
					
						2018-09-30 20:15:12 -06:00 
						 
				 
			
				
					
						
							
							
								Simon Michael 
							
						 
					 
					
						
						
						
						
							
						
						
							23bdac41d9 
							
						 
					 
					
						
						
							
							csv: merge lucamolteni's cassava/custom separators (squashed) ( #829 )  
						
						... 
						
						
						
						commit 5ba464de761b298e50d57a8b7d14bc28adb30d5d
Author: Luca Molteni <volothamp@gmail.com>
Date:   Fri Sep 7 17:54:12 2018 +0200
    Fix CI 2
commit f060ae9449f4b61a915b0ed4629fc1ba9b66fb4a
Author: Luca Molteni <volothamp@gmail.com>
Date:   Fri Sep 7 17:30:08 2018 +0200
    Fix CI build
commit af0719a33b9b72ad244ae80198d881a1f7145e9d
Author: Luca Molteni <volothamp@gmail.com>
Date:   Fri Sep 7 17:19:01 2018 +0200
    Fix rebase
commit 1a24ddfa54dfb4ff1326e1a51005ffa82d3dc3c8
Author: Luca Molteni <volothamp@gmail.com>
Date:   Fri Aug 10 16:25:24 2018 +0200
    Fixed some GHC warnings
commit 1ac43398a359b5925ef71f53347698f1c6c510ef
Author: Luca Molteni <volothamp@gmail.com>
Date:   Fri Aug 10 16:14:49 2018 +0200
    Fix .cabal
commit 422456b925d8aa4ab3e869f51e98c2b1c3dcde0a
Author: Luca Molteni <volothamp@gmail.com>
Date:   Sun Jul 1 22:56:20 2018 +0200
    Removed to-do list
commit 1118b762e4fd15c4fe7ba48ba86676706ea3a5a5
Author: Luca Molteni <volothamp@gmail.com>
Date:   Sun Jul 1 22:53:28 2018 +0200
    Better test
commit 1146ed0941655668bf7684f18aa15c5f4b9b20c2
Author: Luca Molteni <volothamp@gmail.com>
Date:   Sun Jul 1 15:32:28 2018 +0200
    Fix parsing
commit 4fc2374b2b81802990da30c96756aab54d77399c
Author: Luca Molteni <volothamp@gmail.com>
Date:   Thu Jun 21 22:11:11 2018 +0200
    Parsing of separator
commit f7a61737f1ad4460ba20ca9b2e86eb21468abb33
Author: Luca Molteni <volothamp@gmail.com>
Date:   Thu Jun 21 14:29:23 2018 +0200
    Almost separator in options
commit ac8841cf3b9c80914bc3271ad9b9ff4ae9ba48a7
Author: Luca Molteni <volothamp@gmail.com>
Date:   Thu Jun 21 14:16:59 2018 +0200
    Separator in parseCSV
commit 92a8b9f6ba77ea4237f769641e03029ac88542ea
Author: Luca Molteni <volothamp@gmail.com>
Date:   Thu Jun 21 13:30:41 2018 +0200
    separator option
commit ec417a81ae625647cf35e61776cdf02bdb2c6aea
Author: Luca Molteni <volothamp@gmail.com>
Date:   Thu Jun 21 10:45:26 2018 +0200
    Removed one qualified import
commit 8b2f386c2f780adcd34cff3de7edceacc1d325a7
Author: Luca Molteni <volothamp@gmail.com>
Date:   Wed Jun 20 14:01:12 2018 +0200
    Removed string conversions
commit a14d0e099e28a286bb81770cfc9cb8f5c7e5cf1f
Author: Luca Molteni <volothamp@gmail.com>
Date:   Wed Jun 20 10:23:20 2018 +0200
    custom delimiter in cassava
commit 694d48e2bc1ada0037b90367c017f3082f68ed45
Author: Luca Molteni <volothamp@gmail.com>
Date:   Sun Jun 10 17:51:54 2018 +0200
    Use Text.getContents - remove UTF-8 compatibility library
commit a7ada2cc60033ebdd796ca34cc2ec69a4f387843
Author: Luca Molteni <volothamp@gmail.com>
Date:   Sun Jun 10 17:49:34 2018 +0200
    todo list
commit 58ec47d3987909f6bace50e3e647e30dadd5bf03
Author: Luca Molteni <volothamp@gmail.com>
Date:   Sun Jun 10 17:45:22 2018 +0200
    CSV test now has unicode characters
commit b7851e94c3f1683b63ec7250a12bcde3b7bed691
Author: Luca Molteni <volothamp@gmail.com>
Date:   Sun Jun 10 16:59:39 2018 +0200
    Use decode from Text
commit 79f59fd28ccaca08fcd718fcd8d00b1c1d65d7e1
Author: Luca Molteni <volothamp@gmail.com>
Date:   Sun Jun 10 13:28:57 2018 +0200
    Use Text and Lazy Bytestring
commit 470c9bcb8dc00669beb4ef0303a1e7d9f7aecc89
Author: Luca Molteni <volothamp@gmail.com>
Date:   Sat Jun 9 15:30:22 2018 +0200
    Use megaparsec error
commit f978848ba249ef4f67b855bea5d4e549290c205c
Author: Luca Molteni <volothamp@gmail.com>
Date:   Sat Jun 9 15:22:07 2018 +0200
    Renamed qualify and remove Parsec
commit 152587fde204c43a55798d212e43f37cd3038c2e
Author: Luca Molteni <volothamp@gmail.com>
Date:   Sat Jun 9 15:12:36 2018 +0200
    Use cassava mega parsec
commit cf281577a3d3a071196484a6fc8485f2ea1f7d67
Author: Luca Molteni <volothamp@gmail.com>
Date:   Sat Jun 9 14:01:47 2018 +0200
    Removed Data.Vector
commit 1272e8e758369d8cc5778029a705b277355a5029
Author: Luca Molteni <volothamp@gmail.com>
Date:   Sat Jun 9 12:16:18 2018 +0200
    Removed Parsec ParseError
commit ae07f043135a19307fd65b281ade37a74c76acb2
Author: Luca Molteni <volothamp@gmail.com>
Date:   Sat Jun 9 12:06:14 2018 +0200
    Type sinonim for ParsecError
commit 8e15b253c11bd1c0c35a7641aeb18aa54e0ba9b0
Author: Luca Molteni <volothamp@gmail.com>
Date:   Sat Jun 9 11:16:08 2018 +0200
    Replaced with typeclasses
commit 1ed46f9c175603611325f3d377004e4b85f29377
Author: Luca Molteni <volothamp@gmail.com>
Date:   Sat Jun 9 11:01:33 2018 +0200
    Replaced Text/CSV with Cassava
commit 362f4111b5854145703174b976fc7acbd71b8783
Author: Luca Molteni <volothamp@gmail.com>
Date:   Sat Jun 9 10:34:37 2018 +0200
    Use cassava parsin instead of Text/CSV
commit 83e678e371618687cf7c15a4e2cfa67f570b6b64
Author: Luca Molteni <volothamp@gmail.com>
Date:   Sat Jun 9 08:22:51 2018 +0200
    Text CSV error messages
commit f922df71d274beeacab9fb2530b16c97f005cc08
Author: Luca Molteni <volothamp@gmail.com>
Date:   Fri Jun 8 21:45:20 2018 +0200
    Better types
commit edd130781c84790a53bff2283e6041eb8232e7cf
Author: Luca Molteni <volothamp@gmail.com>
Date:   Fri Jun 8 21:34:59 2018 +0200
    Conversion to Text CSV type
commit 0799383214483018ad2d977a3c8022414959c2b2
Author: Luca Molteni <volothamp@gmail.com>
Date:   Fri Jun 8 16:06:21 2018 +0200
    First function with cassava
commit e92aeb151ff527b383ff3d0ced7764e81b71af82
Author: Luca Molteni <volothamp@gmail.com>
Date:   Fri Jun 8 13:47:34 2018 +0200
    Added cassava as dependency
commit 5ea005c558a3939af7e5f0cd735a9b4da931228e
Author: Luca Molteni <volothamp@gmail.com>
Date:   Fri Jun 8 13:18:47 2018 +0200
    Better .gitignore for multi idea modules 
						
					 
					
						2018-09-07 12:34:51 -07: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 
							
						 
					 
					
						
						
						
						
							
						
						
							d1cff46ba7 
							
						 
					 
					
						
						
							
							tests: port CsvReader tests to easytest  
						
						
						
					 
					
						2018-09-03 15:30:52 -07:00 
						 
				 
			
				
					
						
							
							
								Simon Michael 
							
						 
					 
					
						
						
						
						
							
						
						
							d778a92561 
							
						 
					 
					
						
						
							
							tests: export HUnit/EasyTest from Hledger.Utils.Test; more helpers  
						
						
						
					 
					
						2018-08-18 15:19:59 +01:00 
						 
				 
			
				
					
						
							
							
								Simon Michael 
							
						 
					 
					
						
						
						
						
							
						
						
							fe73f2a6b5 
							
						 
					 
					
						
						
							
							csv: interpolated field names in values are now case insensitive  
						
						... 
						
						
						
						Field names are supposed to be case insensitive, but a field assignment like
fields  ...,Transaction_Date,...
date %Transaction_Date
was failing, because of the capitalised letters. Fixed now. 
						
					 
					
						2018-07-22 22:26:24 +01:00 
						 
				 
			
				
					
						
							
							
								Simon Michael 
							
						 
					 
					
						
						
						
						
							
						
						
							d5430e7ddf 
							
						 
					 
					
						
						
							
							clean up debug helpers (api change)  
						
						
						
					 
					
						2018-07-16 15:28:58 +01:00 
						 
				 
			
				
					
						
							
							
								Alex Chen 
							
						 
					 
					
						
						
						
						
							
						
						
							c5561f25f1 
							
						 
					 
					
						
						
							
							lib: switch parsers to the custom error type  
						
						... 
						
						
						
						Also add an explicit export list to `hledger-lib/Hledger/Utils/Parse.hs`
in order to re-export the custom error type (for convenience). 
						
					 
					
						2018-06-11 13:57:30 -06:00 
						 
				 
			
				
					
						
							
							
								Simon Michael 
							
						 
					 
					
						
						
						
						
							
						
						
							0ce9c5728a 
							
						 
					 
					
						
						
							
							switch to base-compat-batteries to fix ghc 7.10 support ( #794 )  
						
						... 
						
						
						
						base-compat-batteries provides the same API across more ghc versions
than base-compat does, at the cost of more dependencies. Eg it exports
Prelude.Compat ((<>)) with ghc 7.10/base 4.8, which we expect.
My belief is that several of our deps already require it so the added
cost is not too great. We should probably go back to base-compat when
possible though, eg when we stop supporting ghc 7.10. 
						
					 
					
						2018-06-04 17:32:42 -07:00 
						 
				 
			
				
					
						
							
							
								Peter Simons 
							
						 
					 
					
						
						
						
						
							
						
						
							6db7f800ee 
							
						 
					 
					
						
						
							
							hledger-lib: fix doctest suite after recent package updates  
						
						... 
						
						
						
						The new version of our package set apparently contains both base-compat and
base-compat-batteries in its transitive closure. This breaks the doctest suite,
which just imports everything into scope when the tests are run, thereby making
module names like Prelude.Compat ambiguous. 
						
					 
					
						2018-06-04 21:41:15 +02:00 
						 
				 
			
				
					
						
							
							
								Alex Chen 
							
						 
					 
					
						
						
						
						
							
						
						
							b245ec7b3d 
							
						 
					 
					
						
						
							
							lib: remove the megaparsec compatability module  
						
						
						
					 
					
						2018-05-22 12:16:46 -07:00 
						 
				 
			
				
					
						
							
							
								Simon Michael 
							
						 
					 
					
						
						
						
						
							
						
						
							f2d3b3e1d4 
							
						 
					 
					
						
						
							
							csv: handle the other double negation cases: -(N), ((N)) ( fix   #736 )  
						
						
						
					 
					
						2018-04-18 07:39:33 -07:00 
						 
				 
			
				
					
						
							
							
								Dmitry Astapov 
							
						 
					 
					
						
						
						
						
							
						
						
							ecf49b1e4b 
							
						 
					 
					
						
						
							
							lib: auto postings generated before amount inference and balance checks ( #729 )  
						
						
						
					 
					
						2018-04-17 14:33:32 -07:00 
						 
				 
			
				
					
						
							
							
								Everett Hildenbrandt 
							
						 
					 
					
						
						
						
						
							
						
						
							c69fbff6d9 
							
						 
					 
					
						
						
							
							CsvReader: print more information about amount-in/out errors  
						
						
						
					 
					
						2018-04-15 16:52:52 -07:00 
						 
				 
			
				
					
						
							
							
								Moritz Kiefer 
							
						 
					 
					
						
						
						
						
							
						
						
							d7b68fbd7d 
							
						 
					 
					
						
						
							
							Use skipMany/skipSome for parsing spacenonewline  
						
						... 
						
						
						
						This avoids allocating the list of space characters only to then
discard it. 
						
					 
					
						2018-03-25 22:59:05 +01:00 
						 
				 
			
				
					
						
							
							
								Simon Michael 
							
						 
					 
					
						
						
						
						
							
						
						
							13855d6b53 
							
						 
					 
					
						
						
							
							csv: no csv records is no longer an error  
						
						
						
					 
					
						2018-02-01 09:41:03 -08:00 
						 
				 
			
				
					
						
							
							
								Simon Michael 
							
						 
					 
					
						
						
						
						
							
						
						
							81e964502b 
							
						 
					 
					
						
						
							
							lib: refactor low-level text file reading  
						
						
						
					 
					
						2018-01-04 16:17:25 -08:00 
						 
				 
			
				
					
						
							
							
								Nadrieril 
							
						 
					 
					
						
						
						
						
							
						
						
							9e6e06033f 
							
						 
					 
					
						
						
							
							lib: Allow balance-only entries in csv reader  
						
						
						
					 
					
						2017-12-14 18:26:29 -08:00 
						 
				 
			
				
					
						
							
							
								jeevcat 
							
						 
					 
					
						
						
						
						
							
						
						
							3a9ea65b99 
							
						 
					 
					
						
						
							
							Rewrite of BalanceAssertion type to track its source position.  
						
						... 
						
						
						
						Fixes  #481 . 
					
						2017-10-16 13:25:03 -07:00 
						 
				 
			
				
					
						
							
							
								Simon Michael 
							
						 
					 
					
						
						
						
						
							
						
						
							16c07c537b 
							
						 
					 
					
						
						
							
							csv: also switch which posting is converted to cost  
						
						... 
						
						
						
						After switching the postings, make sure it's the second which is converted
to cost. 
						
					 
					
						2017-08-15 08:40:52 -07:00 
						 
				 
			
				
					
						
							
							
								Simon Michael 
							
						 
					 
					
						
						
						
						
							
						
						
							ce5724fee1 
							
						 
					 
					
						
						
							
							csv: switch the order of generated postings, so account1 is first  
						
						... 
						
						
						
						This is subjective, but simplifies things as we'll be adding more than
two postings. Free-form entry templates will allow custom orderings
in future. 
						
					 
					
						2017-08-15 08:16:49 -07:00 
						 
				 
			
				
					
						
							
							
								Simon Michael 
							
						 
					 
					
						
						
						
						
							
						
						
							d7d5f8a064 
							
						 
					 
					
						
						
							
							add support for megaparsec 6 ( fixes   #594 )  
						
						... 
						
						
						
						Older megaparsec is still supported.
Also cleans up our custom parser types,
and some text (un)packing is done in different places
(possible performance impact). 
						
					 
					
						2017-07-27 19:20:46 -07:00 
						 
				 
			
				
					
						
							
							
								Simon Michael 
							
						 
					 
					
						
						
						
						
							
						
						
							b3b33336b4 
							
						 
					 
					
						
						
							
							csv: show the "creating/using rules file" message only with --debug  
						
						
						
					 
					
						2017-07-06 14:07:46 +01:00 
						 
				 
			
				
					
						
							
							
								Simon Michael 
							
						 
					 
					
						
						
						
						
							
						
						
							e94f04311d 
							
						 
					 
					
						
						
							
							csv: fix multiple includes in one rules file  
						
						
						
					 
					
						2017-07-05 16:08:13 +01:00 
						 
				 
			
				
					
						
							
							
								Simon Michael 
							
						 
					 
					
						
						
						
						
							
						
						
							6614aab5d7 
							
						 
					 
					
						
						
							
							csv: add newest-first directive for more robust same-day ordering  
						
						
						
					 
					
						2017-07-05 15:24:17 +01:00 
						 
				 
			
				
					
						
							
							
								Simon Michael 
							
						 
					 
					
						
						
						
						
							
						
						
							e119941648 
							
						 
					 
					
						
						
							
							rename "uncleared" status to "unmarked" and --uncleared to --unmarked ( #564 )  
						
						... 
						
						
						
						See the issue and linked mail list discussion. Ambiguity between the
uncleared state, and the "not cleared" --uncleared flag causes confusion
and friction. At this point it seems best to break with Ledger and
past hledger, pick a new name and drop --uncleared to put an end to it. 
						
					 
					
						2017-06-15 19:16:39 -07:00 
						 
				 
			
				
					
						
							
							
								Simon Michael 
							
						 
					 
					
						
						
						
						
							
						
						
							5e00d2f31c 
							
						 
					 
					
						
						
							
							csv: refactor ( #548 )  
						
						
						
					 
					
						2017-05-14 18:17:56 +09:00 
						 
				 
			
				
					
						
							
							
								Nicolas Wavrant 
							
						 
					 
					
						
						
						
						
							
						
						
							309d1ccd59 
							
						 
					 
					
						
						
							
							CsvReader: simplify '-' signs if there exist more than one ( #548 )  
						
						... 
						
						
						
						It prevents hledger to crash later, as it fails to read
amount strings containing more than one '-'
Fix  #524  
						
					 
					
						2017-05-14 09:34:33 +09:00 
						 
				 
			
				
					
						
							
							
								Simon Michael 
							
						 
					 
					
						
						
						
						
							
						
						
							48a84cdd58 
							
						 
					 
					
						
						
							
							lib: note an issue with journalfieldnames ordering  
						
						
						
					 
					
						2017-04-19 09:05:21 -07:00 
						 
				 
			
				
					
						
							
							
								Dmitry Astapov 
							
						 
					 
					
						
						
						
						
							
						
						
							c4c4be5fad 
							
						 
					 
					
						
						
							
							Fix parsing of blank/empty balances + testcases ( #539 )  
						
						
						
					 
					
						2017-04-18 09:07:30 -07:00