diff --git a/hledger-lib/Hledger/Read/RulesReader.hs b/hledger-lib/Hledger/Read/RulesReader.hs index 5181ec7a8..982baa419 100644 --- a/hledger-lib/Hledger/Read/RulesReader.hs +++ b/hledger-lib/Hledger/Read/RulesReader.hs @@ -77,7 +77,7 @@ import Text.Printf (printf) import Hledger.Data import Hledger.Utils import Hledger.Read.Common (aliasesFromOpts, Reader(..), InputOpts(..), amountp, statusp, journalFinalise, accountnamep, commenttagsp ) -import Hledger.Read.CsvUtils +import Hledger.Write.Csv import System.Directory (doesFileExist, getHomeDirectory) import Data.Either (fromRight) diff --git a/hledger-lib/Hledger/Read/CsvUtils.hs b/hledger-lib/Hledger/Write/Csv.hs similarity index 92% rename from hledger-lib/Hledger/Read/CsvUtils.hs rename to hledger-lib/Hledger/Write/Csv.hs index a9d4aa9de..42c6393d2 100644 --- a/hledger-lib/Hledger/Read/CsvUtils.hs +++ b/hledger-lib/Hledger/Write/Csv.hs @@ -10,7 +10,7 @@ CSV utilities. {-# LANGUAGE OverloadedStrings #-} --- ** exports -module Hledger.Read.CsvUtils ( +module Hledger.Write.Csv ( CSV, CsvRecord, CsvValue, printCSV, printTSV, @@ -37,12 +37,12 @@ type CSV = [CsvRecord] type CsvRecord = [CsvValue] type CsvValue = Text -printCSV :: [CsvRecord] -> TL.Text +printCSV :: CSV -> TL.Text printCSV = TB.toLazyText . unlinesB . map printRecord where printRecord = foldMap TB.fromText . intersperse "," . map printField printField = wrap "\"" "\"" . T.replace "\"" "\"\"" -printTSV :: [CsvRecord] -> TL.Text +printTSV :: CSV -> TL.Text printTSV = TB.toLazyText . unlinesB . map printRecord where printRecord = foldMap TB.fromText . intersperse "\t" . map printField printField = T.map replaceWhitespace diff --git a/hledger-lib/hledger-lib.cabal b/hledger-lib/hledger-lib.cabal index d58619e31..33b22247c 100644 --- a/hledger-lib/hledger-lib.cabal +++ b/hledger-lib/hledger-lib.cabal @@ -80,12 +80,12 @@ library Hledger.Read Hledger.Read.Common Hledger.Read.CsvReader - Hledger.Read.CsvUtils Hledger.Read.InputOptions Hledger.Read.JournalReader Hledger.Read.RulesReader Hledger.Read.TimedotReader Hledger.Read.TimeclockReader + Hledger.Write.Csv Hledger.Reports Hledger.Reports.ReportOptions Hledger.Reports.ReportTypes diff --git a/hledger-lib/package.yaml b/hledger-lib/package.yaml index 21fb59f42..6fdf07245 100644 --- a/hledger-lib/package.yaml +++ b/hledger-lib/package.yaml @@ -142,13 +142,13 @@ library: - Hledger.Read - Hledger.Read.Common - Hledger.Read.CsvReader - - Hledger.Read.CsvUtils - Hledger.Read.InputOptions - Hledger.Read.JournalReader - Hledger.Read.RulesReader # - Hledger.Read.LedgerReader - Hledger.Read.TimedotReader - Hledger.Read.TimeclockReader + - Hledger.Write.Csv - Hledger.Reports - Hledger.Reports.ReportOptions - Hledger.Reports.ReportTypes diff --git a/hledger/Hledger/Cli/Commands/Aregister.hs b/hledger/Hledger/Cli/Commands/Aregister.hs index 6f177cbfd..62f543ceb 100644 --- a/hledger/Hledger/Cli/Commands/Aregister.hs +++ b/hledger/Hledger/Cli/Commands/Aregister.hs @@ -29,7 +29,7 @@ import Lucid as L hiding (value_) import System.Console.CmdArgs.Explicit (flagNone, flagReq) import Hledger -import Hledger.Read.CsvUtils (CSV, CsvRecord, printCSV, printTSV) +import Hledger.Write.Csv (CSV, CsvRecord, printCSV, printTSV) import Hledger.Cli.CliOptions import Hledger.Cli.Utils import Text.Tabular.AsciiWide hiding (render) diff --git a/hledger/Hledger/Cli/Commands/Balance.hs b/hledger/Hledger/Cli/Commands/Balance.hs index b6db9875f..cb7df27c6 100644 --- a/hledger/Hledger/Cli/Commands/Balance.hs +++ b/hledger/Hledger/Cli/Commands/Balance.hs @@ -299,7 +299,7 @@ import Text.Tabular.AsciiWide import Hledger import Hledger.Cli.CliOptions import Hledger.Cli.Utils -import Hledger.Read.CsvUtils (CSV, printCSV, printTSV) +import Hledger.Write.Csv (CSV, printCSV, printTSV) -- | Command line options for this command. diff --git a/hledger/Hledger/Cli/Commands/Print.hs b/hledger/Hledger/Cli/Commands/Print.hs index 3f40d299b..9fffb5102 100644 --- a/hledger/Hledger/Cli/Commands/Print.hs +++ b/hledger/Hledger/Cli/Commands/Print.hs @@ -27,7 +27,7 @@ import Lens.Micro ((^.), _Just, has) import System.Console.CmdArgs.Explicit import Hledger -import Hledger.Read.CsvUtils (CSV, printCSV, printTSV) +import Hledger.Write.Csv (CSV, printCSV, printTSV) import Hledger.Cli.CliOptions import Hledger.Cli.Utils import System.Exit (exitFailure) diff --git a/hledger/Hledger/Cli/Commands/Register.hs b/hledger/Hledger/Cli/Commands/Register.hs index d03c277a0..77c89a607 100644 --- a/hledger/Hledger/Cli/Commands/Register.hs +++ b/hledger/Hledger/Cli/Commands/Register.hs @@ -27,7 +27,7 @@ import qualified Data.Text.Lazy.Builder as TB import System.Console.CmdArgs.Explicit (flagNone, flagReq) import Hledger hiding (per) -import Hledger.Read.CsvUtils (CSV, CsvRecord, printCSV, printTSV) +import Hledger.Write.Csv (CSV, CsvRecord, printCSV, printTSV) import Hledger.Cli.CliOptions import Hledger.Cli.Utils import Text.Tabular.AsciiWide hiding (render) diff --git a/hledger/Hledger/Cli/CompoundBalanceCommand.hs b/hledger/Hledger/Cli/CompoundBalanceCommand.hs index 912b19a3e..5500fe738 100644 --- a/hledger/Hledger/Cli/CompoundBalanceCommand.hs +++ b/hledger/Hledger/Cli/CompoundBalanceCommand.hs @@ -21,7 +21,7 @@ import qualified Data.Text.Lazy as TL import qualified Data.Text.Lazy.Builder as TB import Data.Time.Calendar (Day, addDays) import System.Console.CmdArgs.Explicit as C (Mode, flagNone, flagReq) -import Hledger.Read.CsvUtils (CSV, printCSV, printTSV) +import Hledger.Write.Csv (CSV, printCSV, printTSV) import Lucid as L hiding (value_) import Safe (tailDef) import Text.Tabular.AsciiWide as Tabular hiding (render)