language-bash-0.3.1: Parsing and pretty-printing Bash shell scripts

Safe HaskellSafe-Inferred

Language.Bash.Parse.Builder

Contents

Description

Builder-based parsing. This is useful for parsing Bash's complicated words.

Synopsis

Builders

type Builder = Endo StringSource

An efficient String builder.

fromChar :: Char -> BuilderSource

Construct a Builder from a Char.

fromString :: String -> BuilderSource

Construct a Builder from a String.

Monoid parsing

(<+>) :: (Applicative f, Monoid a) => f a -> f a -> f aSource

Append two monoidal results.

many :: (Alternative f, Monoid a) => f a -> f aSource

Concat zero or more monoidal results.

many1 :: (Alternative f, Monoid a) => f a -> f aSource

Concat one or more monoidal results.

Characters

oneOf :: Stream s m Char => [Char] -> ParsecT s u m BuilderSource

Builder version of oneOf.

noneOf :: Stream s m Char => [Char] -> ParsecT s u m BuilderSource

Builder version of noneOf.

char :: Stream s m Char => Char -> ParsecT s u m BuilderSource

Builder version of char.

anyChar :: Stream s m Char => ParsecT s u m BuilderSource

Builder version of anyChar.

satisfy :: Stream s m Char => (Char -> Bool) -> ParsecT s u m BuilderSource

Builder version of satisfy.

string :: Stream s m Char => String -> ParsecT s u m BuilderSource

Builder version of string.

Spans

span :: Stream s m Char => Char -> Char -> ParsecT s u m Builder -> ParsecT s u m BuilderSource

span start end escape parses a span of text starting with start and ending with end, with possible escape sequences inside.

matchedPair :: Stream s m Char => Char -> Char -> ParsecT s u m Builder -> ParsecT s u m BuilderSource

matchedPair start end escape parses span start end escape, including the surrounding start and end characters.