6 releases

new 0.4.0 Nov 16, 2024
0.3.2 Nov 15, 2024
0.3.1 Oct 14, 2024
0.3.0 Sep 1, 2024
0.1.6 Jun 28, 2024

#47 in Internationalization (i18n)

Download history 13/week @ 2024-07-29 1/week @ 2024-08-12 174/week @ 2024-08-26 72/week @ 2024-09-02 9/week @ 2024-09-09 55/week @ 2024-09-16 31/week @ 2024-09-23 61/week @ 2024-09-30 12/week @ 2024-10-07 281/week @ 2024-10-14 16/week @ 2024-10-21 3/week @ 2024-10-28 9/week @ 2024-11-04 204/week @ 2024-11-11

239 downloads per month
Used in 5 crates

Custom license

83KB
2K SLoC

Package sdml-errors

Rust Library containing the error and diagnostic types for the Simple Domain Modeling Language (SDML).

Crates.io Docs.rs

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.

Package Overview

Changes

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 LanguageTagError variant for external error type.
  • Feature: add Template variant 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-core supporting the latest grammar.

Version 0.1.6

  • Feature: add a new variant in Error, GeneratorError for use by the sdml-generator crate.

Version 0.1.5

  • Feature: add new diagnostic for IdentifierNotPreferredCase where 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 IdentifierCaseConvention used to identify the case style to enforce.

Version 0.1.4

  • Feature: improved a number of diagnostic help messages.
  • Feature: added shared UseColor type.

Version 0.1.3

  • Feature: add new diagnostic for DeprecatedTermUsed where an identifier includes a term listed in a supplied TermSet.
    • Add new code to ErrorCode.
    • Add new function deprecated_term_used.

Version 0.1.2

  • Feature: add new diagnostic for DoubleUnderscoredIdentifier where an identifier include two (or more) consecutive underscore characters.
    • Add new code to ErrorCode.
    • Add new function double_underscored_identifier.

Version 0.1.1

  • Feature: add new diagnostic for PropertyReferenceNotProperty where 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.

Version 0.1.0

Initial Release.

  • Error Handling:
    • Copy error module from sdml_core, rename as errors.
    • Remove diagnostics from the existing Error type.
  • Diagnostics:
    • Copy diagnostics module.
    • Create new diagnostics::codes module and ErrorCode enum.
    • Create new diagnostics::functions module and functions for each ErrorCode.
  • Diagnostic Reporting:
    • Create new diagnostics::reporter module.
    • Create new Reporter trait.
    • Create a StandardStreamReporter to emit colored and structured errors to the console.
    • Create a BailoutReporter that will turn the first diagnostic it is given into an error.

Dependencies

~11–22MB
~283K SLoC