diff options
Diffstat (limited to 'src/Text/Pandoc/Filter/Plot/Renderers/Mathematica.hs')
-rw-r--r-- | src/Text/Pandoc/Filter/Plot/Renderers/Mathematica.hs | 43 |
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 |