#helper #color

apputils

一个轻量级的Rust包,帮助你构建出色的工具

6个版本

0.1.6 2024年4月4日
0.1.5 2024年4月3日
0.1.2 2024年3月12日

#270 in 配置


用于 wallpaper-dl

MIT 许可证

14KB
202

apputils

一个轻量级的Rust包,帮助你构建出色的工具

查看文档以了解其功能。要将它添加到您的依赖项中,请运行以下操作之一:

cargo add apputils

或者更新您的Cargo.toml

[dependencies]
apputils = "0.1.5"

分类

  • dirs:使用环境变量的用户目录
  • config:配置文件助手

示例

use apputils::config::local_file;
use apputils::Colors;
use apputils::paintln;

fn main() {
	paintln!(Colors::Rgb(42, 164, 69), "Attempting to read alacritty config file...");

	match local_file("alacritty", "alacritty.toml") {
		Ok(data) => println!("Your alacritty config:\n{}", data),
		Err(_) => paintln!(Colors::Red, "You don't seem to have an alacritty config!")
	}

	// You can also print with bold colors
	paintln!(Colors::MagentaBold, "I use Gentoo, btw.");
}

lib.rs:

一个轻量级的Rust包,帮助你构建出色的工具

它旨在无框架且相对简单,同时提供出色的辅助函数,用于执行几乎所有程序都需要的基本任务。这些任务包括使用多个路径(用户和全局)读取配置文件,以类似println!()的颜色打印,以及跨平台获取用户目录。

要将它添加到您的依赖项中,请运行以下操作之一:

cargo add apputils

或者更新您的Cargo.toml

[dependencies]
apputils = "0.1.0"

带有颜色的打印

use apputils::Colors;
use apputils::paintln;

paintln!(Colors::White, "I'm white.");
paintln!(Colors::Black, "I'm black.");
paintln!(Colors::Yellow, "I'm yellow.");
paintln!(Colors::Red, "I'm red.");
paintln!(Colors::Rgb(35, 170, 242), "I'm #23AAF2.");

读取配置和数据文件

使用wallpaper-dl的文件结构的示例

use apputils::config::{Cfg, Appdata};
use apputils::dirs::{config_home, data_home};

const APP_NAME: &str = "wallpaper-dl";
const CONFIG_FILE: &str = "config.toml";
const DB_FILE: &str = "wallpapers.toml";

let cfg_path = Cfg::path(APP_NAME, CONFIG_FILE);
let db_path = Appdata::path(APP_NAME, DB_FILE);

assert_eq!(cfg_path, config_home().unwrap().join(APP_NAME).join(CONFIG_FILE)); // e.g. ~/.config/wallpaper-dl/config.toml
assert_eq!(db_path, data_home().unwrap().join(APP_NAME).join(DB_FILE));        // e.g. ~/.local/share/wallpaper-dl/wallpapers.toml

无运行时依赖项