11个重大版本
0.30.0 | 2024年6月7日 |
---|---|
0.28.0 | 2024年5月3日 |
0.24.0 | 2024年2月15日 |
0.19.0 | 2023年12月15日 |
2461个在解析器实现
用于2个crate(通过ruby-prism)
16MB
304K SLoC
ruby-prism-sys
Rust对ruby/prism的C API的绑定。
示例
目前最佳示例可在集成测试(在tests/
中)找到。
文档
由于此crate尚未发布,文档尚未上线。但是,您可以通过运行cargo doc
并打开浏览器中的target/doc/ruby_prism_sys/index.html
来生成它们。(您也可以通过执行cargo doc --open
来合并这两个步骤!)
开发
依赖关系
除了Ruby prism依赖项外,您不需要Rust以外的任何东西。
更新绑定
build.rs
(作为运行cargo build
、cargo test
等的一部分被调用)是我们告诉bindgen
要为我们生成哪些类型、函数等的文件。它足够智能,知道要为我们在其中指定的项生成依赖项(例如,pm_parser_t
具有类型为pm_token_t
的字段,但我们不需要告诉bindgen
关于pm_token_t
的信息--它会自己找出并为此类型生成绑定)。
如果您要生成新的绑定,请相应更新build.rs
,然后运行cargo doc
并检查文档;这应该会告诉您bindgen
是否为您生成了所需的所有内容。
测试
由于几乎所有代码都是由经过良好测试的bindgen
库生成的,我们实际上只在tests/
中有一些简要的集成测试,主要验证类型和函数是否适当地生成。(它们还提供了一些关于如何从Rust使用API的提示!)要运行测试,请运行cargo test
。
任何新的公开C API添加都应该有一个或两个测试。