packages feed

hi 0.0.2 → 0.0.3

raw patch · 4 files changed

+25/−16 lines, 4 filesPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

API changes (from Hackage documentation)

- Distribution.Hi.Config: parseConfig :: String -> IO [Arg]
+ Distribution.Hi.Config: parseConfig :: String -> [Arg]

Files

hi.cabal view
@@ -1,5 +1,5 @@ name:                hi-version:             0.0.2+version:             0.0.3 synopsis:            Generate scaffold for cabal project license:             BSD3 license-file:        LICENSE
src/Distribution/Hi/Config.hs view
@@ -40,7 +40,7 @@ configFile :: Parser [(String, String)] configFile = catMaybes <$> many line <* eof -parseConfig :: String -> IO [Arg]+parseConfig :: String -> [Arg] parseConfig x = case parse configFile "ERROR" x of -- TODO Error message       Left  l  -> error $ show l-      Right xs -> return $ map (uncurry Val) xs+      Right xs -> map (uncurry Val) xs
src/Distribution/Hi/Option.hs view
@@ -7,16 +7,20 @@     ) where  import           Control.Applicative+import           Control.Exception      (IOException, catch) import           Data.Time.Calendar     (toGregorian) import           Data.Time.Clock        (getCurrentTime, utctDay) import           Distribution.Hi.Config (parseConfig) import           Distribution.Hi.Flag   (extractInitFlags) import           Distribution.Hi.Types+import           Prelude                hiding (catch) import           System.Console.GetOpt import           System.Directory       (getHomeDirectory) import           System.Environment     (getArgs) import           System.FilePath        (joinPath)+import           System.IO              (hPutStr, stderr) + -- | Available options. options :: [OptDescr Arg] options =@@ -39,24 +43,30 @@       RunWithNoConfigurationFile -> runWithNoConfigurationFile       _                          -> error "Unexpected run mode"   where-    runWithNoConfigurationFile = getInitFlagsPure =<< getArgs+    runWithNoConfigurationFile = getInitFlags' =<< getArgs     runWithConfigurationFile   = do         (xs,_) <- parseArgs <$> getArgs-        ys     <- addYear =<< parseConfig =<< readFile =<< getConfigFileName+        ys     <- addYear <$> parseConfig =<< readFile' =<< getConfigFileName         return $ extractInitFlags (ys ++ xs)+    readFile' f = catch (readFile f)+                  (\e -> do let err = show (e :: IOException)+                            hPutStr stderr ("Warning: Couldn't open " ++ f ++ ": " ++ err)+                            return "") -getInitFlagsPure :: [String] -> IO InitFlags-getInitFlagsPure args = extractInitFlags <$> (addYear . fst . parseArgs $ args)+-- | Returns `InitFlags` from given args, attaching year if it's missing in+-- args+getInitFlags' :: [String] -> IO InitFlags+getInitFlags' args = extractInitFlags <$> (addYear . fst . parseArgs $ args)  -- | Returns 'Mode'. getMode :: IO Mode getMode = do-    args <- fst <$> parseArgs <$> getArgs-    return $ if any id [True |Version <- args]-               then ShowVersion-               else if any id [True |NoConfigurationFile <- args]-                      then RunWithNoConfigurationFile-                      else Run+    go . fst . parseArgs <$> getArgs+  where+    go []                      = Run+    go (Version:_)             = ShowVersion+    go (NoConfigurationFile:_) = RunWithNoConfigurationFile+    go (_:xs)                  = go xs  parseArgs :: [String] -> ([Arg], [String]) parseArgs argv =@@ -77,8 +87,7 @@  getConfigFileName :: IO FilePath getConfigFileName = do-    args <- (fst . parseArgs) <$> getArgs-    go args+    go =<< (fst . parseArgs) <$> getArgs   where     go []                       = defaultConfigFilePath     go ((Val "configFile" p):_) = return p
src/Distribution/Hi/Version.hs view
@@ -4,4 +4,4 @@     ) where  version :: String-version = "0.0.2"+version = "0.0.3"