12 个版本 (破坏性更新)

0.9.0 2024 年 7 月 10 日
0.8.1 2024 年 3 月 6 日
0.7.1 2023 年 7 月 27 日
0.6.0 2023 年 1 月 13 日
0.2.0 2022 年 6 月 29 日

#82可视化

Download history 10/week @ 2024-04-26 115/week @ 2024-05-03 182/week @ 2024-05-10 68/week @ 2024-05-17 129/week @ 2024-05-24 110/week @ 2024-05-31 171/week @ 2024-06-07 171/week @ 2024-06-14 146/week @ 2024-06-21 162/week @ 2024-06-28 222/week @ 2024-07-05 113/week @ 2024-07-12 86/week @ 2024-07-19 111/week @ 2024-07-26 91/week @ 2024-08-02 143/week @ 2024-08-09

每月 448 次下载
用于 5 crates

MIT/Apache

1MB
17K SLoC

tree-sitter-stack-graphs

tree-sitter-stack-graphs 包允许您使用语言的 tree-sitter 语法创建堆栈图。

使用 API

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

[dependencies]
tree-sitter-stack-graphs = "0.9"

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

使用命令行程序

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

CLI 可以按照以下方式运行

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

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

    安装完成后,CLI 应该可以通过 tree-sitter-stack-graphs 访问。

  2. (从源码) 您也可以直接从 crate 目录运行 CLI,作为 tree-sitter-stack-graphs 调用的替代品,如下所示

    cargo run --features cli --
    

命令行程序的基工作流程是索引源代码并对结果数据库发出查询

  1. 按照如下方式索引源文件夹

    tree-sitter-stack-graphs index SOURCE_DIR
    

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

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

    tree-sitter-stack-graphs status SOURCE_DIR
    

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

    tree-sitter-stack-graphs clean
    

    传递 --delete 标志不仅可以清空数据库,还可以删除它。这在更新版本后可能出现的 不支持的数据库版本 错误中非常有用。

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

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

    将打印出结果定义,包括如果源文件可用,则包括源代码行。

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

在新的语言上入门

要为您的最爱语言开发堆栈图定义的新项目,只需运行 init 命令即可

tree-sitter-stack-graphs init PROJECT_DIR

回答问题以提供有关语言、语法依赖项和项目的信息,然后点击 Generate 以生成新项目。查看 PROJECT_DIR/README.md 以了解如何开始开发。

查看典型语言特征的堆栈图规则的 示例

开发

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

通过运行以下命令来构建项目

cargo build

通过运行以下命令来运行测试

cargo test

该项目由一个库和一个 CLI 组成。默认情况下,运行 cargo 只适用于库。要同时运行 CLI 上的 cargo 命令,请添加 --features cli--all-features

如下所示从源运行 CLI

cargo run --features cli -- ARGS

源代码使用标准的 Rust 格式化,可以通过运行以下命令应用

cargo fmt

许可证

根据您的选择,许可如下

依赖关系

~8–24MB
~354K SLoC