sdml_error

Crates.iosdml_error
lib.rssdml_error
version0.1.5
sourcesrc
created_at2024-02-16 15:53:29.576467
updated_at2024-02-20 17:24:47.230603
descriptionSimple Domain Modeling Language (SDML) errors and diagnostics.
homepage
repositoryhttps://github.com/johnstonskj/rust-sdml.git
max_upload_size
id1142570
size76,979
Simon Johnston (johnstonskj)

documentation

README

Crate sdlm_error

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.

                            ╭───────╮
                            │  CLI  │
                       ╔══  │ crate │  ══╗
                       ║    ╰───────╯    ║
┌╌╌╌╌╌╌╌╌┐             V                 V
┆        ┆       ╭──────────╮       ╭──────────╮       Formatted Source
┆ source ┆  ══>  │  parse   │  ══>  │ generate │  ══>  RDF Representation 
┆  file  ┆    ╭──│  crate   │───────│   crate  │──╮    Documentation
┆        ┆    │  ╰──────────╯       ╰──────────╯  │    Diagrams
└╌╌╌╌╌╌╌╌┘    │             core crate            │──╮
              ╰───────────────────────────────────╯  │
 ┌───────┐             ⋀          error crate        │
 │ other │             ║  ╌╌╌╌╌╌╌╌╌╌╌╌╌╌─────────────╯
 │ tools │  ═══════════╝
 └───────┘

Changes

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: 312

cargo fmt