From 74cde29ae0fe6dc680fdbdf19d8ef27694131b54 Mon Sep 17 00:00:00 2001 From: Kazu Yamamoto Date: Sat, 26 Apr 2014 14:38:49 +0900 Subject: [PATCH] refactoring setTargetFiles. --- Language/Haskell/GhcMod/GHCApi.hs | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/Language/Haskell/GhcMod/GHCApi.hs b/Language/Haskell/GhcMod/GHCApi.hs index 994da29..b4aa2c9 100644 --- a/Language/Haskell/GhcMod/GHCApi.hs +++ b/Language/Haskell/GhcMod/GHCApi.hs @@ -17,7 +17,7 @@ import Language.Haskell.GhcMod.GHCChoice import Language.Haskell.GhcMod.GhcPkg import Control.Applicative ((<$>)) -import Control.Monad (forM, void) +import Control.Monad (forM, void, unless) import CoreMonad (liftIO) import Data.Maybe (isJust, fromJust) import Distribution.PackageDescription (PackageDescription) @@ -171,18 +171,17 @@ addCmdOpts cmdOpts df = -- | Set the files and load setTargetFiles :: (GhcMonad m) => [FilePath] -> m () -setTargetFiles [] = error "ghc-mod: setTargetFiles: No target files given" setTargetFiles files = do targets <- forM files $ \file -> G.guessTarget file Nothing - G.setTargets targets - void $ G.load LoadAllTargets + unless (null targets) $ do + G.setTargets targets + void $ G.load LoadAllTargets -- | Adding the files to the targets. addTargetFiles :: (GhcMonad m) => [FilePath] -> m () -addTargetFiles [] = error "ghc-mod: addTargetFiles: No target files given" addTargetFiles files = do targets <- forM files $ \file -> G.guessTarget file Nothing - mapM_ G.addTarget targets + unless (null targets) $ mapM_ G.addTarget targets ----------------------------------------------------------------