diff options
author | John MacFarlane <jgm@berkeley.edu> | 2016-01-06 10:44:56 -0800 |
---|---|---|
committer | John MacFarlane <jgm@berkeley.edu> | 2016-01-06 10:44:56 -0800 |
commit | 363ecfebc32c6fe15d81634422e8607847f588fb (patch) | |
tree | 72e0c248d5fc8847457724764c7900df9a8a5e92 | |
parent | 73d1175838ca3ab5cb70de92adf691a471602408 (diff) | |
download | pandoc-363ecfebc32c6fe15d81634422e8607847f588fb.tar.gz |
Make file globbing work on windows.
Windows cmd doesn't expand wildcards; the application has to
do this. So on windows we use 'glob' to expand.
-rw-r--r-- | pandoc.cabal | 3 | ||||
-rw-r--r-- | pandoc.hs | 9 |
2 files changed, 11 insertions, 1 deletions
diff --git a/pandoc.cabal b/pandoc.cabal index e0b4f6021..c52b30d3f 100644 --- a/pandoc.cabal +++ b/pandoc.cabal @@ -300,7 +300,8 @@ Library Build-Tools: hsb2hs >= 0.3.1 other-modules: Text.Pandoc.Data if os(windows) - Cpp-options: -D_WINDOWS + Cpp-options: -D_WINDOWS + Build-depends: Glob >= 0.7 && < 0.8 Ghc-Options: -rtsopts -Wall -fno-warn-unused-do-bind Ghc-Prof-Options: -fprof-auto-exported -rtsopts Default-Language: Haskell98 @@ -73,6 +73,9 @@ import Text.Pandoc.Readers.Txt2Tags (getT2TMeta) import Paths_pandoc (getDataDir) import Text.Printf (printf) import Text.Pandoc.Error +#ifdef _WINDOWS +import System.FilePath.Glob (glob) +#endif type Transform = Pandoc -> Pandoc @@ -1056,7 +1059,13 @@ main = do -- thread option data structure through all supplied option actions opts <- foldl (>>=) (return defaultOpts) actions + +-- on windows we need to do our own file globbing, since the shell doesn't. +#ifdef _WINDOWS + mapM glob args >>= convertWithOpts opts . concat +#else convertWithOpts opts args +#endif convertWithOpts :: Opt -> [FilePath] -> IO () convertWithOpts opts args = do |