@@ -66,7 +66,11 @@ import Data.Yaml (decode)
6666import qualified Data.Yaml as Yaml
6767import GHC.Generics
6868import Network.URI (URI (..), parseURI)
69+#ifdef EMBED_DATA_FILES
70+import Text.Pandoc.Data (dataFiles)
71+#else
6972import Paths_pandoc (getDataDir)
73+#endif
7074import Data.Aeson.Encode.Pretty (encodePretty', Config(..), keyOrder,
7175 defConfig, Indent(..), NumberFormat(..))
7276import Skylighting (Style, Syntax (..), defaultSyntaxMap, parseTheme,
@@ -1475,7 +1479,7 @@ options =
14751479 , Option "" ["bash-completion"]
14761480 (NoArg
14771481 (\_ -> do
1478− ddir <- getDataDir
1482+ datafiles <- getDataFileNames
14791483 tpl <- runIOorExplode $
14801484 UTF8.toString <$>
14811485 readDefaultDataFile "bash_completion.tpl"
@@ -1487,7 +1491,7 @@ options =
14871491 (unwords readersNames)
14881492 (unwords writersNames)
14891493 (unwords $ map fst highlightingStyles)
1490− ddir
1494+ (unwords datafiles)
14911495 exitSuccess ))
14921496 "" -- "Print bash completion script"
14931497
@@ -1561,6 +1565,16 @@ options =
15611565
15621566 ]
15631567
1568+getDataFileNames :: IO [FilePath]
1569+getDataFileNames = do
1570+#ifdef EMBED_DATA_FILES
1571+ let allDataFiles = map fst dataFiles
1572+#else
1573+ allDataFiles <- filter (\x -> x /= "." && x /= "..") <$>
1574+ (getDataDir >>= getDirectoryContents)
1575+#endif
1576+ return $ "reference.docx" : "reference.odt" : "reference.pptx" : allDataFiles
1577+
15641578-- Returns usage message
15651579usageMessage :: String -> [OptDescr (Opt -> IO Opt)] -> String
15661580usageMessage programName = usageInfo (programName ++ " [OPTIONS] [FILES]")