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