commodities: add commodities command
This commit is contained in:
parent
9e3cdef1e9
commit
d7a815fc08
@ -27,6 +27,7 @@ module Hledger.Cli.Commands (
|
|||||||
,module Hledger.Cli.Commands.Checkdates
|
,module Hledger.Cli.Commands.Checkdates
|
||||||
,module Hledger.Cli.Commands.Checkdupes
|
,module Hledger.Cli.Commands.Checkdupes
|
||||||
,module Hledger.Cli.Commands.Close
|
,module Hledger.Cli.Commands.Close
|
||||||
|
,module Hledger.Cli.Commands.Commodities
|
||||||
,module Hledger.Cli.Commands.Help
|
,module Hledger.Cli.Commands.Help
|
||||||
,module Hledger.Cli.Commands.Import
|
,module Hledger.Cli.Commands.Import
|
||||||
,module Hledger.Cli.Commands.Incomestatement
|
,module Hledger.Cli.Commands.Incomestatement
|
||||||
@ -67,6 +68,7 @@ import Hledger.Cli.Commands.Cashflow
|
|||||||
import Hledger.Cli.Commands.Checkdates
|
import Hledger.Cli.Commands.Checkdates
|
||||||
import Hledger.Cli.Commands.Checkdupes
|
import Hledger.Cli.Commands.Checkdupes
|
||||||
import Hledger.Cli.Commands.Close
|
import Hledger.Cli.Commands.Close
|
||||||
|
import Hledger.Cli.Commands.Commodities
|
||||||
import Hledger.Cli.Commands.Files
|
import Hledger.Cli.Commands.Files
|
||||||
import Hledger.Cli.Commands.Help
|
import Hledger.Cli.Commands.Help
|
||||||
import Hledger.Cli.Commands.Import
|
import Hledger.Cli.Commands.Import
|
||||||
@ -96,6 +98,7 @@ builtinCommands = [
|
|||||||
,(checkdatesmode , checkdates)
|
,(checkdatesmode , checkdates)
|
||||||
,(checkdupesmode , checkdupes)
|
,(checkdupesmode , checkdupes)
|
||||||
,(closemode , close)
|
,(closemode , close)
|
||||||
|
,(commoditiesmode , commodities)
|
||||||
,(helpmode , help')
|
,(helpmode , help')
|
||||||
,(importmode , importcmd)
|
,(importmode , importcmd)
|
||||||
,(filesmode , files)
|
,(filesmode , files)
|
||||||
@ -164,6 +167,7 @@ commandsList = unlines [
|
|||||||
," accounts (a) show account names"
|
," accounts (a) show account names"
|
||||||
," activity show postings-per-interval bar charts"
|
," activity show postings-per-interval bar charts"
|
||||||
," balance (b, bal) show balance changes/end balances/budgets in accounts"
|
," balance (b, bal) show balance changes/end balances/budgets in accounts"
|
||||||
|
," commodities show commodity/currency symbols"
|
||||||
," files show input file paths"
|
," files show input file paths"
|
||||||
," prices show market price records"
|
," prices show market price records"
|
||||||
," print (p, txns) show transactions (journal entries)"
|
," print (p, txns) show transactions (journal entries)"
|
||||||
|
|||||||
36
hledger/Hledger/Cli/Commands/Commodities.hs
Normal file
36
hledger/Hledger/Cli/Commands/Commodities.hs
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
{-|
|
||||||
|
|
||||||
|
The @commodities@ command lists commodity/currency symbols.
|
||||||
|
|
||||||
|
-}
|
||||||
|
|
||||||
|
{-# LANGUAGE OverloadedStrings #-}
|
||||||
|
{-# LANGUAGE TemplateHaskell #-}
|
||||||
|
|
||||||
|
module Hledger.Cli.Commands.Commodities (
|
||||||
|
commoditiesmode
|
||||||
|
,commodities
|
||||||
|
) where
|
||||||
|
|
||||||
|
import Control.Monad
|
||||||
|
import Data.List
|
||||||
|
import qualified Data.Map as M
|
||||||
|
import qualified Data.Text.IO as T
|
||||||
|
|
||||||
|
import Hledger
|
||||||
|
import Hledger.Cli.CliOptions
|
||||||
|
|
||||||
|
|
||||||
|
-- | Command line options for this command.
|
||||||
|
commoditiesmode = hledgerCommandMode
|
||||||
|
($(embedFileRelative "Hledger/Cli/Commands/Commodities.txt"))
|
||||||
|
[]
|
||||||
|
[generalflagsgroup2]
|
||||||
|
[]
|
||||||
|
([], Nothing)
|
||||||
|
|
||||||
|
commodities :: CliOpts -> Journal -> IO ()
|
||||||
|
commodities _copts j = do
|
||||||
|
let cs = filter (/= "AUTO") $
|
||||||
|
nub $ sort $ M.keys (jcommodities j) ++ M.keys (jinferredcommodities j)
|
||||||
|
forM_ cs T.putStrLn
|
||||||
4
hledger/Hledger/Cli/Commands/Commodities.md
Normal file
4
hledger/Hledger/Cli/Commands/Commodities.md
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
commodities\
|
||||||
|
List all commodity/currency symbols used or declared in the journal.
|
||||||
|
|
||||||
|
_FLAGS_
|
||||||
4
hledger/Hledger/Cli/Commands/Commodities.txt
Normal file
4
hledger/Hledger/Cli/Commands/Commodities.txt
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
commodities
|
||||||
|
List all commodity/currency symbols used or declared in the journal.
|
||||||
|
|
||||||
|
_FLAGS_
|
||||||
@ -4,7 +4,7 @@ cabal-version: 1.12
|
|||||||
--
|
--
|
||||||
-- see: https://github.com/sol/hpack
|
-- see: https://github.com/sol/hpack
|
||||||
--
|
--
|
||||||
-- hash: 23816762c7f1abc912788cda07079f28217cdf0638286735e84cfa4f5a24ca2e
|
-- hash: 837fc1f3539c3f3c9f0eb1cbde0b6b361836e7f8c2a8c7cefaaa7f626f17658e
|
||||||
|
|
||||||
name: hledger
|
name: hledger
|
||||||
version: 1.13.99
|
version: 1.13.99
|
||||||
@ -119,6 +119,7 @@ library
|
|||||||
Hledger.Cli.Commands.Checkdates
|
Hledger.Cli.Commands.Checkdates
|
||||||
Hledger.Cli.Commands.Checkdupes
|
Hledger.Cli.Commands.Checkdupes
|
||||||
Hledger.Cli.Commands.Close
|
Hledger.Cli.Commands.Close
|
||||||
|
Hledger.Cli.Commands.Commodities
|
||||||
Hledger.Cli.Commands.Help
|
Hledger.Cli.Commands.Help
|
||||||
Hledger.Cli.Commands.Files
|
Hledger.Cli.Commands.Files
|
||||||
Hledger.Cli.Commands.Import
|
Hledger.Cli.Commands.Import
|
||||||
|
|||||||
@ -163,6 +163,7 @@ library:
|
|||||||
- Hledger.Cli.Commands.Checkdates
|
- Hledger.Cli.Commands.Checkdates
|
||||||
- Hledger.Cli.Commands.Checkdupes
|
- Hledger.Cli.Commands.Checkdupes
|
||||||
- Hledger.Cli.Commands.Close
|
- Hledger.Cli.Commands.Close
|
||||||
|
- Hledger.Cli.Commands.Commodities
|
||||||
- Hledger.Cli.Commands.Help
|
- Hledger.Cli.Commands.Help
|
||||||
- Hledger.Cli.Commands.Files
|
- Hledger.Cli.Commands.Files
|
||||||
- Hledger.Cli.Commands.Import
|
- Hledger.Cli.Commands.Import
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user