lib,cli: Export Text.Tabular from Text.Tabular.AsciiWide, clean up import lists.
This commit is contained in:
		
							parent
							
								
									fc7df75f43
								
							
						
					
					
						commit
						0e59fee251
					
				| @ -84,7 +84,6 @@ import Hledger.Data.Dates | |||||||
| import Hledger.Data.Posting | import Hledger.Data.Posting | ||||||
| import Hledger.Data.Amount | import Hledger.Data.Amount | ||||||
| import Hledger.Data.Valuation | import Hledger.Data.Valuation | ||||||
| import Text.Tabular |  | ||||||
| import Text.Tabular.AsciiWide | import Text.Tabular.AsciiWide | ||||||
| 
 | 
 | ||||||
| sourceFilePath :: GenericSourcePos -> FilePath | sourceFilePath :: GenericSourcePos -> FilePath | ||||||
|  | |||||||
| @ -46,8 +46,7 @@ import qualified Data.Text.Lazy as TL | |||||||
| import qualified Data.Text.Lazy.Builder as TB | import qualified Data.Text.Lazy.Builder as TB | ||||||
| --import System.Console.CmdArgs.Explicit as C | --import System.Console.CmdArgs.Explicit as C | ||||||
| --import Lucid as L | --import Lucid as L | ||||||
| import Text.Tabular as T | import Text.Tabular.AsciiWide as Tab | ||||||
| import Text.Tabular.AsciiWide as T |  | ||||||
| 
 | 
 | ||||||
| import Hledger.Data | import Hledger.Data | ||||||
| import Hledger.Utils | import Hledger.Utils | ||||||
| @ -293,8 +292,8 @@ budgetReportAsTable | |||||||
|   (PeriodicReport spans rows (PeriodicReportRow _ coltots grandtot grandavg)) = |   (PeriodicReport spans rows (PeriodicReportRow _ coltots grandtot grandavg)) = | ||||||
|     addtotalrow $ |     addtotalrow $ | ||||||
|     Table |     Table | ||||||
|       (T.Group NoLine $ map Header accts) |       (Tab.Group NoLine $ map Header accts) | ||||||
|       (T.Group NoLine $ map Header colheadings) |       (Tab.Group NoLine $ map Header colheadings) | ||||||
|       (map rowvals rows) |       (map rowvals rows) | ||||||
|   where |   where | ||||||
|     colheadings = map (reportPeriodName balancetype_ spans) spans |     colheadings = map (reportPeriodName balancetype_ spans) spans | ||||||
|  | |||||||
| @ -61,8 +61,8 @@ import Text.Printf (printf) | |||||||
| 
 | 
 | ||||||
| import Hledger.Utils.Parse | import Hledger.Utils.Parse | ||||||
| import Hledger.Utils.Regex (toRegex', regexReplace) | import Hledger.Utils.Regex (toRegex', regexReplace) | ||||||
| import Text.Tabular (Header(..), Properties(..)) | import Text.Tabular.AsciiWide | ||||||
| import Text.Tabular.AsciiWide (Align(..), TableOpts(..), textCell, renderRow) |   (Align(..), Header(..), Properties(..), TableOpts(..), textCell, renderRow) | ||||||
| import Text.WideString (charWidth, strWidth) | import Text.WideString (charWidth, strWidth) | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -76,8 +76,8 @@ import qualified Data.Text.Lazy as TL | |||||||
| import qualified Data.Text.Lazy.Builder as TB | import qualified Data.Text.Lazy.Builder as TB | ||||||
| 
 | 
 | ||||||
| import Hledger.Utils.Test ((@?=), test, tests) | import Hledger.Utils.Test ((@?=), test, tests) | ||||||
| import Text.Tabular (Header(..), Properties(..)) | import Text.Tabular.AsciiWide | ||||||
| import Text.Tabular.AsciiWide (Align(..), TableOpts(..), textCell, renderRow) |   (Align(..), Header(..), Properties(..), TableOpts(..), renderRow, textCell) | ||||||
| import Text.WideString (WideBuilder(..), wbToText, wbUnpack, charWidth, textWidth) | import Text.WideString (WideBuilder(..), wbToText, wbUnpack, charWidth, textWidth) | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -4,7 +4,22 @@ | |||||||
| {-# LANGUAGE CPP               #-} | {-# LANGUAGE CPP               #-} | ||||||
| {-# LANGUAGE OverloadedStrings #-} | {-# LANGUAGE OverloadedStrings #-} | ||||||
| 
 | 
 | ||||||
| module Text.Tabular.AsciiWide where | module Text.Tabular.AsciiWide | ||||||
|  | ( module Text.Tabular | ||||||
|  | 
 | ||||||
|  | , TableOpts(..) | ||||||
|  | , render | ||||||
|  | , renderTable | ||||||
|  | , renderTableB | ||||||
|  | , renderRow | ||||||
|  | , renderRowB | ||||||
|  | 
 | ||||||
|  | , Cell(..) | ||||||
|  | , Align(..) | ||||||
|  | , emptyCell | ||||||
|  | , textCell | ||||||
|  | , cellWidth | ||||||
|  | ) where | ||||||
| 
 | 
 | ||||||
| import Data.Maybe (fromMaybe) | import Data.Maybe (fromMaybe) | ||||||
| import Data.Default (Default(..)) | import Data.Default (Default(..)) | ||||||
|  | |||||||
| @ -268,7 +268,6 @@ import qualified Data.Text.Lazy.Builder as TB | |||||||
| import Data.Time (fromGregorian) | import Data.Time (fromGregorian) | ||||||
| import System.Console.CmdArgs.Explicit as C | import System.Console.CmdArgs.Explicit as C | ||||||
| import Lucid as L | import Lucid as L | ||||||
| import Text.Tabular as Tab |  | ||||||
| import Text.Tabular.AsciiWide as Tab | import Text.Tabular.AsciiWide as Tab | ||||||
| 
 | 
 | ||||||
| import Hledger | import Hledger | ||||||
|  | |||||||
| @ -34,7 +34,6 @@ import Hledger | |||||||
| import Hledger.Read.CsvReader (CSV, CsvRecord, printCSV) | import Hledger.Read.CsvReader (CSV, CsvRecord, printCSV) | ||||||
| import Hledger.Cli.CliOptions | import Hledger.Cli.CliOptions | ||||||
| import Hledger.Cli.Utils | import Hledger.Cli.Utils | ||||||
| import Text.Tabular (Header(..), Properties(..)) |  | ||||||
| import Text.Tabular.AsciiWide | import Text.Tabular.AsciiWide | ||||||
| 
 | 
 | ||||||
| registermode = hledgerCommandMode | registermode = hledgerCommandMode | ||||||
|  | |||||||
| @ -25,8 +25,7 @@ import qualified Data.Text as T | |||||||
| import qualified Data.Text.Lazy.IO as TL | import qualified Data.Text.Lazy.IO as TL | ||||||
| import System.Console.CmdArgs.Explicit as CmdArgs | import System.Console.CmdArgs.Explicit as CmdArgs | ||||||
| 
 | 
 | ||||||
| import Text.Tabular as Tbl | import Text.Tabular.AsciiWide as Tab | ||||||
| import Text.Tabular.AsciiWide as Ascii |  | ||||||
| 
 | 
 | ||||||
| import Hledger | import Hledger | ||||||
| import Hledger.Cli.CliOptions | import Hledger.Cli.CliOptions | ||||||
| @ -145,14 +144,14 @@ roi CliOpts{rawopts_=rawopts, reportspec_=rspec@ReportSpec{rsOpts=ReportOpts{..} | |||||||
|            , T.pack $ printf "%0.2f%%" $ smallIsZero twr ] |            , T.pack $ printf "%0.2f%%" $ smallIsZero twr ] | ||||||
| 
 | 
 | ||||||
|   let table = Table |   let table = Table | ||||||
|               (Tbl.Group NoLine (map (Header . T.pack . show) (take (length tableBody) [1..]))) |               (Tab.Group NoLine (map (Header . T.pack . show) (take (length tableBody) [1..]))) | ||||||
|               (Tbl.Group DoubleLine |               (Tab.Group DoubleLine | ||||||
|                [ Tbl.Group SingleLine [Header "Begin", Header "End"] |                [ Tab.Group SingleLine [Header "Begin", Header "End"] | ||||||
|                , Tbl.Group SingleLine [Header "Value (begin)", Header "Cashflow", Header "Value (end)", Header "PnL"] |                , Tab.Group SingleLine [Header "Value (begin)", Header "Cashflow", Header "Value (end)", Header "PnL"] | ||||||
|                , Tbl.Group SingleLine [Header "IRR", Header "TWR"]]) |                , Tab.Group SingleLine [Header "IRR", Header "TWR"]]) | ||||||
|               tableBody |               tableBody | ||||||
| 
 | 
 | ||||||
|   TL.putStrLn $ Ascii.render prettyTables id id id table |   TL.putStrLn $ Tab.render prettyTables id id id table | ||||||
| 
 | 
 | ||||||
| timeWeightedReturn showCashFlow prettyTables investmentsQuery trans mixedAmountValue (OneSpan spanBegin spanEnd valueBeforeAmt valueAfter cashFlow pnl) = do | timeWeightedReturn showCashFlow prettyTables investmentsQuery trans mixedAmountValue (OneSpan spanBegin spanEnd valueBeforeAmt valueAfter cashFlow pnl) = do | ||||||
|   let valueBefore = unMix valueBeforeAmt |   let valueBefore = unMix valueBeforeAmt | ||||||
| @ -213,12 +212,12 @@ timeWeightedReturn showCashFlow prettyTables investmentsQuery trans mixedAmountV | |||||||
|         unitPrices = add initialUnitPrice unitPrices' |         unitPrices = add initialUnitPrice unitPrices' | ||||||
|         unitBalances = add initialUnits unitBalances' |         unitBalances = add initialUnits unitBalances' | ||||||
| 
 | 
 | ||||||
|     TL.putStr $ Ascii.render prettyTables id id T.pack |     TL.putStr $ Tab.render prettyTables id id T.pack | ||||||
|       (Table |       (Table | ||||||
|        (Tbl.Group NoLine (map (Header . showDate) dates)) |        (Tab.Group NoLine (map (Header . showDate) dates)) | ||||||
|        (Tbl.Group DoubleLine [ Tbl.Group SingleLine [Header "Portfolio value", Header "Unit balance"] |        (Tab.Group DoubleLine [ Tab.Group SingleLine [Header "Portfolio value", Header "Unit balance"] | ||||||
|                          , Tbl.Group SingleLine [Header "Pnl", Header "Cashflow", Header "Unit price", Header "Units"] |                          , Tab.Group SingleLine [Header "Pnl", Header "Cashflow", Header "Unit price", Header "Units"] | ||||||
|                          , Tbl.Group SingleLine [Header "New Unit Balance"]]) |                          , Tab.Group SingleLine [Header "New Unit Balance"]]) | ||||||
|        [ [value, oldBalance, pnl, cashflow, prc, udelta, balance] |        [ [value, oldBalance, pnl, cashflow, prc, udelta, balance] | ||||||
|        | value <- map showDecimal valuesOnDate |        | value <- map showDecimal valuesOnDate | ||||||
|        | oldBalance <- map showDecimal (0:unitBalances) |        | oldBalance <- map showDecimal (0:unitBalances) | ||||||
| @ -243,10 +242,10 @@ internalRateOfReturn showCashFlow prettyTables (OneSpan spanBegin spanEnd valueB | |||||||
|   when showCashFlow $ do |   when showCashFlow $ do | ||||||
|     printf "\nIRR cash flow for %s - %s\n" (showDate spanBegin) (showDate (addDays (-1) spanEnd)) |     printf "\nIRR cash flow for %s - %s\n" (showDate spanBegin) (showDate (addDays (-1) spanEnd)) | ||||||
|     let (dates, amounts) = unzip totalCF |     let (dates, amounts) = unzip totalCF | ||||||
|     TL.putStrLn $ Ascii.render prettyTables id id id |     TL.putStrLn $ Tab.render prettyTables id id id | ||||||
|       (Table |       (Table | ||||||
|        (Tbl.Group NoLine (map (Header . showDate) dates)) |        (Tab.Group NoLine (map (Header . showDate) dates)) | ||||||
|        (Tbl.Group SingleLine [Header "Amount"]) |        (Tab.Group SingleLine [Header "Amount"]) | ||||||
|        (map ((:[]) . T.pack . showMixedAmount) amounts)) |        (map ((:[]) . T.pack . showMixedAmount) amounts)) | ||||||
| 
 | 
 | ||||||
|   -- 0% is always a solution, so require at least something here |   -- 0% is always a solution, so require at least something here | ||||||
|  | |||||||
| @ -27,7 +27,7 @@ import Data.Time.Calendar (Day, addDays) | |||||||
| import System.Console.CmdArgs.Explicit as C | import System.Console.CmdArgs.Explicit as C | ||||||
| import Hledger.Read.CsvReader (CSV, printCSV) | import Hledger.Read.CsvReader (CSV, printCSV) | ||||||
| import Lucid as L hiding (value_) | import Lucid as L hiding (value_) | ||||||
| import Text.Tabular as Tab | import Text.Tabular.AsciiWide as Tab | ||||||
| 
 | 
 | ||||||
| import Hledger | import Hledger | ||||||
| import Hledger.Cli.Commands.Balance | import Hledger.Cli.Commands.Balance | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user