module Language.Docker.Parser.Arguments
( arguments,
)
where
import qualified Data.Text as T
import Language.Docker.Parser.Prelude
import Language.Docker.Syntax
argumentsExec :: Parser (Arguments Text)
argumentsExec = do
args <- brackets $ commaSep stringLiteral
return $ ArgumentsList (T.unwords args)
argumentsShell :: Parser (Arguments Text)
argumentsShell = ArgumentsText <$> toEnd
where
toEnd = untilEol "the shell arguments"
arguments :: Parser (Arguments Text)
arguments = try argumentsExec <|> try argumentsShell