simpler parsePatternArgs
This commit is contained in:
		
							parent
							
								
									7a4eb19b6d
								
							
						
					
					
						commit
						7637a40df7
					
				
							
								
								
									
										13
									
								
								Options.hs
									
									
									
									
									
								
							
							
						
						
									
										13
									
								
								Options.hs
									
									
									
									
									
								
							@ -218,14 +218,13 @@ ledgerFilePathFromOpts opts = do
 | 
				
			|||||||
  f <- if istimequery then myTimelogPath else myLedgerPath
 | 
					  f <- if istimequery then myTimelogPath else myLedgerPath
 | 
				
			||||||
  return $ last $ f:(optValuesForConstructor File opts)
 | 
					  return $ last $ f:(optValuesForConstructor File opts)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
-- | Gather any pattern arguments into a list of account patterns and a
 | 
					-- | Gather filter pattern arguments into a list of account patterns and a
 | 
				
			||||||
-- list of description patterns. For now we interpret pattern arguments as
 | 
					-- list of description patterns. We interpret pattern arguments as
 | 
				
			||||||
-- follows: those prefixed with "desc:" are description patterns, all
 | 
					-- follows: those prefixed with "desc:" are description patterns, all
 | 
				
			||||||
-- others are account patterns. Also patterns prefixed with "not:" are
 | 
					-- others are account patterns; also patterns prefixed with "not:" are
 | 
				
			||||||
-- negated. not: should come after desc: if both are used.
 | 
					-- negated. not: should come after desc: if both are used.
 | 
				
			||||||
-- This is different from ledger 2 and 3.
 | 
					parsePatternArgs :: [String] -> ([String],[String])
 | 
				
			||||||
parseAccountDescriptionArgs :: [Opt] -> [String] -> ([String],[String])
 | 
					parsePatternArgs args = (as, ds')
 | 
				
			||||||
parseAccountDescriptionArgs opts args = (as, ds')
 | 
					 | 
				
			||||||
    where
 | 
					    where
 | 
				
			||||||
      descprefix = "desc:"
 | 
					      descprefix = "desc:"
 | 
				
			||||||
      (ds, as) = partition (descprefix `isPrefixOf`) args
 | 
					      (ds, as) = partition (descprefix `isPrefixOf`) args
 | 
				
			||||||
@ -239,5 +238,5 @@ optsToIOArgs opts args t = (dateSpanFromOpts (localDay t) opts
 | 
				
			|||||||
                         ,CostBasis `elem` opts
 | 
					                         ,CostBasis `elem` opts
 | 
				
			||||||
                         ,apats
 | 
					                         ,apats
 | 
				
			||||||
                         ,dpats
 | 
					                         ,dpats
 | 
				
			||||||
                         ) where (apats,dpats) = parseAccountDescriptionArgs [] args
 | 
					                         ) where (apats,dpats) = parsePatternArgs args
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -24,4 +24,4 @@ showLedgerTransactions opts args l = concatMap showLedgerTransaction $ filteredt
 | 
				
			|||||||
                        filterRawLedgerTransactionsByAccount apats $ 
 | 
					                        filterRawLedgerTransactionsByAccount apats $ 
 | 
				
			||||||
                        rawledger l
 | 
					                        rawledger l
 | 
				
			||||||
      depth = depthFromOpts opts
 | 
					      depth = depthFromOpts opts
 | 
				
			||||||
      (apats,_) = parseAccountDescriptionArgs opts args
 | 
					      (apats,_) = parsePatternArgs args
 | 
				
			||||||
 | 
				
			|||||||
@ -45,7 +45,7 @@ showRegisterReport opts args l
 | 
				
			|||||||
      (displayedts, _) = span (matchdisplayopt dopt) ts'
 | 
					      (displayedts, _) = span (matchdisplayopt dopt) ts'
 | 
				
			||||||
      startbal = sumTransactions precedingts
 | 
					      startbal = sumTransactions precedingts
 | 
				
			||||||
      matchapats t = matchpats apats $ taccount t
 | 
					      matchapats t = matchpats apats $ taccount t
 | 
				
			||||||
      apats = fst $ parseAccountDescriptionArgs opts args
 | 
					      (apats,_) = parsePatternArgs args
 | 
				
			||||||
      matchdisplayopt Nothing t = True
 | 
					      matchdisplayopt Nothing t = True
 | 
				
			||||||
      matchdisplayopt (Just e) t = (fromparse $ parsewith datedisplayexpr e) t
 | 
					      matchdisplayopt (Just e) t = (fromparse $ parsewith datedisplayexpr e) t
 | 
				
			||||||
      dopt = displayFromOpts opts
 | 
					      dopt = displayFromOpts opts
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user