yesod-bin 1.2.10.2 → 1.2.10.3
raw patch · 2 files changed
+7/−10 lines, 2 files
Files
- Scaffolding/Scaffolder.hs +6/−9
- yesod-bin.cabal +1/−1
Scaffolding/Scaffolder.hs view
@@ -15,6 +15,9 @@ import System.IO import Text.Shakespeare.Text (renderTextUrl, textFile) import Network.HTTP.Conduit (withManager, http, parseUrl, responseBody)+import Data.Maybe (isJust)+import Distribution.Text (simpleParse)+import Distribution.Package (PackageName) prompt :: (String -> Maybe a) -> IO a prompt f = do@@ -59,21 +62,15 @@ backendBS MongoDB = $(embedFile "hsfiles/mongo.hsfiles") backendBS Simple = $(embedFile "hsfiles/simple.hsfiles") --- | Is the character valid for a project name?-validPN :: Char -> Bool-validPN c- | 'A' <= c && c <= 'Z' = True- | 'a' <= c && c <= 'z' = True- | '0' <= c && c <= '9' = True-validPN '-' = True-validPN _ = False+validPackageName :: String -> Bool+validPackageName s = isJust (simpleParse s :: Maybe PackageName) scaffold :: Bool -- ^ bare directory instead of a new subdirectory? -> IO () scaffold isBare = do puts $ renderTextUrl undefined $(textFile "input/welcome.cg") project <- prompt $ \s ->- if all validPN s && not (null s) && s /= "test"+ if validPackageName s && s /= "test" then Just s else Nothing let dir = project
yesod-bin.cabal view
@@ -1,5 +1,5 @@ name: yesod-bin-version: 1.2.10.2+version: 1.2.10.3 license: MIT license-file: LICENSE author: Michael Snoyman <michael@snoyman.com>