stop depending on here due to slow haskell-src-meta/stackage issues
Using file-embed or ordinary literals instead, for now.
This commit is contained in:
		
							parent
							
								
									e1622bcca6
								
							
						
					
					
						commit
						86d5652e53
					
				| @ -37,18 +37,18 @@ where | ||||
| import Control.Monad (liftM, when) | ||||
| -- import Data.Char | ||||
| import Data.Default | ||||
| import Data.FileEmbed (makeRelativeToProject, embedFile) | ||||
| import Data.FileEmbed (makeRelativeToProject, embedStringFile) | ||||
| import Data.List | ||||
| -- import Data.Maybe | ||||
| -- import Data.PPrint | ||||
| import Data.String.Here (hereFile) | ||||
| -- import Data.String.Here (hereFile) | ||||
| import Data.Text (Text) | ||||
| import qualified Data.Text.IO as T | ||||
| import Data.Time.Clock | ||||
| import Data.Time.LocalTime | ||||
| -- import Data.Text (Text) | ||||
| -- import qualified Data.Text as T | ||||
| import Language.Haskell.TH.Quote (QuasiQuoter(..)) | ||||
| -- import Language.Haskell.TH.Quote (QuasiQuoter(..)) | ||||
| import Language.Haskell.TH.Syntax (Q, Exp) | ||||
| import System.Directory (getHomeDirectory) | ||||
| import System.FilePath((</>), isRelative) | ||||
| @ -225,16 +225,16 @@ mapM' :: Monad f => (a -> f b) -> [a] -> f [b] | ||||
| mapM' f = sequence' . map f | ||||
| 
 | ||||
| -- | Like embedFile, but takes a path relative to the package directory. | ||||
| -- Similar to hereFileRelative ? | ||||
| embedFileRelative :: FilePath -> Q Exp | ||||
| embedFileRelative f = makeRelativeToProject f >>= embedFile | ||||
| 
 | ||||
| -- | Like hereFile, but takes a path relative to the package directory. | ||||
| -- Similar to embedFileRelative ? | ||||
| hereFileRelative :: FilePath -> Q Exp | ||||
| hereFileRelative f = makeRelativeToProject f >>= hereFileExp | ||||
|   where | ||||
|     QuasiQuoter{quoteExp=hereFileExp} = hereFile | ||||
| embedFileRelative :: FilePath -> Q Exp | ||||
| embedFileRelative f = makeRelativeToProject f >>= embedStringFile | ||||
| 
 | ||||
| -- -- | Like hereFile, but takes a path relative to the package directory. | ||||
| -- -- Similar to embedFileRelative ? | ||||
| -- hereFileRelative :: FilePath -> Q Exp | ||||
| -- hereFileRelative f = makeRelativeToProject f >>= hereFileExp | ||||
| --   where | ||||
| --     QuasiQuoter{quoteExp=hereFileExp} = hereFile | ||||
|      | ||||
| tests_Utils = tests "Utils" [ | ||||
|   tests_Text | ||||
|  | ||||
| @ -4,7 +4,7 @@ cabal-version: 1.12 | ||||
| -- | ||||
| -- see: https://github.com/sol/hpack | ||||
| -- | ||||
| -- hash: c17b44c345a89a13650ca3efcba7d7e8311e9312acfd08dff5f2716e70ca29d7 | ||||
| -- hash: 25ebf00dbf3312c8ce9cef75a4e0dbc04608eca66a179fb6fdc92d9d5e1c3b54 | ||||
| 
 | ||||
| name:           hledger-lib | ||||
| version:        1.13 | ||||
| @ -124,7 +124,6 @@ library | ||||
|     , file-embed >=0.0.10 | ||||
|     , filepath | ||||
|     , hashtables >=1.2.3.1 | ||||
|     , here | ||||
|     , megaparsec >=7.0.0 && <8 | ||||
|     , mtl | ||||
|     , mtl-compat | ||||
| @ -227,7 +226,6 @@ test-suite doctests | ||||
|     , file-embed >=0.0.10 | ||||
|     , filepath | ||||
|     , hashtables >=1.2.3.1 | ||||
|     , here | ||||
|     , megaparsec >=7.0.0 && <8 | ||||
|     , mtl | ||||
|     , mtl-compat | ||||
| @ -329,7 +327,6 @@ test-suite easytests | ||||
|     , file-embed >=0.0.10 | ||||
|     , filepath | ||||
|     , hashtables >=1.2.3.1 | ||||
|     , here | ||||
|     , hledger-lib | ||||
|     , megaparsec >=7.0.0 && <8 | ||||
|     , mtl | ||||
|  | ||||
| @ -58,7 +58,6 @@ dependencies: | ||||
| - file-embed >=0.0.10 | ||||
| - filepath | ||||
| - hashtables >=1.2.3.1 | ||||
| - here | ||||
| - megaparsec >=7.0.0 && <8 | ||||
| - mtl | ||||
| - mtl-compat | ||||
|  | ||||
| @ -47,7 +47,6 @@ import Data.List | ||||
| #if !(MIN_VERSION_base(4,11,0)) | ||||
| import Data.Monoid ((<>)) | ||||
| #endif | ||||
| import Data.String.Here | ||||
| import Data.Text (Text) | ||||
| import qualified Data.Text as T | ||||
| import Data.Time.Calendar | ||||
| @ -132,63 +131,63 @@ builtinCommands = [ | ||||
| -- TODO: generate more of this automatically. | ||||
| --  | ||||
| commandsList :: String | ||||
| commandsList = [here| | ||||
| ------------------------------------------------------------------------------- | ||||
| PROGVERSION | ||||
| Usage: hledger COMMAND [OPTIONS] [-- ADDONCMDOPTIONS] | ||||
| Commands (+ addons found in $PATH): | ||||
| 
 | ||||
| Data entry (these commands modify the journal file): | ||||
|  add                      add transactions using guided prompts | ||||
| +iadd                     add transactions using curses ui | ||||
|  import                   add any new transactions from other files (eg csv) | ||||
| 
 | ||||
| Data management: | ||||
| +autosync                 download/deduplicate/convert OFX data | ||||
| +check                    check more powerful balance assertions | ||||
|  check-dates              check transactions are ordered by date | ||||
|  check-dupes              check for accounts with the same leaf name | ||||
|  close (equity)           generate balance-resetting transactions | ||||
| +diff                     compare account transactions in two journal files | ||||
| +interest                 generate interest transactions | ||||
|  rewrite                  generate automated postings/diffs (old, use --auto) | ||||
| 
 | ||||
| Financial reports: | ||||
|  balancesheet (bs)        show assets, liabilities and net worth | ||||
|  balancesheetequity (bse) show assets, liabilities and equity | ||||
|  cashflow (cf)            show changes in liquid assets | ||||
|  incomestatement (is)     show revenues and expenses | ||||
| +irr                      calculate internal rate of return (old, use roi) | ||||
|  roi                      show return on investments | ||||
| 
 | ||||
| Low-level reports: | ||||
|  accounts (a)             show account names | ||||
|  activity                 show postings-per-interval bar charts | ||||
|  balance (b, bal)         show balance changes/end balances/budgets in accounts | ||||
|  files                    show input file paths | ||||
|  prices                   show market price records | ||||
|  print (p, txns)          show transactions (journal entries) | ||||
|  print-unique             show only transactions with unique descriptions | ||||
|  register (r, reg)        show postings in one or more accounts & running total | ||||
|  register-match           show a recent posting that best matches a description | ||||
|  stats                    show journal statistics | ||||
|  tags                     show tag names | ||||
|  test                     run self tests | ||||
| 
 | ||||
| Alternate user interfaces: | ||||
| +ui                       run curses ui | ||||
| +web                      run web ui | ||||
| +api                      run http api server | ||||
| 
 | ||||
| Other: | ||||
| OTHER | ||||
| Help: | ||||
|  (no arguments)           show this commands list | ||||
|  -h                       show general flags | ||||
|  COMMAND -h               show flags & docs for COMMAND | ||||
|  help [MANUAL]            show hledger manuals in various formats | ||||
| 
 | ||||
| |] | ||||
| commandsList = unlines [ | ||||
|    "-------------------------------------------------------------------------------" | ||||
|   ,"PROGVERSION" | ||||
|   ,"Usage: hledger COMMAND [OPTIONS] [-- ADDONCMDOPTIONS]" | ||||
|   ,"Commands (+ addons found in $PATH):" | ||||
|   ,"" | ||||
|   ,"Data entry (these commands modify the journal file):" | ||||
|   ," add                      add transactions using guided prompts" | ||||
|   ,"+iadd                     add transactions using curses ui" | ||||
|   ," import                   add any new transactions from other files (eg csv)" | ||||
|   ,"" | ||||
|   ,"Data management:" | ||||
|   ,"+autosync                 download/deduplicate/convert OFX data" | ||||
|   ,"+check                    check more powerful balance assertions" | ||||
|   ," check-dates              check transactions are ordered by date" | ||||
|   ," check-dupes              check for accounts with the same leaf name" | ||||
|   ," close (equity)           generate balance-resetting transactions" | ||||
|   ,"+diff                     compare account transactions in two journal files" | ||||
|   ,"+interest                 generate interest transactions" | ||||
|   ," rewrite                  generate automated postings/diffs (old, use --auto)" | ||||
|   ,"" | ||||
|   ,"Financial reports:" | ||||
|   ," balancesheet (bs)        show assets, liabilities and net worth" | ||||
|   ," balancesheetequity (bse) show assets, liabilities and equity" | ||||
|   ," cashflow (cf)            show changes in liquid assets" | ||||
|   ," incomestatement (is)     show revenues and expenses" | ||||
|   ,"+irr                      calculate internal rate of return (old, use roi)" | ||||
|   ," roi                      show return on investments" | ||||
|   ,"" | ||||
|   ,"Low-level reports:" | ||||
|   ," accounts (a)             show account names" | ||||
|   ," activity                 show postings-per-interval bar charts" | ||||
|   ," balance (b, bal)         show balance changes/end balances/budgets in accounts" | ||||
|   ," files                    show input file paths" | ||||
|   ," prices                   show market price records" | ||||
|   ," print (p, txns)          show transactions (journal entries)" | ||||
|   ," print-unique             show only transactions with unique descriptions" | ||||
|   ," register (r, reg)        show postings in one or more accounts & running total" | ||||
|   ," register-match           show a recent posting that best matches a description" | ||||
|   ," stats                    show journal statistics" | ||||
|   ," tags                     show tag names" | ||||
|   ," test                     run self tests" | ||||
|   ,"" | ||||
|   ,"Alternate user interfaces:" | ||||
|   ,"+ui                       run curses ui" | ||||
|   ,"+web                      run web ui" | ||||
|   ,"+api                      run http api server" | ||||
|   ,"" | ||||
|   ,"Other:" | ||||
|   ,"OTHER" | ||||
|   ,"Help:" | ||||
|   ," (no arguments)           show this commands list" | ||||
|   ," -h                       show general flags" | ||||
|   ," COMMAND -h               show flags & docs for COMMAND" | ||||
|   ," help [MANUAL]            show hledger manuals in various formats" | ||||
|   ,"" | ||||
|   ] | ||||
| -- commands                 show brief commands list | ||||
| -- edit                     open a text editor on some part of the journal | ||||
| -- aregister (ar, areg)     show transactions in a single account | ||||
| @ -236,7 +235,7 @@ printCommandsList addonsFound = | ||||
| -- The test command is defined here for easy access to other modules' tests. | ||||
| 
 | ||||
| testmode = hledgerCommandMode | ||||
|   $(hereFileRelative "Hledger/Cli/Commands/Test.txt") | ||||
|   $(embedFileRelative "Hledger/Cli/Commands/Test.txt") | ||||
|   [] | ||||
|   [generalflagsgroup3] | ||||
|   [] | ||||
|  | ||||
| @ -35,7 +35,7 @@ import Hledger.Cli.CliOptions | ||||
| 
 | ||||
| -- | Command line options for this command. | ||||
| accountsmode = hledgerCommandMode | ||||
|   $(hereFileRelative "Hledger/Cli/Commands/Accounts.txt") | ||||
|   $(embedFileRelative "Hledger/Cli/Commands/Accounts.txt") | ||||
|   [flagNone ["declared"] (\opts -> setboolopt "declared" opts) "show account names declared with account directives" | ||||
|   ,flagNone ["used"] (\opts -> setboolopt "used" opts) "show account names referenced by transactions" | ||||
|   ,flagNone ["tree"] (\opts -> setboolopt "tree" opts) "show short account names, as a tree" | ||||
|  | ||||
| @ -20,7 +20,7 @@ import Prelude hiding (putStr) | ||||
| import Hledger.Utils.UTF8IOCompat (putStr) | ||||
| 
 | ||||
| activitymode = hledgerCommandMode | ||||
|   $(hereFileRelative "Hledger/Cli/Commands/Activity.txt") | ||||
|   $(embedFileRelative "Hledger/Cli/Commands/Activity.txt") | ||||
|   [] | ||||
|   [generalflagsgroup1] | ||||
|   [] | ||||
|  | ||||
| @ -48,7 +48,7 @@ import Hledger.Cli.Commands.Register (postingsReportAsText) | ||||
| 
 | ||||
| 
 | ||||
| addmode = hledgerCommandMode | ||||
|   $(hereFileRelative "Hledger/Cli/Commands/Add.txt") | ||||
|   $(embedFileRelative "Hledger/Cli/Commands/Add.txt") | ||||
|   [flagNone ["no-new-accounts"]  (\opts -> setboolopt "no-new-accounts" opts) "don't allow creating new accounts"] | ||||
|   [generalflagsgroup2] | ||||
|   [] | ||||
|  | ||||
| @ -270,7 +270,7 @@ import Hledger.Read.CsvReader (CSV, printCSV) | ||||
| 
 | ||||
| -- | Command line options for this command. | ||||
| balancemode = hledgerCommandMode | ||||
|   $(hereFileRelative "Hledger/Cli/Commands/Balance.txt") | ||||
|   $(embedFileRelative "Hledger/Cli/Commands/Balance.txt") | ||||
|   ([flagNone ["change"] (\opts -> setboolopt "change" opts) | ||||
|       "show balance change in each period (default)" | ||||
|    ,flagNone ["cumulative"] (\opts -> setboolopt "cumulative" opts) | ||||
|  | ||||
| @ -18,7 +18,7 @@ import Hledger.Cli.CliOptions | ||||
| import Hledger.Cli.CompoundBalanceCommand | ||||
| 
 | ||||
| balancesheetSpec = CompoundBalanceCommandSpec { | ||||
|   cbcdoc      = ($(hereFileRelative "Hledger/Cli/Commands/Balancesheet.txt")), | ||||
|   cbcdoc      = ($(embedFileRelative "Hledger/Cli/Commands/Balancesheet.txt")), | ||||
|   cbctitle    = "Balance Sheet", | ||||
|   cbcqueries  = [ | ||||
|      CBCSubreportSpec{ | ||||
|  | ||||
| @ -18,7 +18,7 @@ import Hledger.Cli.CliOptions | ||||
| import Hledger.Cli.CompoundBalanceCommand | ||||
| 
 | ||||
| balancesheetequitySpec = CompoundBalanceCommandSpec { | ||||
|   cbcdoc      = ($(hereFileRelative "Hledger/Cli/Commands/Balancesheetequity.txt")), | ||||
|   cbcdoc      = ($(embedFileRelative "Hledger/Cli/Commands/Balancesheetequity.txt")), | ||||
|   cbctitle    = "Balance Sheet With Equity", | ||||
|   cbcqueries  = [ | ||||
|      CBCSubreportSpec{ | ||||
|  | ||||
| @ -21,7 +21,7 @@ import Hledger.Cli.CliOptions | ||||
| import Hledger.Cli.CompoundBalanceCommand | ||||
| 
 | ||||
| cashflowSpec = CompoundBalanceCommandSpec { | ||||
|   cbcdoc      = ($(hereFileRelative "Hledger/Cli/Commands/Cashflow.txt")), | ||||
|   cbcdoc      = ($(embedFileRelative "Hledger/Cli/Commands/Cashflow.txt")), | ||||
|   cbctitle    = "Cashflow Statement", | ||||
|   cbcqueries  = [ | ||||
|      CBCSubreportSpec{ | ||||
|  | ||||
| @ -13,7 +13,7 @@ import Text.Printf | ||||
| 
 | ||||
| checkdatesmode :: Mode RawOpts | ||||
| checkdatesmode = hledgerCommandMode | ||||
|   ($(hereFileRelative "Hledger/Cli/Commands/Checkdates.txt")) | ||||
|   ($(embedFileRelative "Hledger/Cli/Commands/Checkdates.txt")) | ||||
|   [flagNone ["strict"] (\opts -> setboolopt "strict" opts) "makes date comparing strict"] | ||||
|   [generalflagsgroup1] | ||||
|   [] | ||||
|  | ||||
| @ -16,7 +16,7 @@ import Text.Printf | ||||
| 
 | ||||
| checkdupesmode :: Mode RawOpts | ||||
| checkdupesmode = hledgerCommandMode | ||||
|   ($(hereFileRelative "Hledger/Cli/Commands/Checkdupes.txt")) | ||||
|   ($(embedFileRelative "Hledger/Cli/Commands/Checkdupes.txt")) | ||||
|   [] | ||||
|   [generalflagsgroup1] | ||||
|   [] | ||||
|  | ||||
| @ -16,7 +16,7 @@ import Hledger | ||||
| import Hledger.Cli.CliOptions | ||||
| 
 | ||||
| closemode = hledgerCommandMode | ||||
|   $(hereFileRelative "Hledger/Cli/Commands/Close.txt") | ||||
|   $(embedFileRelative "Hledger/Cli/Commands/Close.txt") | ||||
|   [flagNone ["opening"] (\opts -> setboolopt "opening" opts) "show just opening transaction" | ||||
|   ,flagNone ["closing"] (\opts -> setboolopt "closing" opts) "show just closing transaction" | ||||
|   ] | ||||
|  | ||||
| @ -23,7 +23,7 @@ import Hledger.Cli.CliOptions | ||||
| 
 | ||||
| -- | Command line options for this command. | ||||
| filesmode = hledgerCommandMode | ||||
|   ($(hereFileRelative "Hledger/Cli/Commands/Files.txt")) | ||||
|   ($(embedFileRelative "Hledger/Cli/Commands/Files.txt")) | ||||
|   [] | ||||
|   [generalflagsgroup2] | ||||
|   [] | ||||
|  | ||||
| @ -20,7 +20,6 @@ module Hledger.Cli.Commands.Help ( | ||||
| import Prelude () | ||||
| import "base-compat-batteries" Prelude.Compat | ||||
| import Data.Char | ||||
| import Data.String.Here | ||||
| import Data.List | ||||
| import Data.Maybe | ||||
| import Safe | ||||
| @ -28,7 +27,7 @@ import System.Console.CmdArgs.Explicit | ||||
| import System.Environment | ||||
| import System.IO | ||||
| 
 | ||||
| import Hledger.Utils (hereFileRelative) | ||||
| import Hledger.Utils (embedFileRelative) | ||||
| import Hledger.Data.RawOptions | ||||
| import Hledger.Data.Types | ||||
| import Hledger.Cli.CliOptions | ||||
| @ -36,7 +35,7 @@ import Hledger.Cli.DocFiles | ||||
| --import Hledger.Utils.Debug | ||||
| 
 | ||||
| helpmode = hledgerCommandMode | ||||
|   ($(hereFileRelative "Hledger/Cli/Commands/Help.txt")) | ||||
|   ($(embedFileRelative "Hledger/Cli/Commands/Help.txt")) | ||||
|   [flagNone ["info"]  (setboolopt "info")  "show the manual with info" | ||||
|   ,flagNone ["man"]   (setboolopt "man")   "show the manual with man" | ||||
|   ,flagNone ["pager"] (setboolopt "pager") "show the manual with $PAGER or less" | ||||
| @ -74,9 +73,10 @@ help' opts _ = do | ||||
|       | pagerprog `elem` exes           = pager | ||||
|       | otherwise                       = cat  | ||||
|   case topic of | ||||
|     Nothing -> putStrLn $ [here| | ||||
| Please choose a manual by typing "hledger help MANUAL" (any substring is ok). | ||||
| A viewer (info, man, a pager, or stdout) will be auto-selected, | ||||
| or type "hledger help -h" to see options. Manuals available: | ||||
| |] ++ "\n " ++ intercalate " " docTopics | ||||
|     Nothing -> putStrLn $ unlines [ | ||||
|        "Please choose a manual by typing \"hledger help MANUAL\" (any substring is ok)." | ||||
|       ,"A viewer (info, man, a pager, or stdout) will be auto-selected," | ||||
|       ,"or type \"hledger help -h\" to see options. Manuals available:" | ||||
|       ] | ||||
|       ++ "\n " ++ intercalate " " docTopics | ||||
|     Just t  -> viewer t | ||||
|  | ||||
| @ -18,7 +18,7 @@ import System.Console.CmdArgs.Explicit | ||||
| import Text.Printf | ||||
| 
 | ||||
| importmode = hledgerCommandMode | ||||
|   ($(hereFileRelative "Hledger/Cli/Commands/Import.txt")) | ||||
|   ($(embedFileRelative "Hledger/Cli/Commands/Import.txt")) | ||||
|   [flagNone ["dry-run"] (\opts -> setboolopt "dry-run" opts) "just show the transactions to be imported"]  | ||||
|   [generalflagsgroup1] | ||||
|   [] | ||||
|  | ||||
| @ -17,7 +17,7 @@ import Hledger.Cli.CliOptions | ||||
| import Hledger.Cli.CompoundBalanceCommand | ||||
| 
 | ||||
| incomestatementSpec = CompoundBalanceCommandSpec { | ||||
|   cbcdoc      = ($(hereFileRelative "Hledger/Cli/Commands/Incomestatement.txt")), | ||||
|   cbcdoc      = ($(embedFileRelative "Hledger/Cli/Commands/Incomestatement.txt")), | ||||
|   cbctitle    = "Income Statement", | ||||
|   cbcqueries  = [ | ||||
|      CBCSubreportSpec{ | ||||
|  | ||||
| @ -15,7 +15,7 @@ import Hledger.Cli.CliOptions | ||||
| import System.Console.CmdArgs.Explicit | ||||
| 
 | ||||
| pricesmode = hledgerCommandMode | ||||
|   ($(hereFileRelative "Hledger/Cli/Commands/Prices.txt")) | ||||
|   ($(embedFileRelative "Hledger/Cli/Commands/Prices.txt")) | ||||
|   [flagNone ["costs"] (setboolopt "costs") "print transaction prices from postings" | ||||
|   ,flagNone ["inverted-costs"] (setboolopt "inverted-costs") "print transaction inverted prices from postings also"] | ||||
|   [generalflagsgroup1] | ||||
|  | ||||
| @ -27,7 +27,7 @@ import Hledger.Cli.Commands.Add ( transactionsSimilarTo ) | ||||
| 
 | ||||
| 
 | ||||
| printmode = hledgerCommandMode | ||||
|   ($(hereFileRelative "Hledger/Cli/Commands/Print.txt")) | ||||
|   ($(embedFileRelative "Hledger/Cli/Commands/Print.txt")) | ||||
|   [let arg = "STR" in | ||||
|    flagReq  ["match","m"] (\s opts -> Right $ setopt "match" s opts) arg | ||||
|     ("show the transaction whose description is most similar to "++arg++", and is most recent") | ||||
|  | ||||
| @ -13,7 +13,7 @@ import Hledger.Cli.CliOptions | ||||
| import Hledger.Cli.Commands.Print | ||||
| 
 | ||||
| printuniquemode = hledgerCommandMode | ||||
|   ($(hereFileRelative "Hledger/Cli/Commands/Printunique.txt")) | ||||
|   ($(embedFileRelative "Hledger/Cli/Commands/Printunique.txt")) | ||||
|   [] | ||||
|   [generalflagsgroup1] | ||||
|   [] | ||||
|  | ||||
| @ -28,7 +28,7 @@ import Hledger.Cli.CliOptions | ||||
| import Hledger.Cli.Utils | ||||
| 
 | ||||
| registermode = hledgerCommandMode | ||||
|   ($(hereFileRelative "Hledger/Cli/Commands/Register.txt")) | ||||
|   ($(embedFileRelative "Hledger/Cli/Commands/Register.txt")) | ||||
|   [flagNone ["cumulative"]         (\opts -> setboolopt "change" opts) | ||||
|      "show running total from report start date (default)" | ||||
|   ,flagNone ["historical","H"] (\opts -> setboolopt "historical" opts) | ||||
|  | ||||
| @ -15,7 +15,7 @@ import Hledger.Cli.CliOptions | ||||
| import Hledger.Cli.Commands.Register | ||||
| 
 | ||||
| registermatchmode = hledgerCommandMode | ||||
|   ($(hereFileRelative "Hledger/Cli/Commands/Registermatch.txt")) | ||||
|   ($(embedFileRelative "Hledger/Cli/Commands/Registermatch.txt")) | ||||
|   [] | ||||
|   [generalflagsgroup1] | ||||
|   [] | ||||
|  | ||||
| @ -23,7 +23,7 @@ import Text.Megaparsec | ||||
| import qualified Data.Algorithm.Diff as D | ||||
| 
 | ||||
| rewritemode = hledgerCommandMode | ||||
|   ($(hereFileRelative "Hledger/Cli/Commands/Rewrite.txt")) | ||||
|   ($(embedFileRelative "Hledger/Cli/Commands/Rewrite.txt")) | ||||
|   [flagReq ["add-posting"] (\s opts -> Right $ setopt "add-posting" s opts) "'ACCT  AMTEXPR'" | ||||
|            "add a posting to ACCT, which may be parenthesised. AMTEXPR is either a literal amount, or *N which means the transaction's first matched amount multiplied by N (a decimal number). Two spaces separate ACCT and AMTEXPR." | ||||
|   ,flagNone ["diff"] (setboolopt "diff") "generate diff suitable as an input for patch tool" | ||||
|  | ||||
| @ -30,7 +30,7 @@ import Hledger.Cli.CliOptions | ||||
| 
 | ||||
| 
 | ||||
| roimode = hledgerCommandMode | ||||
|   ($(hereFileRelative "Hledger/Cli/Commands/Roi.txt")) | ||||
|   ($(embedFileRelative "Hledger/Cli/Commands/Roi.txt")) | ||||
|   [flagNone ["cashflow"] (setboolopt "cashflow") "show all amounts that were used to compute returns" | ||||
|   ,flagReq ["investment"] (\s opts -> Right $ setopt "investment" s opts) "QUERY" | ||||
|     "query to select your investment transactions" | ||||
|  | ||||
| @ -31,7 +31,7 @@ import Hledger.Cli.Utils (writeOutput) | ||||
| 
 | ||||
| 
 | ||||
| statsmode = hledgerCommandMode | ||||
|   ($(hereFileRelative "Hledger/Cli/Commands/Stats.txt")) | ||||
|   ($(embedFileRelative "Hledger/Cli/Commands/Stats.txt")) | ||||
|   [flagReq  ["output-file","o"]   (\s opts -> Right $ setopt "output-file" s opts) "FILE" "write output to FILE.  A file extension matching one of the above formats selects that format." | ||||
|   ] | ||||
|   [generalflagsgroup1] | ||||
|  | ||||
| @ -14,7 +14,7 @@ import Hledger | ||||
| import Hledger.Cli.CliOptions | ||||
| 
 | ||||
| tagsmode = hledgerCommandMode | ||||
|   ($(hereFileRelative "Hledger/Cli/Commands/Tags.txt")) | ||||
|   ($(embedFileRelative "Hledger/Cli/Commands/Tags.txt")) | ||||
|   [] -- [flagNone ["strict"] (\opts -> setboolopt "strict" opts) "makes date comparing strict"] --  | ||||
|   [generalflagsgroup1] | ||||
|   [] | ||||
|  | ||||
| @ -42,7 +42,6 @@ module Hledger.Cli.Main where | ||||
| 
 | ||||
| import Data.Char (isDigit) | ||||
| import Data.List | ||||
| import Data.String.Here | ||||
| import Safe | ||||
| import System.Console.CmdArgs.Explicit as C | ||||
| import System.Environment | ||||
| @ -83,14 +82,15 @@ mainmode addons = defMode { | ||||
|         [detailedversionflag] | ||||
|         -- ++ inputflags -- included here so they'll not raise a confusing error if present with no COMMAND | ||||
|     } | ||||
|  ,modeHelpSuffix = lines $ regexReplace "PROGNAME" progname [here|Examples: | ||||
| PROGNAME                         list commands | ||||
| PROGNAME CMD [--] [OPTS] [ARGS]  run a command (use -- with addon commands) | ||||
| PROGNAME-CMD [OPTS] [ARGS]       or run addon commands directly | ||||
| PROGNAME -h                      show general usage | ||||
| PROGNAME CMD -h                  show command usage | ||||
| PROGNAME help [MANUAL]           show any of the hledger manuals in various formats | ||||
| |] | ||||
|  ,modeHelpSuffix = map (regexReplace "PROGNAME" progname) [ | ||||
|      "Examples:" | ||||
|     ,"PROGNAME                         list commands" | ||||
|     ,"PROGNAME CMD [--] [OPTS] [ARGS]  run a command (use -- with addon commands)" | ||||
|     ,"PROGNAME-CMD [OPTS] [ARGS]       or run addon commands directly" | ||||
|     ,"PROGNAME -h                      show general usage" | ||||
|     ,"PROGNAME CMD -h                  show command usage" | ||||
|     ,"PROGNAME help [MANUAL]           show any of the hledger manuals in various formats" | ||||
|     ] | ||||
|  } | ||||
| 
 | ||||
| -- | Let's go! | ||||
|  | ||||
| @ -4,7 +4,7 @@ cabal-version: 1.12 | ||||
| -- | ||||
| -- see: https://github.com/sol/hpack | ||||
| -- | ||||
| -- hash: 0f31726cb805b74d59400bb1d7502bb6c6c7f01eb41ac0272c4da6a8d94144b2 | ||||
| -- hash: 23ad53c1065d2d491ad11197683363d92136d6117de4ea6cc258865b82b5fc52 | ||||
| 
 | ||||
| name:           hledger | ||||
| version:        1.13 | ||||
| @ -152,7 +152,6 @@ library | ||||
|     , filepath | ||||
|     , hashable >=1.2.4 | ||||
|     , haskeline >=0.6 | ||||
|     , here | ||||
|     , hledger-lib >=1.13 && <1.14 | ||||
|     , lucid | ||||
|     , math-functions >=0.2.0.0 | ||||
| @ -202,7 +201,6 @@ executable hledger | ||||
|     , easytest | ||||
|     , filepath | ||||
|     , haskeline >=0.6 | ||||
|     , here | ||||
|     , hledger | ||||
|     , hledger-lib >=1.13 && <1.14 | ||||
|     , math-functions >=0.2.0.0 | ||||
| @ -255,7 +253,6 @@ test-suite test | ||||
|     , easytest | ||||
|     , filepath | ||||
|     , haskeline >=0.6 | ||||
|     , here | ||||
|     , hledger | ||||
|     , hledger-lib >=1.13 && <1.14 | ||||
|     , math-functions >=0.2.0.0 | ||||
| @ -308,7 +305,6 @@ benchmark bench | ||||
|     , easytest | ||||
|     , filepath | ||||
|     , haskeline >=0.6 | ||||
|     , here | ||||
|     , hledger | ||||
|     , hledger-lib >=1.13 && <1.14 | ||||
|     , html | ||||
|  | ||||
| @ -116,7 +116,6 @@ dependencies: | ||||
| - easytest | ||||
| - filepath | ||||
| - haskeline >=0.6 | ||||
| - here | ||||
| - megaparsec >=7.0.0 && <8 | ||||
| - mtl | ||||
| - mtl-compat | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user