| Safe Haskell | Safe-Inferred |
|---|---|
| Language | Haskell2010 |
Hledger.Cli.Commands.Run
Description
The run command allows you to run multiple commands via REPL or from the supplied file(s).
Synopsis
- runmode :: Mode RawOpts
- run :: Maybe DefaultRunJournal -> (String -> Maybe (Mode RawOpts, CliOpts -> Journal -> IO ())) -> [String] -> CliOpts -> IO ()
- replmode :: Mode RawOpts
- repl :: (String -> Maybe (Mode RawOpts, CliOpts -> Journal -> IO ())) -> [String] -> CliOpts -> IO ()
- runOrReplStub :: CliOpts -> Journal -> IO ()
Documentation
run :: Maybe DefaultRunJournal -> (String -> Maybe (Mode RawOpts, CliOpts -> Journal -> IO ())) -> [String] -> CliOpts -> IO () Source #
The actual run command.
repl :: (String -> Maybe (Mode RawOpts, CliOpts -> Journal -> IO ())) -> [String] -> CliOpts -> IO () Source #
The actual repl command.
runOrReplStub :: CliOpts -> Journal -> IO () Source #
The fake run/repl command introduced to break circular dependency.
This module needs access to findBuiltinCommand, which is defined in Hledger.Cli.Commands
However, Hledger.Cli.Commands imports this module, which creates circular dependency.
We expose this do-nothing function so that it could be included in the list of all commands inside
Hledger.Cli.Commands and ensure that "run" is recognized as a valid command by the Hledger.Cli top-level
command line parser. That parser, however, would not call run'. It has a special case for "run", and
will call "run" (see below), passing it findBuiltinCommand, thus breaking circular dependency.