5 个版本 (1 个稳定版)
1.0.0 | 2022 年 6 月 2 日 |
---|---|
0.2.2 | 2022 年 5 月 15 日 |
0.2.1 | 2022 年 5 月 15 日 |
0.2.0 | 2022 年 5 月 15 日 |
0.1.0 | 2022 年 5 月 13 日 |
810 在 文件系统 中排名
每月下载 39 次
被 diffedit3 使用
16KB
256 行代码(不包括注释)
txtar
txtar 是 txtar Go 包的 Rust 实现。
cargo add txtar
用法
let txt = "\
comment1
comment2
-- file1 --
File 1 text.
-- foo/bar --
File 2 text.
-- empty --
-- noNL --
hello world";
let archive = txtar::from_str(txt);
archive.materialize("/tmp/somedir/").unwrap();
txtar 目标
如 Go 包所述
txtar 包实现了一个简单的基于文本的文件存档格式。
该格式的目标是
- 足够简单,可以手动创建和编辑。
- 能够存储描述 go 命令测试用例的文本文件树。
- 在 git 历史记录和代码审查中表现良好。
不包括的目标包括成为一个完全通用的存档格式、存储二进制数据、存储文件模式、存储特殊文件(如符号链接)等。
txtar 格式规范
格式规范以在 txtar
Go 包源代码中编写的形式
txtar 格式
txtar 存档包含零个或多个注释行,然后是一系列文件条目。每个文件条目以形式为 "-- FILENAME --" 的文件标记行开始,后面跟着零个或多个构成文件数据的文件内容行。注释或文件内容在下一个文件标记行之前结束。文件标记行必须以三个字节序列 "-- " 开始,以三个字节序列 " --" 结束,但包含的文件名可以由额外的空白字符包围,所有这些都会被删除。
如果 txtar 文件在最后一行缺少尾随换行符,解析器应考虑在最后仍然存在一个换行符。
txtar 存档中不存在可能的语法错误。
许可协议
依赖
~305–770KB
~18K SLoC