fix: Allow accountNameInferType to recognise Conversion accounts.
This commit is contained in:
		
							parent
							
								
									e17cd1540d
								
							
						
					
					
						commit
						36fe6bbcff
					
				| @ -25,6 +25,7 @@ module Hledger.Data.AccountName ( | |||||||
|   ,cashAccountRegex |   ,cashAccountRegex | ||||||
|   ,liabilityAccountRegex |   ,liabilityAccountRegex | ||||||
|   ,equityAccountRegex |   ,equityAccountRegex | ||||||
|  |   ,conversionAccountRegex | ||||||
|   ,revenueAccountRegex |   ,revenueAccountRegex | ||||||
|   ,expenseAccountRegex |   ,expenseAccountRegex | ||||||
|   ,acctsep |   ,acctsep | ||||||
| @ -89,12 +90,13 @@ accountSummarisedName a | |||||||
|       cs = accountNameComponents a |       cs = accountNameComponents a | ||||||
|       a' = accountLeafName a |       a' = accountLeafName a | ||||||
| 
 | 
 | ||||||
| -- | Regular expressions matching common english top-level account names, | -- | Regular expressions matching common English top-level account names, | ||||||
| -- used as a fallback when account types are not declared. | -- used as a fallback when account types are not declared. | ||||||
| assetAccountRegex      = toRegexCI' "^assets?(:|$)" | assetAccountRegex      = toRegexCI' "^assets?(:|$)" | ||||||
| cashAccountRegex       = toRegexCI' "(investment|receivable|:A/R|:fixed)" | cashAccountRegex       = toRegexCI' "(investment|receivable|:A/R|:fixed)" | ||||||
| liabilityAccountRegex  = toRegexCI' "^(debts?|liabilit(y|ies))(:|$)" | liabilityAccountRegex  = toRegexCI' "^(debts?|liabilit(y|ies))(:|$)" | ||||||
| equityAccountRegex     = toRegexCI' "^equity(:|$)" | equityAccountRegex     = toRegexCI' "^equity(:|$)" | ||||||
|  | conversionAccountRegex = toRegexCI' "^equity:(trad(e|ing)|conversion)s?(:|$)" | ||||||
| revenueAccountRegex    = toRegexCI' "^(income|revenue)s?(:|$)" | revenueAccountRegex    = toRegexCI' "^(income|revenue)s?(:|$)" | ||||||
| expenseAccountRegex    = toRegexCI' "^expenses?(:|$)" | expenseAccountRegex    = toRegexCI' "^expenses?(:|$)" | ||||||
| 
 | 
 | ||||||
| @ -105,6 +107,7 @@ accountNameInferType a | |||||||
|   | a == "asset" || a == "assets"           = Just Asset |   | a == "asset" || a == "assets"           = Just Asset | ||||||
|   | regexMatchText assetAccountRegex      a = Just $ if regexMatchText cashAccountRegex a then Asset else Cash |   | regexMatchText assetAccountRegex      a = Just $ if regexMatchText cashAccountRegex a then Asset else Cash | ||||||
|   | regexMatchText liabilityAccountRegex  a = Just Liability |   | regexMatchText liabilityAccountRegex  a = Just Liability | ||||||
|  |   | regexMatchText conversionAccountRegex a = Just Conversion | ||||||
|   | regexMatchText equityAccountRegex     a = Just Equity |   | regexMatchText equityAccountRegex     a = Just Equity | ||||||
|   | regexMatchText revenueAccountRegex    a = Just Revenue |   | regexMatchText revenueAccountRegex    a = Just Revenue | ||||||
|   | regexMatchText expenseAccountRegex    a = Just Expense |   | regexMatchText expenseAccountRegex    a = Just Expense | ||||||
| @ -289,6 +292,7 @@ tests_AccountName = testGroup "AccountName" [ | |||||||
|     accountNameInferType "assets:A/R"        @?= Just Asset |     accountNameInferType "assets:A/R"        @?= Just Asset | ||||||
|     accountNameInferType "liabilities"       @?= Just Liability |     accountNameInferType "liabilities"       @?= Just Liability | ||||||
|     accountNameInferType "equity"            @?= Just Equity |     accountNameInferType "equity"            @?= Just Equity | ||||||
|  |     accountNameInferType "equity:conversion" @?= Just Conversion | ||||||
|     accountNameInferType "expenses"          @?= Just Expense |     accountNameInferType "expenses"          @?= Just Expense | ||||||
|     accountNameInferType "revenues"          @?= Just Revenue |     accountNameInferType "revenues"          @?= Just Revenue | ||||||
|     accountNameInferType "revenue"           @?= Just Revenue |     accountNameInferType "revenue"           @?= Just Revenue | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user