From c2fe3aae64dd9e5ea5d05827240450522b0ff766 Mon Sep 17 00:00:00 2001 From: John MacFarlane Date: Sat, 29 Dec 2012 18:45:20 -0800 Subject: Made `embed_data_files` flag work. --- src/Text/Pandoc/Shared.hs | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) (limited to 'src/Text/Pandoc/Shared.hs') diff --git a/src/Text/Pandoc/Shared.hs b/src/Text/Pandoc/Shared.hs index 71bdca9dd..7bd35b138 100644 --- a/src/Text/Pandoc/Shared.hs +++ b/src/Text/Pandoc/Shared.hs @@ -1,4 +1,4 @@ -{-# LANGUAGE DeriveDataTypeable, CPP #-} +{-# LANGUAGE DeriveDataTypeable, CPP, TemplateHaskell #-} {- Copyright (C) 2006-2010 John MacFarlane @@ -504,12 +504,20 @@ inDirectory path action = do setCurrentDirectory oldDir return result +#ifdef EMBED_DATA_FILES +dataFiles :: [(FilePath, B.ByteString)] +dataFiles = $(embedDir "data") +#endif + readDefaultDataFile :: FilePath -> IO B.ByteString readDefaultDataFile fname = #ifdef EMBED_DATA_FILES - TODO + case lookup fname dataFiles of + Nothing -> ioError $ userError + $ "Data file `" ++ fname ++ "' does not exist" + Just contents -> return contents #else - getDataFileName fname >>= B.readFile + getDataFileName ("data" fname) >>= B.readFile #endif -- | Read file from specified user data directory or, if not found there, from -- cgit v1.2.3