#ini #configuration #chezmoi

bin+lib chezmoi_modify_manager

Chezmoi 插件,用于修补包含混合设置和状态的 ini 文件(实验性 Rust 分支)

29 个稳定版本

3.4.0 2024 年 7 月 14 日
3.2.2 2024 年 4 月 8 日
3.2.1 2024 年 3 月 15 日
2.2.4 2023 年 12 月 26 日
0.0.2 2023 年 4 月 18 日

#40配置

Download history 206/week @ 2024-05-11 9/week @ 2024-05-18 1/week @ 2024-05-25 4/week @ 2024-06-01 5/week @ 2024-06-08 2/week @ 2024-06-15 1/week @ 2024-06-22 26/week @ 2024-07-06 137/week @ 2024-07-13 4/week @ 2024-07-20 170/week @ 2024-07-27 2/week @ 2024-08-03

179 次每月下载

GPL-3.0-only

98KB
2.5K SLoC

chezmoi 的修改脚本助手插件

[ 用户手册 ] [ lib.rs ] [ crates.io ] [ AUR ]

新闻

  • 如果您正在跨主要版本升级,请参阅 迁移指南

用于处理包含设置和状态的设置文件的 chezmoi 插件。目前仅支持处理 INI 风格的文件。

这类文件的典型例子是 KDE 设置文件。这些文件包含(除了设置之外)诸如最近打开的文件和窗口及对话框的位置之类的状态信息。其他程序(如 PrusaSlicer)也这样做。

该存储库中的程序允许您在用 chezmoi 管理配置文件时忽略那些 INI 文件中的某些部分。

文档

请参阅 用户手册 了解如何使用 chezmoi_modify_manager 的完整文档。

支持的功能

功能:合并 & 过滤 INI 文件

这是此工具的主要模式和存在的原因。

chezmoi_modify_manager 允许您

  • 忽略 INI 风格文件中的整个部分或特定键。
  • 基于正则表达式忽略部分中的键。
  • 强制设置值(与模板一起使用很有用)。
  • 强制删除匹配正则表达式的部分、键或条目(与模板一起使用很有用)。
  • 将转换应用于指定键的值。这些是内置的特殊操作,提供更复杂的转换。以下是一些示例
    • 在平台密钥链中查找密码
    • 忽略列表风格值(如 key=a,b,c,d)的排序顺序
    • 等。

有关详细的使用说明,请参阅用户手册

功能:辅助添加到chezmoi源状态

此命令也可以用于添加文件(有关详细信息,请参阅chezmoi_modify_manager --help

  • 智能重添加模式(如果文件已经被管理,则重添加为.src.ini,否则以plain chezmoi的形式添加)。
  • 转换模式(从plain chezmoi转换为管理到.src.ini)。

chezmoi_modify_manager还允许在重新添加已更改的文件时过滤添加的文件。

  • 任何被忽略的键将被删除(因为我们始终使用这些键的系统版本,这减少了git中的更改和差异大小)。
  • 值可以被隐藏(使用add:hide指令),这对于来自密钥环的密码很有用。
  • 或者可以使用add:remove指令完全删除它们(与set和模板化修改脚本一起使用很有用)。

有关详细的使用说明,请参阅用户手册

平台支持和要求

该二进制文件是自包含的,除了平台提供的基库(通常是Linux上的libc和libm)外,没有非可选的系统依赖项。

构建要求(如果您的平台没有本地二进制文件)

  • Rust 1.75.0或更高版本
  • C编译器和相关工具链(链接器、头文件、库等)。
    这是必要的,因为一些依赖项可能包含一些C代码。

平台

平台 架构 持续集成 手动测试
带有Glibc的Linux 所有主要版本 是(x86-64,i686,ARMv7)
带有Musl的Linux 所有主要版本 是(x86-64)
Windows x86-64
MacOS x86-64

上述表格仅限于我自己可以访问(以及使用)以及GitHub CI中工作的内容。其他Unix系统可能也能工作,如果Rust提供了支持

最小支持的Rust版本(MSRV)策略

当前的最小支持的Rust版本(MSRV)已在之前的部分中记录。MSRV可能根据需要提升。保证chezmoi_modify_manager至少能在当前和上一个稳定版Rust上构建。MSRV更改不被视为重大更改,因此即使在补丁版本中也可能更改。

依赖项

~10–29MB
~462K SLoC