module Rob.Actions.Remove (main) where import Rob.Logger (err) import Rob.Config (get, errorNoTemplatesAvailable, deleteTemplate) import Rob.Types (Config(..)) import Rob.Project (getTemplateName) import Rob.UserMessages ( choseATemplateToDelete, noTemplateSelected, emptyString ) import System.Exit (exitFailure, exitSuccess) import FortyTwo (select) main :: IO () main = do config <- get nukeTemplate config -- Remove a project template from the available ones nukeTemplate :: Config -> IO () nukeTemplate (Config []) = errorNoTemplatesAvailable nukeTemplate (Config templates) = do templateName <- select choseATemplateToDelete $ map getTemplateName templates putStrLn emptyString if (not . null) templateName then do _ <- deleteTemplate (Config templates) templateName exitSuccess else do err noTemplateSelected exitFailure