text-format-heavy-0.1.5.1: Full-weight string formatting library, analog of Python's string.format

Safe HaskellSafe
LanguageHaskell2010

Data.Text.Format.Heavy.Types

Description

This module contains basic type definitions

Synopsis

Documentation

type VarName = Text Source #

Variable name

type VarFormat = Maybe Text Source #

Variable format in text form. Nothing means default format.

data FormatItem Source #

String format item.

Constructors

FString Text

Verbatim text

FVariable 

Fields

data Format Source #

String format

Constructors

Format [FormatItem] 

class (Default f, Show f) => IsVarFormat f where Source #

Can be used for different data types describing formats of specific types.

Minimal complete definition

parseVarFormat

Methods

parseVarFormat :: Text -> Either String f Source #

Left for errors.

Instances

class Formatable a where Source #

Value that can be formatted to be substituted into format string.

Minimal complete definition

formatVar

Methods

formatVar Source #

Arguments

:: VarFormat

Variable format specification in text form. Nothing is for default format.

-> a

Variable value.

-> Either String Builder

Left for errors in variable format syntax, or errors during formatting.

Format variable according to format specification. This function should usually parse format specification by itself.

data Variable Source #

Any variable that can be substituted. This type may be also used to construct heterogeneous lists: [Variable 1, Variable "x"] :: [Variable].

Constructors

Formatable a => Variable a 

formatAnyVar :: VarFormat -> Variable -> Either String Builder Source #

Format one variable according to format specification.

class VarContainer c where Source #

Data structure that contains some number of variables.

Minimal complete definition

lookupVar