#modeling #domain #language #cli #convert #draw #tree-sitter

已删除 sdml

Rust CLI for Simple Domain Modeling Language (SDML)

1 个不稳定版本

0.1.2 2023年6月9日

#84 in #draw

MIT 许可证

255KB
6K SLoC

Crate sdml

Rust CLI for Simple Domain Modeling Language (SDML)。

MIT License Rust Security audit Codecov GitHub stars

这是一个命令行工具,提供处理 SDML 文件的函数。

命令

对于大多数命令,工具接受一对参数,用于确定输出格式和位置。以下命令 --output-format/-f--output-file/-o 可以这样使用。

--output-format svg --output-file rentals.svg
-output-file rentals.svg

在上面的第二个示例中,没有指定格式,因此工具将使用输出文件的扩展名作为格式指定符。如果没有指定输出文件,则输出写入 stdout。如果两个参数都没有提供,则输出将按默认格式写入 stdout。

同样,大多数工具使用模块解析规则来加载模块,因此输入 文件 实际上是作为模块名称指定的。为了允许在非标准位置进行搜索,可以使用参数 --base-path/-b 在标准搜索路径之前添加一个路径。因此下面的两个示例是相同的,因为当前目录总是搜索路径的一部分。

--base-path . rentals
rentals

转换

转换到 Emacs org-Mode 文件提供了最完整的文档格式。

sdml convert --output-format org-mode rentals

此命令将 SDML 表面语法转换为它的底层 RDF 表示。

sdml convert --output-format org-mode rentals

此命令将 SDML 表面语法转换为树-sitter 查询中使用的 s-表达式的扩展版本。

sdml convert --output-format org-mode rentals

高亮显示

对于控制台,此工具使用 ANSI 转义序列来格式化文本。

sdml highlight --output-format ansi rentals

要生成格式化和突出显示的 HTML,工具接受两种不同的格式指定符,html 用于简单地插入到其他文档中的 HTML 块,或 html-standalone 生成围绕突出显示代码块的完整文档。

sdml highlight --output-format html rentals
sdml highlight --output-format html-standalone rentals

绘制

要绘制高级概念图,使用图指定符 concepts

sdml draw --diagram concepts \
          --output-format svg --output-file rentals.svg \
          --base-path . rentals

对于更详细的信息,可以使用图指定符 entity-relationship 生成实体-关系图。

sdml draw --diagram entity-relationship \
          --output-format svg --output-file rentals.svg \
          --base-path . rentals

对于最详细的信息,可以使用图指定符 uml-class 生成 UML 类图。

sdml draw --diagram uml-class \
          --output-format svg --output-file rentals.svg \
          --base-path . rentals

其他链接

格式化

代码检查

变更

版本:0.1.2

  • 支持语法高亮
  • 支持最新语法

版本:0.1.1

  • 更多绘图细节
  • 更多命令行功能
  • 支持最新语法

版本:0.1.0

  • 初始版本,仅限于基本绘图

依赖项

~13–25MB
~397K SLoC