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.ANSI

Contents

Description

This module provides a pretty printer for Thrift IDLs that produces colored output. It is essentially the same as Language.Thrift.Pretty with the exception of the colored output.

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

The system uses ANSI escape codes to produce colored output. That makes the text output of this pretty printer unparseable without printing to a supported terminal. If this is undesirable, use plain to discard coloring information, or simply use the Language.Thrift.Pretty pretty printer instead.

As with Language.Thrift.Pretty, this module 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.