2 个版本
0.1.1 | 2024年1月29日 |
---|---|
0.1.0 | 2024年1月29日 |
1343 在 解析器实现
12KB
174 行
Txtar
txtar 库实现了简单的基于文本的文件归档格式。此格式已从同名 go 包移植过来。
该格式的目标是
- 足够简单,可以手动创建和编辑。
- 能够存储描述 go 命令测试用例的文本文件树。
- 在 git 历史和代码审查中差异明显。
不包括的目标包括成为一个完全通用的归档格式、存储二进制数据、存储文件模式、存储特殊文件(如符号链接)等。
Txtar 格式
Txtar 归档由零个或多个注释行组成,然后是一系列文件条目。每个文件条目以一个文件标记行开始,形式为"-- FILENAME --",后面跟着零个或多个组成文件数据的文件内容行。注释或文件内容在下一个文件标记行结束。文件标记行必须以三个字节序列"-- "开始,以三个字节序列" --"结束,但包含的文件名可以由额外的空白字符包围,所有这些都将被删除。
如果 txtar 文件在最后一行缺少换行符,解析器应考虑在最后仍然存在一个换行符。
Txtar 归档中没有可能的语法错误。
Comment1
Comment 2 is here
-- file 1 --
This is the
content of file 1
-- file2 --
This is the conten of file 2
阅读示例
您可以使用 Archive::from
将字符串转换为归档
use txtar::Archive;
let tx_str = "comment1
comment2
-- file1 --
This is file 1
-- file2 --
this is file2
";
let archive = Archive::from(tx_str);
assert_eq!(archive.comment, "comment1\ncomment2\n");
``