summaryrefslogtreecommitdiff
path: root/pandoc.hs
diff options
context:
space:
mode:
authorClare Macrae <github@cfmacrae.fastmail.co.uk>2014-07-01 22:10:08 +0100
committerClare Macrae <github@cfmacrae.fastmail.co.uk>2014-07-01 22:10:08 +0100
commit3cb76d956028c4c529dc95aab8cc4dce93f8e886 (patch)
tree58f5d31b79db338d8646ee9d2e26fa6801193eba /pandoc.hs
parent244c4eee7487e386e3e6ff7cf78146385eef9d1f (diff)
parent264e366f1a973efa56fc32079927fc51cc1936ca (diff)
Merge branch 'master' of git://github.com/jgm/pandoc into dokuwiki
Diffstat (limited to 'pandoc.hs')
-rw-r--r--pandoc.hs8
1 files changed, 6 insertions, 2 deletions
diff --git a/pandoc.hs b/pandoc.hs
index 03481ca05..30c575a69 100644
--- a/pandoc.hs
+++ b/pandoc.hs
@@ -49,7 +49,7 @@ import System.Console.GetOpt
import Data.Char ( toLower )
import Data.List ( intercalate, isPrefixOf, isSuffixOf, sort )
import System.Directory ( getAppUserDataDirectory, findExecutable,
- doesFileExist )
+ doesFileExist, Permissions(..), getPermissions )
import System.IO ( stdout, stderr )
import System.IO.Error ( isDoesNotExistError )
import qualified Control.Exception as E
@@ -104,8 +104,12 @@ externalFilter f args' d = do
Nothing -> do
exists <- doesFileExist f
if exists
- then return $
+ then do
+ isExecutable <- executable `fmap`
+ getPermissions f
+ return $
case map toLower $ takeExtension f of
+ _ | isExecutable -> (f, args')
".py" -> ("python", f:args')
".hs" -> ("runhaskell", f:args')
".pl" -> ("perl", f:args')