summaryrefslogtreecommitdiffstats
path: root/src/Text/Pandoc/Filter/Plot/Renderers/Octave.hs
diff options
context:
space:
mode:
Diffstat (limited to 'src/Text/Pandoc/Filter/Plot/Renderers/Octave.hs')
-rw-r--r--src/Text/Pandoc/Filter/Plot/Renderers/Octave.hs43
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