diff options
author | Jasper Van der Jeugt <m@jaspervdj.be> | 2012-12-05 16:49:28 +0100 |
---|---|---|
committer | Jasper Van der Jeugt <m@jaspervdj.be> | 2012-12-05 16:49:28 +0100 |
commit | 95e1fcf0a2a5a51e486311079d7aa2bb2035c8e6 (patch) | |
tree | 6342585b0916aadb6b1b7531bcd30a50ffc2e919 /src/Hakyll/Core/Compiler/Require.hs | |
parent | f0f61d986b9e564df230165276a63caaaadb190f (diff) | |
download | hakyll-95e1fcf0a2a5a51e486311079d7aa2bb2035c8e6.tar.gz |
Better error message for require/notFound
Diffstat (limited to 'src/Hakyll/Core/Compiler/Require.hs')
-rw-r--r-- | src/Hakyll/Core/Compiler/Require.hs | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/Hakyll/Core/Compiler/Require.hs b/src/Hakyll/Core/Compiler/Require.hs index f67bf2c..3571bf6 100644 --- a/src/Hakyll/Core/Compiler/Require.hs +++ b/src/Hakyll/Core/Compiler/Require.hs @@ -14,7 +14,9 @@ module Hakyll.Core.Compiler.Require -------------------------------------------------------------------------------- import Control.Applicative ((<$>)) +import Control.Monad (when) import Data.Binary (Binary) +import qualified Data.Set as S import Data.Typeable @@ -61,7 +63,11 @@ require id' = requireSnapshot id' final requireSnapshot :: (Binary a, Typeable a) => Identifier -> Snapshot -> Compiler (Item a) requireSnapshot id' snapshot = do - store <- compilerStore <$> compilerAsk + store <- compilerStore <$> compilerAsk + universe <- compilerUniverse <$> compilerAsk + + -- Quick check for better error messages + when (id' `S.notMember` universe) $ compilerThrow notFound compilerTellDependencies [IdentifierDependency id'] compilerResult $ CompilerRequire id' $ do |