sdml-errors

Crates.iosdml-errors
lib.rssdml-errors
version0.4.0
sourcesrc
created_at2024-06-28 03:34:46.866878
updated_at2024-11-16 00:00:20.966592
descriptionSimple Domain Modeling Language (SDML) errors and diagnostics.
homepage
repositoryhttps://github.com/johnstonskj/rust-sdml.git
max_upload_size
id1286430
size86,619
Simon Johnston (johnstonskj)

documentation

README

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.
Commit count: 314

cargo fmt