summaryrefslogtreecommitdiff
path: root/src/Hakyll/Core/Compiler/Require.hs
diff options
context:
space:
mode:
authorJasper Van der Jeugt <m@jaspervdj.be>2012-12-05 16:49:28 +0100
committerJasper Van der Jeugt <m@jaspervdj.be>2012-12-05 16:49:28 +0100
commit95e1fcf0a2a5a51e486311079d7aa2bb2035c8e6 (patch)
tree6342585b0916aadb6b1b7531bcd30a50ffc2e919 /src/Hakyll/Core/Compiler/Require.hs
parentf0f61d986b9e564df230165276a63caaaadb190f (diff)
downloadhakyll-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.hs8
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