diff options
Diffstat (limited to 'Omni/Task.hs')
| -rw-r--r-- | Omni/Task.hs | 7 |
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 |
