hledger/extra/hledger-print-unique.hs
2013-12-13 19:10:54 -08:00

24 lines
669 B
Haskell
Executable File

#!/usr/bin/env runhaskell
{-|
hledger-print-unique [-f JOURNALFILE | -f-]
Print only journal entries which are unique by description (or
something else). Reads the default or specified journal, or stdin.
|-}
import Data.List
import Data.Ord
import Hledger
import Hledger.Cli
main = do
putStrLn "(-f option not supported)"
opts <- getCliOpts (defCommandMode ["hledger-print-unique"])
withJournalDo opts $
\opts j@Journal{jtxns=ts} -> print' opts j{jtxns=uniquify ts}
where
uniquify = nubBy (\t1 t2 -> thingToCompare t1 == thingToCompare t2) . sortBy (comparing thingToCompare)
thingToCompare = tdescription
-- thingToCompare = tdate