Package sdml-errors
Rust Library containing the error and diagnostic types for the Simple Domain Modeling Language (SDML).
This package is part of the Rust SDML project and specifically defines the error and diagnostic types for the project. The project's intent is to provide an idiomatic implementation of the in-memory model, parser, generators, and the CLI tool.
The following figure demonstrates this package in the broader project context.

Changes
Version 0.4.1
- Consistency fixes.
Version 0.4.0
- Update version to be consistent with new core language.
Version 0.3.2
- Feature: add Tree-Sitter missing node error.
Version 0.3.1
- Feature: add
LanguageTagErrorvariant for external error type. - Feature: add
Templatevariant for external error type.- put this behind a feature, it's not used in core, parser, etc.
Version 0.3.0
- Build: align version number with
sdml-coresupporting the latest grammar.
Version 0.1.6
- Feature: add a new variant in
Error,GeneratorErrorfor use by thesdml-generatorcrate.
Version 0.1.5
- Feature: add new diagnostic for
IdentifierNotPreferredCasewhere an identifier is not in the preferred case style for its usage.- Add new code to
ErrorCode. - Add new function
identifier_not_preferred_case. - Add new enum
IdentifierCaseConventionused to identify the case style to enforce.
- Add new code to
Version 0.1.4
- Feature: improved a number of diagnostic help messages.
- Feature: added shared
UseColortype.
Version 0.1.3
- Feature: add new diagnostic for
DeprecatedTermUsedwhere an identifier includes a term listed in a suppliedTermSet.- Add new code to
ErrorCode. - Add new function
deprecated_term_used.
- Add new code to
Version 0.1.2
- Feature: add new diagnostic for
DoubleUnderscoredIdentifierwhere an identifier include two (or more) consecutive underscore characters.- Add new code to
ErrorCode. - Add new function
double_underscored_identifier.
- Add new code to
Version 0.1.1
- Feature: add new diagnostic for
PropertyReferenceNotPropertywhere the property name in a member does not resolve to a property definition.- Add new code to
ErrorCode. - Add new function
property_reference_not_property.
- Add new code to
Version 0.1.0
Initial Release.
- Error Handling:
- Copy
errormodule fromsdml_core, rename aserrors. - Remove diagnostics from the existing
Errortype.
- Copy
- Diagnostics:
- Copy
diagnosticsmodule. - Create new
diagnostics::codesmodule andErrorCodeenum. - Create new
diagnostics::functionsmodule and functions for eachErrorCode.
- Copy
- Diagnostic Reporting:
- Create new
diagnostics::reportermodule. - Create new
Reportertrait. - Create a
StandardStreamReporterto emit colored and structured errors to the console. - Create a
BailoutReporterthat will turn the first diagnostic it is given into an error.
- Create new