@@ -30,6 +30,8 @@ import qualified Language.PureScript as P
3030import qualified Paths_purescript as Paths
3131import System.Exit (exitFailure)
3232import System.IO (hPutStrLn, stderr)
33+import System.Directory (createDirectoryIfMissing)
34+import System.FilePath (takeDirectory)
3335
3436import Etags
3537import Ctags
@@ -84,7 +86,8 @@ docgen (PSCDocsOptions fmt input output) =
8486 ToFiles names -> do
8587 let (ms, missing) = takeModulesByName' ms' names
8688 guardMissing missing
87− forM_ ms $ \(m, fp) ->
89+ forM_ ms $ \(m, fp) -> do
90+ createDirectoryIfMissing True (takeDirectory fp)
8891 writeFile fp (D.renderModulesAsMarkdown [m])
8992
9093 where