10 个版本

0.5.0 2024年6月5日
0.4.3 2024年3月19日
0.4.2 2024年2月22日
0.4.1 2023年11月8日
0.0.3 2022年7月8日

#101 in 文本编辑器

Download history • Rust 包仓库 817/week @ 2024-04-21 • Rust 包仓库 701/week @ 2024-04-28 • Rust 包仓库 646/week @ 2024-05-05 • Rust 包仓库 666/week @ 2024-05-12 • Rust 包仓库 922/week @ 2024-05-19 • Rust 包仓库 765/week @ 2024-05-26 • Rust 包仓库 1786/week @ 2024-06-02 • Rust 包仓库 1261/week @ 2024-06-09 • Rust 包仓库 1387/week @ 2024-06-16 • Rust 包仓库 976/week @ 2024-06-23 • Rust 包仓库 841/week @ 2024-06-30 • Rust 包仓库 790/week @ 2024-07-07 • Rust 包仓库 684/week @ 2024-07-14 • Rust 包仓库 805/week @ 2024-07-21 • Rust 包仓库 747/week @ 2024-07-28 • Rust 包仓库 707/week @ 2024-08-04 • Rust 包仓库

3,067 每月下载量
用于 neocmakelsp

MIT 许可证

525KB
19K SLoC

C 19K SLoC • Rust 包仓库 JavaScript 83 SLoC • Rust 包仓库 Rust 36 SLoC // 0.1% comments • Rust 包仓库

CMake 的 Tree-sitter 解析器

此项目提供了一个 cmake 解析器。其主要用例是为 nvim-treesitter 提供一个 cmake 解析器。

解析语法

  • 命令
    • 通用命令
    • for 和 while 循环
    • if 条件
    • 函数和宏
  • 参数
    • 引号参数
    • 括号参数
    • 无引号参数
    • 括号
  • 变量引用
    • 环境和缓存变量
    • 常规变量

lib.rs:

此 crate 为 tree-sitter 解析库提供 cmake 语言支持

通常,您将使用 language 函数将此语言添加到 tree-sitter Parser,然后使用解析器解析一些代码

let code = "";
let mut parser = tree_sitter::Parser::new();
parser.set_language(tree_sitter_cmake::language()).expect("Error loading cmake grammar");
let tree = parser.parse(code, None).unwrap();

依赖

~2.7–4MB
~71K SLoC