27 lines
		
	
	
		
			617 B
		
	
	
	
		
			Haskell
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			27 lines
		
	
	
		
			617 B
		
	
	
	
		
			Haskell
		
	
	
		
			Executable File
		
	
	
	
	
| {-# LANGUAGE TemplateHaskell #-}
 | |
| 
 | |
| module Hledger.Cli.Commands.Printunique (
 | |
|   printuniquemode
 | |
|  ,printunique
 | |
| )
 | |
| where
 | |
| 
 | |
| import Data.List
 | |
| import Hledger
 | |
| import Hledger.Cli.CliOptions
 | |
| import Hledger.Cli.Commands.Print
 | |
| 
 | |
| printuniquemode = hledgerCommandMode
 | |
|   $(embedFileRelative "Hledger/Cli/Commands/Printunique.txt")
 | |
|   []
 | |
|   [generalflagsgroup1]
 | |
|   hiddenflags
 | |
|   ([], Nothing)
 | |
| 
 | |
| printunique opts j@Journal{jtxns=ts} = do
 | |
|   print' opts j{jtxns=uniquify ts}
 | |
|   where
 | |
|     uniquify = nubBy (\t1 t2 -> thingToCompare t1 == thingToCompare t2) . sortOn thingToCompare
 | |
|     thingToCompare = tdescription
 | |
|     -- thingToCompare = tdate
 |