language-thrift-0.6.1.0: 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

Contents

Description

This module provides a pretty printer for Thrift IDLs. The pretty printer preserves docstrings specified for types.

The behavior of the printer can be customized using Config objects.

The module also exports instances of the Pretty typeclass for elements of the AST.

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.