aboutsummaryrefslogtreecommitdiff
path: root/pandoc.hs
diff options
context:
space:
mode:
Diffstat (limited to 'pandoc.hs')
-rw-r--r--pandoc.hs23
1 files changed, 13 insertions, 10 deletions
diff --git a/pandoc.hs b/pandoc.hs
index d39ed3a59..93e1d4a76 100644
--- a/pandoc.hs
+++ b/pandoc.hs
@@ -47,7 +47,7 @@ import System.Exit ( exitWith, ExitCode (..) )
import System.FilePath
import System.Console.GetOpt
import Data.Char ( toLower )
-import Data.List ( intercalate, isPrefixOf, sort )
+import Data.List ( intercalate, isPrefixOf, isSuffixOf, sort )
import System.Directory ( getAppUserDataDirectory, findExecutable,
doesFileExist )
import System.IO ( stdout, stderr )
@@ -1021,15 +1021,18 @@ main = do
let laTeXOutput = "latex" `isPrefixOf` writerName' ||
"beamer" `isPrefixOf` writerName'
- writer <- case getWriter writerName' of
- Left e -> err 9 $
- if writerName' == "pdf"
- then e ++ "\nTo create a pdf with pandoc, use the " ++
- "latex or beamer writer and specify\n" ++
- "an output file with .pdf extension " ++
- "(pandoc -t latex -o filename.pdf)."
- else e
- Right w -> return w
+ writer <- if ".lua" `isSuffixOf` writerName'
+ -- note: use non-lowercased version writerName
+ then return $ IOStringWriter $ writeCustom writerName
+ else case getWriter writerName' of
+ Left e -> err 9 $
+ if writerName' == "pdf"
+ then e ++ "\nTo create a pdf with pandoc, use " ++
+ "the latex or beamer writer and specify\n" ++
+ "an output file with .pdf extension " ++
+ "(pandoc -t latex -o filename.pdf)."
+ else e
+ Right w -> return w
reader <- case getReader readerName' of
Right r -> return r