#directories #xdg-base #path #xdg #dirs #basedir

等等

一个不具偏见的应用程序配置、数据、缓存以及其他目录获取库

12 个版本 (7 个重大更新)

0.8.0 2023年4月26日
0.6.0 2023年4月21日
0.4.0 2022年5月9日
0.3.2 2020年11月26日
0.1.0 2020年5月16日

#9 in 配置

Download history 123097/week @ 2024-04-22 121703/week @ 2024-04-29 122644/week @ 2024-05-06 135369/week @ 2024-05-13 128896/week @ 2024-05-20 130504/week @ 2024-05-27 151751/week @ 2024-06-03 148173/week @ 2024-06-10 137432/week @ 2024-06-17 137976/week @ 2024-06-24 140940/week @ 2024-07-01 153777/week @ 2024-07-08 152218/week @ 2024-07-15 159257/week @ 2024-07-22 157571/week @ 2024-07-29 153635/week @ 2024-08-05

每月 627,488 次下载
513 个Crates中(32 个直接使用)

MIT/Apache

50KB
445

crates.io version crates.io revdeps documentation license

等等

这是一个允许您确定应用程序配置、数据、缓存以及其他文件位置的Rust库。现有的Rust库通常不会给您选择它们遵循的标准/约定的机会。相反,等等库为您提供了选择。

约定

等等支持以下约定

策略

等等有两种操作模式:BaseStrategyAppStrategy

  • 使用 BaseStrategy,您只需获取相应目录的位置。例如,对于 config_dir()
    • XDG: ~/.config
    • 苹果: ~/Library/Preferences
    • Windows: ~\AppData\Roaming
  • 使用 AppStrategy,您提供附加信息以获取应用程序目录的位置。例如,如果您提供以下详细信息:{ top_level_domain: "org", author: "Acme Corp", app_name: "Frobnicator Plus" },您将得到
    • XDG: ~/.config/frobnicator-plus
    • Unix: ~/.frobnicator-plus
    • 苹果: ~/Library/Preferences/org.acmecorp.FrobnicatorPlus
    • Windows: ~\AppData\Roaming\Acme Corp\Frobnicator Plus

注意:主目录(~)的位置由home crate决定。

便利函数

Etcetera还为每个平台提供了选择适当策略的便利函数

  • base_strategy::choose_base_strategy & app_strategy::choose_app_strategy:在Windows上使用Windows,在其他地方使用XDG。这被大多数CLI工具和一些GUI工具在各个平台上使用。
  • base_strategy::choose_native_strategy & app_strategy::choose_native_strategy:在Windows上使用Windows,在macOS/iOS上使用Apple,在其他地方使用XDG。这被各个平台上的大多数GUI应用程序使用。

请参阅documentation以获取示例。

依赖关系

~0–12MB
~68K SLoC