diff --git a/hledger/Hledger/Cli/Commands/Run.hs b/hledger/Hledger/Cli/Commands/Run.hs index ef8921e56..01498787a 100644 --- a/hledger/Hledger/Cli/Commands/Run.hs +++ b/hledger/Hledger/Cli/Commands/Run.hs @@ -89,7 +89,10 @@ run defaultJournalOverride findBuiltinCommand cliopts@CliOpts{rawopts_=rawopts} allAreFiles <- and <$> mapM (doesFileExist . snd . splitReaderPrefix) args case allAreFiles of True -> runFromFiles key findBuiltinCommand args - False -> runFromArgs key findBuiltinCommand args + False -> + case args of + "--":_ -> runFromArgs key findBuiltinCommand args + _ -> error' $ "'run' expects '--' before first command, found none" -- | The actual repl command. repl :: (String -> Maybe (Mode RawOpts, CliOpts -> Journal -> IO ())) -> CliOpts -> IO () diff --git a/hledger/test/run.test b/hledger/test/run.test index dcf51b9ea..e9ba65284 100644 --- a/hledger/test/run.test +++ b/hledger/test/run.test @@ -1,5 +1,14 @@ # * run command +# ** 0. Run requires -- before first command +< +2017-01-01 groceries + assets:cash -$100 + expenses:food +$ hledger run -f- register cash +>2 /hledger: Error: 'run' expects '--' before first command, found none/ +>=1 + # ** 0. Run one command from command line < 2017-01-01 groceries