packages feed

turtle-options-0.1.0.0: app/Main.hs

{-# LANGUAGE OverloadedStrings #-}

module Main where

import Turtle
import Turtle.Options.Scale (Scale, optScale, defScaleHelp)
import Turtle.Options.Percentage (optPercentage, defPercentageHelp)
import Turtle.Options.Quality (optQuality, defQualityHelp)
import Turtle.Options.Timecode (Timecode, optTimecode, defTimecodeHelp)

parser :: Parser (Scale, Float, Float, Timecode)
parser = (,,,) <$> optScale "scale" 's' defScaleHelp
            <*> optPercentage "percentage" 'p' defPercentageHelp
            <*> optQuality "quality" 'q' defQualityHelp
            <*> optTimecode "timecode" 't' defTimecodeHelp 

main :: IO ()
main = do
  (scale, percent, quality, timecode) <- options "Turtle options example" parser
  putStrLn $ "Scale " ++ (show scale)
  putStrLn $ "Percent " ++ (show percent)
  putStrLn $ "Quality " ++ (show quality)
  putStrLn $ "Timecode " ++ (show timecode)