diff options
Diffstat (limited to 'src/Text/Pandoc/Filter/Plot/Renderers/Octave.hs')
-rw-r--r-- | src/Text/Pandoc/Filter/Plot/Renderers/Octave.hs | 43 |
1 files changed, 14 insertions, 29 deletions
diff --git a/src/Text/Pandoc/Filter/Plot/Renderers/Octave.hs b/src/Text/Pandoc/Filter/Plot/Renderers/Octave.hs index 3810cd8..302d9de 100644 --- a/src/Text/Pandoc/Filter/Plot/Renderers/Octave.hs +++ b/src/Text/Pandoc/Filter/Plot/Renderers/Octave.hs @@ -20,42 +20,27 @@ where import Text.Pandoc.Filter.Plot.Renderers.Prelude -octave :: PlotM (Maybe Renderer) +octave :: PlotM Renderer octave = do - avail <- octaveAvailable - if not avail - then return Nothing - else do cmdargs <- asksConfig octaveCmdArgs - mexe <- executable Octave return $ - mexe >>= \exe@(Executable _ exename) -> - return - Renderer - { rendererToolkit = Octave, - rendererExe = exe, - rendererCapture = octaveCapture, - rendererCommand = octaveCommand cmdargs exename, - rendererSupportedSaveFormats = octaveSupportedSaveFormats, - rendererChecks = mempty, - rendererLanguage = "matlab", - rendererComment = mappend "% ", - rendererScriptExtension = ".m" - } + Renderer + { rendererToolkit = Octave, + rendererCapture = octaveCapture, + rendererCommand = octaveCommand cmdargs, + rendererAvailability = CommandSuccess $ \exe -> [st|#{pathToExe exe} -h|], + rendererSupportedSaveFormats = octaveSupportedSaveFormats, + rendererChecks = mempty, + rendererLanguage = "matlab", + rendererComment = mappend "% ", + rendererScriptExtension = ".m" + } octaveSupportedSaveFormats :: [SaveFormat] octaveSupportedSaveFormats = [PNG, PDF, SVG, JPG, EPS, GIF, TIF] -octaveCommand :: Text -> Text -> OutputSpec -> Text -octaveCommand cmdargs exe OutputSpec {..} = [st|#{exe} #{cmdargs} --no-gui --no-window-system "#{oScriptPath}"|] - -octaveAvailable :: PlotM Bool -octaveAvailable = do - mexe <- executable Octave - case mexe of - Nothing -> return False - Just (Executable dir exe) -> - withPrependedPath dir $ asks envCWD >>= flip commandSuccess [st|#{exe} -h|] +octaveCommand :: Text -> OutputSpec -> Text +octaveCommand cmdargs OutputSpec {..} = [st|#{pathToExe oExecutable} #{cmdargs} --no-gui --no-window-system "#{oScriptPath}"|] octaveCapture :: FigureSpec -> FilePath -> Script octaveCapture = appendCapture octaveCaptureFragment |