Bogdanp/elm-combine/2.2.0

NOTE: this package is not compatible with Elm 0.19.1

Combine.Char

This module contains Char-specific Parsers.

Parsers

satisfy : (Char -> Bool) -> Parser Char

Parse a character matching the predicate.

parse (satisfy ((==) 'a')) "a" ==
  (Ok 'a', { input = "", position = 1 })


parse (satisfy ((==) 'a')) "b" ==
  (Err ["could not satisfy predicate"], { input = "b", position = 0 })
char : Char -> Parser Char

Parse an exact character match.

parse (char 'a') "a" ==
  (Ok 'a', { input = "", position = 1 })


parse (char 'a') "b" ==
  (Err ["expected 'a'"], { input = "b", position = 0 })
anyChar : Parser Char

Parse any character.

parse anyChar "a" ==
  (Ok 'a', { input = "", position = 1 })


parse anyChar "" ==
  (Err ["expected any character"], { input = "", position = 0 })
oneOf : List Char -> Parser Char

Parse a character from the given list.

parse (oneOf ['a', 'b']) "a" ==
  (Ok 'a', { input = "", position = 1 })


parse (oneOf ['a', 'b']) "c" ==
  (Err ["expected one of ['a','b']"], { input = "c", position = 0 })
noneOf : List Char -> Parser Char

Parse a character that is not in the given list.

parse (noneOf ['a', 'b']) "c" ==
  (Ok 'c', { input = "", position = 1 })


parse (noneOf ['a', 'b']) "a" ==
  (Err ["expected none of ['a','b']"], { input = "a", position = 0 })
space : Parser Char

Parse a space character.

tab : Parser Char

Parse a \t character.

newline : Parser Char

Parse a \n character.

crlf : Parser Char

Parse a \r\n sequence, returning a \n character.

eol : Parser Char

Parse an end of line character or sequence, returning a \n character.

lower : Parser Char

Parse any lowercase character.

upper : Parser Char

Parse any uppercase character.

digit : Parser Char

Parse any base 10 digit.

octDigit : Parser Char

Parse any base 8 digit.

hexDigit : Parser Char

Parse any base 16 digit.