#ssh-client #client-config #config-parser #ssh #parser #client #incremental

tree-sitter-ssh-client-config

tree-sitter 解析库的 SSH 客户端配置语法

51 个稳定版本

2024.8.22 2024年8月22日
2024.7.25 2024年7月25日
2024.3.28 2024年3月28日
2023.12.21 2023年12月21日
1.0.3 2022年3月30日

文本编辑器 中排名第 85

Download history 196/week @ 2024-04-29 175/week @ 2024-05-06 2/week @ 2024-05-13 156/week @ 2024-05-20 189/week @ 2024-06-03 178/week @ 2024-06-10 175/week @ 2024-06-17 168/week @ 2024-06-24 189/week @ 2024-07-01 120/week @ 2024-07-08 110/week @ 2024-07-15 146/week @ 2024-07-22 147/week @ 2024-07-29 101/week @ 2024-08-05 141/week @ 2024-08-12

每月下载量 537

CC0 许可证

6MB
120K SLoC

C 119K SLoC JavaScript 852 SLoC Scheme 230 SLoC Rust 33 SLoC // 0.4% comments

tree-sitter-ssh-client-config

tree-sitter 提供的 SSH 客户端配置语法。

用法

此语法可在 crates.io 获取,您可以与 Rust 语言绑定 一起使用。

use tree_sitter::{Parser, Language};

let mut parser = Parser::new();
parser.set_language(tree_sitter_ssh_client_config::language()).expect("Error loading SSH client config grammar");
let config = "\
Host example.com
  User your-name
  Port 12345";
let tree = parser.parse(config, None).unwrap();
assert_eq!(tree.root_node().to_sexp(), "(client_config (host (host_value)) (user (user_value)) (port (port_value)))");

参考


lib.rs:

此crate为 tree-sitter 解析库提供 ssh-client-config 语言支持。

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

let code = "";
let mut parser = tree_sitter::Parser::new();
parser.set_language(tree_sitter_ssh_client_config::language()).expect("Error loading ssh-client-config grammar");
let tree = parser.parse(code, None).unwrap();

依赖项

~2.8–4MB
~72K SLoC