Changelog for language-thrift-0.6.0.0
0.6.0.0
- Added a pretty printer based on
ansi-wl-pprint
. - Both pretty printing modules now export instances of
Pretty
for relevant elements of the AST. These instances usedefaultConfig
for printing.
0.5.0.0
The AST representation has been overhauled to be more consistent and accessible. As a result, this release contains a number of breaking changes:
- Moved
Header
records intoInclude
andNamespace
types. - Moved
ConstDefinition
record into separate type,Const
. - Moved
ServiceDefinition
record into separate type,Service
. - Moved
Type
records into separate types:Typedef
,Enum
,Struct
,Union
,Exception
,Senum
. - Renamed
FieldType
toTypeReference
. - Renamed parser and pretty printer for
TypeReference
totypeReference
. - Renamed the following record fields:
constType
toconstValueType
,typedefType
totypedefTargetType
,fieldType
tofieldValueType
, andfieldDefault
tofieldDefaultValue
. - Hide
function
parser and pretty printer. - Moved type annotations for defined types into the records for the types themselves.
Other changes:
- Added lenses and prisms for AST types where appropriate.
- Parsing will fail if the end of the document is not reached when the parser stops. This fixes the bug where the parser would stop half way through a file when it saw a recoverable error.
- Added source annotations to headers, type references (
DefinedType
) and constant value references (ConstIdentifer
). - Added
i8
as an alias forbyte
. - Type annotations are now allowed to have no associated value.
- Expose parsers and pretty printers for different headers and definitions.
- Fixed a bug which would cause parsing to fail if a definition ended with a semicolon or a comma.
- Drop dependency on mtl.
0.4.0.0
- Add pretty printing module.
- Parsers of different constructors are no longer exported by the parsing module; instead only the parsers for their corresponding types are exported.
- Rename record for field requiredness from
fieldRequiredNess
tofieldRequiredness
.
0.3.0.0
- Allow changing the underlying parser to any parser that implements the
TokenParsing
class fromparsers
. - Add
thriftIDLParser
for standard use cases. - Add
Language.Thrift.Parser.Trifecta
with a standard Trifecta-based parser.
0.2.0.0
- Track starting positions in source annotations.
- Move docs to a separate field.
0.1.0.1
- Allow
base
4.9.
0.1.0.0
- Initial release.