cli: command to list included files
This commit is contained in:
parent
3de8c11de1
commit
cb979ed129
@ -278,6 +278,7 @@ standardAddonsHelp = [
|
||||
,("vty", "start the curses-style interface")
|
||||
,("web", "start the web interface")
|
||||
,("accounts", "list account names")
|
||||
,("files", "list included files")
|
||||
,("balance-csv", "output a balance report as CSV")
|
||||
,("close", "show a transaction entry zeroing all accounts")
|
||||
,("print-unique", "print only transactions with unique descriptions")
|
||||
|
||||
@ -64,6 +64,7 @@ import Hledger.Cli.Commands.Cashflow
|
||||
import Hledger.Cli.Commands.Checkdates
|
||||
import Hledger.Cli.Commands.Checkdupes
|
||||
import Hledger.Cli.Commands.Close
|
||||
import Hledger.Cli.Commands.Files
|
||||
import Hledger.Cli.Commands.Help
|
||||
import Hledger.Cli.Commands.Import
|
||||
import Hledger.Cli.Commands.Incomestatement
|
||||
@ -93,6 +94,7 @@ builtinCommands = [
|
||||
,(closemode , close)
|
||||
,(helpmode , help')
|
||||
,(importmode , importcmd)
|
||||
,(filesmode , files)
|
||||
,(incomestatementmode , incomestatement)
|
||||
,(pricesmode , prices)
|
||||
,(printmode , print')
|
||||
|
||||
48
hledger/Hledger/Cli/Commands/Files.hs
Normal file
48
hledger/Hledger/Cli/Commands/Files.hs
Normal file
@ -0,0 +1,48 @@
|
||||
{-|
|
||||
|
||||
The @files@ command lists included files.
|
||||
|
||||
-}
|
||||
|
||||
{-# LANGUAGE OverloadedStrings #-}
|
||||
|
||||
module Hledger.Cli.Commands.Files (
|
||||
filesmode
|
||||
,files
|
||||
) where
|
||||
|
||||
import Data.List
|
||||
-- import Data.Text (Text)
|
||||
import Safe
|
||||
import System.Console.CmdArgs.Explicit as C
|
||||
|
||||
import Hledger
|
||||
import Prelude hiding (putStrLn)
|
||||
import Hledger.Utils.UTF8IOCompat (putStrLn)
|
||||
import Hledger.Cli.CliOptions
|
||||
|
||||
|
||||
-- | Command line options for this command.
|
||||
filesmode = (defCommandMode $ ["files"] ) {
|
||||
modeHelp = "show names of included files"
|
||||
,modeHelpSuffix = [
|
||||
"This command lists names of all files included in the parsed journal(s)."
|
||||
,"With REGEX argument will list only files matching regular expression (case sensitive)."
|
||||
]
|
||||
,modeGroupFlags = C.Group {
|
||||
groupUnnamed = []
|
||||
,groupHidden = []
|
||||
,groupNamed = [generalflagsgroup2]
|
||||
}
|
||||
,modeArgs= ([], Just $ argsFlag "[REGEX]")
|
||||
}
|
||||
|
||||
-- | The files command.
|
||||
files :: CliOpts -> Journal -> IO ()
|
||||
files CliOpts{rawopts_=rawopts} j = do
|
||||
let args = listofstringopt "args" rawopts
|
||||
regex = headMay args
|
||||
files = (maybe id (filter . regexMatches) regex)
|
||||
$ map fst
|
||||
$ jfiles j
|
||||
mapM_ putStrLn files
|
||||
@ -368,6 +368,10 @@ or for closing out income/expenses for a period.
|
||||
This was formerly called "equity", as in Ledger, and that alias is also accepted.
|
||||
See close --help for more.
|
||||
|
||||
## files
|
||||
List all files included in the journal. With a REGEX argument,
|
||||
only file names matching the regular expression (case sensitive) are shown.
|
||||
|
||||
## help
|
||||
Show any of the hledger manuals.
|
||||
|
||||
|
||||
@ -140,6 +140,7 @@ library:
|
||||
- Hledger.Cli.Commands.Checkdupes
|
||||
- Hledger.Cli.Commands.Close
|
||||
- Hledger.Cli.Commands.Help
|
||||
- Hledger.Cli.Commands.Files
|
||||
- Hledger.Cli.Commands.Import
|
||||
- Hledger.Cli.Commands.Incomestatement
|
||||
- Hledger.Cli.Commands.Prices
|
||||
|
||||
Loading…
Reference in New Issue
Block a user