2 个版本
0.1.6 | 2024 年 6 月 28 日 |
---|---|
0.1.5 | 2024 年 6 月 28 日 |
#134 in 国际化 (i18n)
在 4 crate 中使用
80KB
1.5K SLoC
#+TITLE: 包 sdml-error #+AUTHOR: Simon Johnston #+EMAIL: [email protected] #+LANGUAGE: en #+STARTUP: overview hidestars inlineimages entitiespretty #+OPTIONS: author:nil created:nil creator:nil date:nil email:nil num:3 toc:nil
Rust 库,包含 Simple Domain Modeling Language (SDML) 的错误和诊断类型。
[https://crates.io/crates/sdml_errors] [https://docs.rs/sdml_errors]
此包是 Rust SDML 项目的一部分,并专门定义了项目的错误和诊断类型。该项目的目的是提供内存模型、解析器、生成器和 CLI 工具的惯用实现。
以下图示展示了此包在更广泛的项目背景中的位置。
#+CAPTION: 包组织 #+BEGIN_EXAMPLE ╭───────╮ │ CLI │ ╔══ │ crate │ ══╗ ║ ╰───────╯ ║ ┌╌╌╌╌╌╌╌╌┐ V V ┆ ┆ ╭───────╮ ╭──────────╮ 格式化源代码 ┆ 文件 ┆ ══> │ parse │ ══> │ generate │ ══> RDF 表示 ┆ ┆ │ ╰───────╯ ╰──────────╯ │ 图表 └╌╌╌╌╌╌╌╌┘ │ core/errors crate │ ╰──────────────────────────────────╯ ┌───────┐ ⋀ │ other │ ║ │ tools │ ════════════════╝ └───────┘ #+END_EXAMPLE
- 变更
版本 0.1.6
- 功能:在 =Error= 和 =GeneratorError= 中添加新的变体,供 =sdml-generator= crate 使用。
版本 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