#tree-sitter #ruby #stack-graphs

bin+lib tree-sitter-stack-graphs-ruby

使用 tree-sitter-ruby 为 Ruby 定义的堆栈图定义

1 个不稳定版本

0.0.1 2023 年 5 月 11 日

#5#stack-graphs

MIT/Apache

13KB
63

为 Ruby 定义的 tree-sitter-stack-graphs

此项目使用 tree-sitter-ruby 语法定义了 tree-sitter-stack-graphs 规则。

用法

要使用此库,请将以下内容添加到您的 Cargo.toml

[dependencies]
tree-sitter-stack-graphs-ruby = "0.0.1"

有关如何使用此库的更多详细信息,请参阅我们的 文档

命令行程序

tree-sitter-stack-graphs-ruby 的命令行程序允许您从命令行执行基于堆栈图的分析和查找。

使用以下命令安装程序

$ cargo install --features cli tree-sitter-stack-graphs-ruby
$ tree-sitter-stack-graphs-ruby --help

开发

该项目是用 Rust 编写的,需要安装最新版本。可以使用 rustup 安装和更新 Rust。

项目组织如下

  • 堆栈图规则定义在 src/stack-graphs.tsg
  • 内置源和配置分别定义在 src/builtins.rbbuiltins.cfg 中。
  • 测试放入 test 目录。

构建和运行测试

运行以下命令构建项目

$ cargo build

运行以下命令运行测试

$ cargo test

默认情况下,运行 cargo 仅适用于库。要同时运行库的 cargo 命令,请添加 --features cli--all-features

以下是从源代码运行 CLI 的方法

$ cargo run --features cli -- ARGS

使用以下命令使用标准 Rust 格式化源代码

$ cargo fmt

编写 TSG

堆栈图规则是用 tree-sitter-graph 编写的。检查 示例,其中包含特定语言功能的自包含 TSG 规则。有一个 VSCode 扩展 可提供 TSG 文件的语法高亮。

执行以下命令解析和测试单个文件

$ cargo run --features cli -- parse FILES...
$ cargo run --features cli -- test TESTFILES...

通过传递 -V 标志生成可视化以调试失败的测试

$ cargo run --features cli -- test -V TESTFILES...

要无论测试结果如何都生成可视化,请执行

$ cargo run --features cli -- test -V --output-mode=always TESTFILES...

访问https://crates.io/crates/tree-sitter-stack-graphs以获取示例和文档链接。

依赖项

~24–34MB
~727K SLoC