module Text.Heterocephalus.Parse.Option where
import Control.Monad.Reader (MonadReader, reader)
data ParseOptions = ParseOptions
  { parseOptionsControlPrefix :: Char
  , parseOptionsVariablePrefix :: Char
  }
defaultParseOptions :: ParseOptions
defaultParseOptions = createParseOptions '%' '#'
createParseOptions
  :: Char  
  -> Char  
  -> ParseOptions
createParseOptions controlPrefix varPrefix = ParseOptions
  { parseOptionsControlPrefix = controlPrefix
  , parseOptionsVariablePrefix = varPrefix
  }
getControlPrefix :: MonadReader ParseOptions m => m Char
getControlPrefix = reader parseOptionsControlPrefix
getVariablePrefix :: MonadReader ParseOptions m => m Char
getVariablePrefix = reader parseOptionsVariablePrefix