summaryrefslogtreecommitdiff
path: root/Omni/Task.hs
diff options
context:
space:
mode:
Diffstat (limited to 'Omni/Task.hs')
-rw-r--r--Omni/Task.hs7
1 files changed, 6 insertions, 1 deletions
diff --git a/Omni/Task.hs b/Omni/Task.hs
index 808e73f..2f3ec6f 100644
--- a/Omni/Task.hs
+++ b/Omni/Task.hs
@@ -9,6 +9,7 @@ module Omni.Task where
import Alpha
import qualified Data.Text as T
import qualified Omni.Cli as Cli
+import qualified Omni.Namespace as Namespace
import Omni.Task.Core
import qualified Omni.Test as Test
import System.Directory (doesFileExist, removeFile)
@@ -80,7 +81,11 @@ move args
Just depStr -> pure <| T.splitOn "," (T.pack depStr)
namespace <- case Cli.getArg args (Cli.longOption "namespace") of
Nothing -> pure Nothing
- Just ns -> pure <| Just (T.pack ns)
+ Just ns -> do
+ -- Validate it's a proper namespace by parsing it
+ let validNs = Namespace.fromHaskellModule ns
+ nsPath = T.pack <| Namespace.toPath validNs
+ pure <| Just nsPath
task <- createTask title project namespace deps
putStrLn <| "Created task: " <> T.unpack (taskId task)
| args `Cli.has` Cli.command "list" = do