1个不稳定版本
0.1.0 | 2024年4月19日 |
---|
#496 in 配置
225KB
678 行
asterisk
🌟
Asterisk是一个用于解析和索引各种语言代码的库。 📚
目录
特性
- 提取代码结构和调用信息 📊
- 生成调用图 🌐
- 支持多种语言 🌍
- Rust 🦀
- Python 🐍
- 可配置的语言特定设置 🛠️
安装
将asterisk
添加到您的Cargo.toml
文件中作为依赖项
[dependencies]
asterisk = "0.1.0"
使用
use asterisk::config::Config;
use asterisk::indexer::index_directory;
fn main() {
let toml_str = fs::read_to_string("asterisk.toml").expect("Unable to read file");
let config = Config::from_toml(&toml_str).unwrap();
let dir_path = "path/to/directory";
let (blocks, call_stack, call_graph) = index_directory(&config, dir_path);
// Process the extracted information
// ...
}
配置
Asterisk使用TOML配置文件来指定语言特定设置。以下是一个示例配置
[languages]
[languages.python]
[languages.python.matchers]
import_statement = "import_from_statement"
# ...
[languages.rust]
[languages.rust.matchers]
import_statement = "use_declaration"
# ...
开发
从源代码构建项目
$ git clone https://github.com/stitionai/asterisk.git
$ cd asterisk/
$ cargo build --release
贡献
贡献方式
- 建议一个功能
- 报告一个错误
- 修复某些内容并提交一个pull request
- 帮助编写代码文档
- 宣传
许可证
在MIT许可证下发布,更多信息请见LICENSE。
喜欢这个项目吗?
通过收藏仓库来支持项目。⭐
依赖项
~5–7.5MB
~143K SLoC