summaryrefslogtreecommitdiff
path: root/src/Command/Run.hs
diff options
context:
space:
mode:
Diffstat (limited to 'src/Command/Run.hs')
-rw-r--r--src/Command/Run.hs9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/Command/Run.hs b/src/Command/Run.hs
index ccd4bfa..6419c58 100644
--- a/src/Command/Run.hs
+++ b/src/Command/Run.hs
@@ -10,6 +10,7 @@ import Control.Monad.IO.Class
import Data.Char
import Data.Containers.ListUtils
+import Data.Either
import Data.List
import Data.Maybe
import Data.Text (Text)
@@ -314,10 +315,14 @@ cmdRun (RunCommand RunOptions {..} args) = do
]
let ( nameOptions, jobOptions ) = partition (T.all $ \c -> isAlphaNum c || c == '_') args
- ( refOptions, exprOptions ) = partition (\r -> "." `T.isInfixOf` r && not (".." `T.isInfixOf` r)) jobOptions
+ ( refOptions, exprOptions ) = partitionEithers $ map splitRefs jobOptions
+ splitRefs t = case parseJobRef t of
+ JobRef [ e ] -> Right e
+ JobRef [ e, "" ] -> Right e
+ ref -> Left ref
argumentJobs <- argumentJobSource $ map JobName nameOptions
- refJobs <- refJobSource $ map parseJobRef refOptions
+ refJobs <- refJobSource refOptions
exprJobs <- forM exprOptions $ \trange ->
case parseRangeExpression trange of