#error #diagnostics #modeling #language #domain #sdml #cli-tool

sdml_error

简单领域建模语言(SDML)错误和诊断

6个版本

0.1.5 2024年2月20日
0.1.4 2024年2月20日

#5 in #sdml

49 每月下载量

自定义许可

77KB
1.5K SLoC

包 sdlm_error

Rust库,包含Simple Domain Modeling Language (SDML)的错误和诊断类型。

crates.io docs.rs

此包是Rust SDML项目的一部分,并专门定义了项目的错误和诊断类型。项目的目的是提供一个内存模型的惯用实现、解析器、生成器和CLI工具。

以下图展示了该包在更广泛的项目上下文中的位置。

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

变更记录

版本 0.1.5

  • 功能:添加新的诊断类型 IdentifierNotPreferredCase,其中标识符不在其使用的首选样式。
    • ErrorCode 添加新代码
    • 添加新函数 identifier_not_preferred_case
    • 添加新枚举 IdentifierCaseConvention,用于标识要强制执行的样式。

版本 0.1.4

  • 功能:改进了多个诊断帮助消息。
  • 功能:添加共享 UseColor 类型。

版本 0.1.3

  • 功能:添加新的诊断类型 DeprecatedTermUsed,其中标识符包含在提供的 TermSet 中列出的术语。
    • ErrorCode 添加新代码
    • 添加新函数 deprecated_term_used

版本 0.1.2

  • 功能:添加新的诊断类型 DoubleUnderscoredIdentifier,其中标识符包含两个(或更多)连续的下划线字符。
    • ErrorCode 添加新代码
    • 添加新函数 double_underscored_identifier

版本 0.1.1

  • 功能:添加新的诊断类型 PropertyReferenceNotProperty,其中成员中的属性名未解析为属性定义。
    • ErrorCode 添加新代码
    • 添加新函数 property_reference_not_property

版本 0.1.0

初始版本。

  • 错误处理
    • sdml_core 复制 error 模块,重命名为 errors
    • 从现有的 Error 类型中删除诊断。
  • 诊断
    • 复制 diagnostics 模块。
    • 创建新的 diagnostics::codes 模块和 ErrorCode 枚举。
    • 创建新的 diagnostics::functions 模块和每个 ErrorCode 的函数。
  • 诊断报告
    • 创建新的 diagnostics::reporter 模块。
    • 创建新的 Reporter 接口。
    • 创建一个 StandardStreamReporter 以向控制台输出彩色和结构化的错误。
    • 创建一个将第一个诊断结果转换为错误的 BailoutReporter

依赖项

~9–20MB
~256K SLoC