#tree-sitter #java #stack-graphs

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

Java 编程语言的堆栈图

5 个版本 (重大更新)

0.4.0 2024年7月10日
0.3.0 2024年3月6日
0.2.0 2023年3月22日
0.1.0 2023年2月14日
0.0.1 2023年2月1日

511编程语言 中排名

Download history 78/week @ 2024-04-12 45/week @ 2024-05-03 169/week @ 2024-05-10 36/week @ 2024-05-17 3/week @ 2024-05-24 87/week @ 2024-07-05 22/week @ 2024-07-12 1/week @ 2024-07-19 3/week @ 2024-07-26

每月113次 下载

MIT/Apache

350KB
8K SLoC

Java 的 tree-sitter-stack-graphs 定义

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

使用 API

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

[dependencies]
tree-sitter-stack-graphs-java = "0.4"

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

使用命令行程序

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

CLI 可以如下运行

  1. (已安装) 使用 Cargo 如下安装 CLI

    cargo install --features cli tree-sitter-stack-graphs-java
    

    之后,CLI 应该作为 tree-sitter-stack-graphs-java 可用。

  2. (从源代码) 除了安装 CLI,还可以直接从 crate 目录运行,作为 tree-sitter-stack-graphs-java 调用的替代,如下所示

    cargo run --features cli --
    

命令行程序的基本 CLI 工作流程是索引源代码并对生成的数据库执行查询

  1. 如下索引源文件夹

    tree-sitter-stack-graphs-java index SOURCE_DIR
    

    索引将跳过已索引的任何文件。要强制重新索引,请添加 -f 标志。

    要检查源文件夹的状态,请运行

    tree-sitter-stack-graphs-java status SOURCE_DIR
    

    要清除数据库并从头开始,请运行

    tree-sitter-stack-graphs-java clean
    

    传递 --delete 标志不仅清空数据库,还删除它。这在解决版本更新后可能出现的“不支持的数据库版本”错误时很有用。

  2. 运行查询以查找给定行和列上的引用的定义

    tree-sitter-stack-graphs-java query definition SOURCE_PATH:LINE:COLUMN
    

    输出的定义将被打印出来,如果源文件可用,还会打印源代码行。

通过将 -h 标志直接传递给 CLI 或任何子命令,可以查找所有可用的命令和标志。

开发

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

项目组织如下

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

运行测试

按照以下方式运行测试

cargo test

该项目由一个库和一个 CLI 组成。默认情况下,运行 cargo 仅适用于库。要运行 CLI 上的 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 以获取示例和文档链接。

依赖项

~11–28MB
~409K SLoC