Copyright | (c) Abhinav Gupta 2015 |
---|---|
License | BSD3 |
Maintainer | Abhinav Gupta <mail@abhinavg.net> |
Stability | experimental |
Safe Haskell | None |
Language | Haskell2010 |
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.
- prettyPrint :: Program ann -> Doc
- program :: Config -> Program ann -> Doc
- header :: Header ann -> Doc
- include :: Include ann -> Doc
- namespace :: Namespace ann -> Doc
- definition :: Config -> Definition ann -> Doc
- constant :: Config -> Const ann -> Doc
- typeDefinition :: Config -> Type ann -> Doc
- service :: Config -> Service ann -> Doc
- typedef :: Config -> Typedef ann -> Doc
- enum :: Config -> Enum ann -> Doc
- struct :: Config -> Struct ann -> Doc
- union :: Config -> Union ann -> Doc
- exception :: Config -> Exception ann -> Doc
- senum :: Config -> Senum ann -> Doc
- typeReference :: Config -> TypeReference ann -> Doc
- constantValue :: Config -> ConstValue ann -> Doc
- data Config = Config {
- indentWidth :: Int
- defaultConfig :: Config
Documentation
prettyPrint :: Program ann -> Doc Source
Top-level pretty printer for Thrift documents that uses the default
configuration (defaultConfig
) for pretty printing.
Components
definition :: Config -> Definition ann -> Doc Source
Print a constant, type, or service definition.
typeDefinition :: Config -> Type 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
Configuration for the pretty printer.
Config | |
|
defaultConfig :: Config Source
Default pretty printing configuration.