language-thrift-0.6.0.1: Parser and pretty printer for the Thrift IDL format.

Copyright(c) Abhinav Gupta 2015
LicenseBSD3
MaintainerAbhinav Gupta <mail@abhinavg.net>
Stabilityexperimental
Safe HaskellNone
LanguageHaskell2010

Language.Thrift.Pretty.ANSI

Contents

Description

This module is the same as Language.Thrift.Pretty but the pretty printer used is the one provided by ansi-wl-pprint.

The specifics of the printer can be configured using Config objects.

As with Language.Thrift.Pretty, this module exports instances of the Pretty typeclass for ansi-wl-pprint.

Synopsis

Documentation

prettyPrint :: Program ann -> Doc Source

Top-level pretty printer for Thrift documents that uses the default configuration (defaultConfig) for pretty printing.

Components

program :: Config -> Program ann -> Doc Source

Pretty print a Thrift IDL.

header :: Header ann -> Doc Source

Print the headers for a program.

definition :: Config -> Definition ann -> Doc Source

Print a constant, type, or service definition.

enum :: Config -> Enum ann -> Doc Source

union :: Config -> Union ann -> Doc Source

senum :: Config -> Senum ann -> Doc Source

typeReference :: Config -> TypeReference ann -> Doc Source

Pretty print a field type.

constantValue :: Config -> ConstValue ann -> Doc Source

Pretty print a constant value.

Configuration

data Config Source

Configuration for the pretty printer.

Constructors

Config 

Fields

indentWidth :: Int

Number of spaces to use for indentation.

defaultConfig :: Config Source

Default pretty printing configuration.