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 | ||||
|   ,liabilityAccountRegex | ||||
|   ,equityAccountRegex | ||||
|   ,conversionAccountRegex | ||||
|   ,revenueAccountRegex | ||||
|   ,expenseAccountRegex | ||||
|   ,acctsep | ||||
| @ -89,12 +90,13 @@ accountSummarisedName a | ||||
|       cs = accountNameComponents 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. | ||||
| assetAccountRegex      = toRegexCI' "^assets?(:|$)" | ||||
| cashAccountRegex       = toRegexCI' "(investment|receivable|:A/R|:fixed)" | ||||
| liabilityAccountRegex  = toRegexCI' "^(debts?|liabilit(y|ies))(:|$)" | ||||
| equityAccountRegex     = toRegexCI' "^equity(:|$)" | ||||
| conversionAccountRegex = toRegexCI' "^equity:(trad(e|ing)|conversion)s?(:|$)" | ||||
| revenueAccountRegex    = toRegexCI' "^(income|revenue)s?(:|$)" | ||||
| expenseAccountRegex    = toRegexCI' "^expenses?(:|$)" | ||||
| 
 | ||||
| @ -105,6 +107,7 @@ accountNameInferType a | ||||
|   | a == "asset" || a == "assets"           = Just Asset | ||||
|   | regexMatchText assetAccountRegex      a = Just $ if regexMatchText cashAccountRegex a then Asset else Cash | ||||
|   | regexMatchText liabilityAccountRegex  a = Just Liability | ||||
|   | regexMatchText conversionAccountRegex a = Just Conversion | ||||
|   | regexMatchText equityAccountRegex     a = Just Equity | ||||
|   | regexMatchText revenueAccountRegex    a = Just Revenue | ||||
|   | regexMatchText expenseAccountRegex    a = Just Expense | ||||
| @ -289,6 +292,7 @@ tests_AccountName = testGroup "AccountName" [ | ||||
|     accountNameInferType "assets:A/R"        @?= Just Asset | ||||
|     accountNameInferType "liabilities"       @?= Just Liability | ||||
|     accountNameInferType "equity"            @?= Just Equity | ||||
|     accountNameInferType "equity:conversion" @?= Just Conversion | ||||
|     accountNameInferType "expenses"          @?= Just Expense | ||||
|     accountNameInferType "revenues"          @?= Just Revenue | ||||
|     accountNameInferType "revenue"           @?= Just Revenue | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user