summaryrefslogtreecommitdiffstats
path: root/src/Text/Pandoc/Filter/Plot/Renderers/Mathematica.hs
diff options
context:
space:
mode:
Diffstat (limited to 'src/Text/Pandoc/Filter/Plot/Renderers/Mathematica.hs')
-rw-r--r--src/Text/Pandoc/Filter/Plot/Renderers/Mathematica.hs43
1 files changed, 14 insertions, 29 deletions
diff --git a/src/Text/Pandoc/Filter/Plot/Renderers/Mathematica.hs b/src/Text/Pandoc/Filter/Plot/Renderers/Mathematica.hs
index 55549bf..0a6e344 100644
--- a/src/Text/Pandoc/Filter/Plot/Renderers/Mathematica.hs
+++ b/src/Text/Pandoc/Filter/Plot/Renderers/Mathematica.hs
@@ -20,42 +20,27 @@ where
import Text.Pandoc.Filter.Plot.Renderers.Prelude
-mathematica :: PlotM (Maybe Renderer)
+mathematica :: PlotM Renderer
mathematica = do
- avail <- mathematicaAvailable
- if not avail
- then return Nothing
- else do
cmdargs <- asksConfig mathematicaCmdArgs
- mexe <- executable Mathematica
return $
- mexe >>= \exe@(Executable _ exename) ->
- return
- Renderer
- { rendererToolkit = Mathematica,
- rendererExe = exe,
- rendererCapture = mathematicaCapture,
- rendererCommand = mathematicaCommand cmdargs exename,
- rendererSupportedSaveFormats = mathematicaSupportedSaveFormats,
- rendererChecks = mempty,
- rendererLanguage = "mathematica",
- rendererComment = \t -> mconcat ["(*", t, "*)"],
- rendererScriptExtension = ".m"
- }
+ Renderer
+ { rendererToolkit = Mathematica,
+ rendererCapture = mathematicaCapture,
+ rendererCommand = mathematicaCommand cmdargs,
+ rendererAvailability = CommandSuccess $ \exe -> [st|#{pathToExe exe} -h|], -- TODO: test this
+ rendererSupportedSaveFormats = mathematicaSupportedSaveFormats,
+ rendererChecks = mempty,
+ rendererLanguage = "mathematica",
+ rendererComment = \t -> mconcat ["(*", t, "*)"],
+ rendererScriptExtension = ".m"
+ }
mathematicaSupportedSaveFormats :: [SaveFormat]
mathematicaSupportedSaveFormats = [PNG, PDF, SVG, JPG, EPS, GIF, TIF]
-mathematicaCommand :: Text -> Text -> OutputSpec -> Text
-mathematicaCommand cmdargs exe OutputSpec {..} = [st|#{exe} #{cmdargs} -script "#{oScriptPath}"|]
-
-mathematicaAvailable :: PlotM Bool
-mathematicaAvailable = do
- mexe <- executable Mathematica
- case mexe of
- Nothing -> return False
- Just (Executable dir exe) ->
- withPrependedPath dir $ asks envCWD >>= flip commandSuccess [st|#{exe} -h|] -- TODO: test this
+mathematicaCommand :: Text -> OutputSpec -> Text
+mathematicaCommand cmdargs OutputSpec {..} = [st|#{pathToExe oExecutable} #{cmdargs} -script "#{oScriptPath}"|]
mathematicaCapture :: FigureSpec -> FilePath -> Script
mathematicaCapture = appendCapture mathematicaCaptureFragment