6 个稳定版本
| 2.0.0 | 2023 年 12 月 26 日 |
|---|---|
| 1.2.1 | 2023 年 12 月 22 日 |
| 0.3.6 |
|
| 0.1.0 |
|
937 在 命令行工具 中
26 每月下载量
51KB
611 行
murmur
一个灵活的库,用于构建带有 NerdFonts 或 Unicode 图标的消息。
目录
简介
只有一个 Whisper 结构体和一个 IconKind 枚举。
use murmur::{Whisper, IconKind};
IconKind 变体
IconKind 枚举变体映射到特定的 Unicode 或 NerdFont 图标,每个图标都有一个默认颜色。命名遵循 Rust API 指南。
NfFaTimesNfFaCheckNfFaInfoCircleNfFaRefreshNfFaWarningNfFaBugUnicodeCrossMarkUnicodeCheckMarkUnicodeInformationSourceUnicodeGearUnicodeWarningSignUnicodeBug
有关当前支持的所有图标的完整列表,请参阅 IconKind 枚举。
use murmur::{Whisper, IconKind};
use owo_colors::OwoColorize;
Whisper::new()
.icon(IconKind::NfFaCheck)
.message("message")
.message("message".red())
.whisper()
.unwrap();
要使用 `Nf` 变体,必须安装 NerdFonts。
Whisper 方法
Whisper 结构体提供了以下方法
new():创建一个新的Whisper实例.icon():向Whisper实例添加一个图标.message():向Whisper实例添加一条消息.messages():向Whisper实例添加多条消息.whisper():构建Whisper实例并打印消息
以下是一些如何使用 Whisper 结构体的示例。
new
use murmur::{Whisper, IconKind};
Whisper::new()
.icon(IconKind::NfFaCheck)
.message("message")
.whisper()
.ok();
icon
use murmur::{Whisper, IconKind};
Whisper::new().icon(IconKind::UnicodeCheckMark).whisper().ok();
message
use murmur::Whisper;
use std::io::{Error, ErrorKind};
fn main() -> Result<(), Error> {
Whisper::new()
.message("1 message")
.message("2 message")
.message("3 message")
.whisper()
.map_err(|err| Error::new(ErrorKind::Other, err))?;
Ok(())
}
输出
1 message without icon
2 message without icon indents by 2 spaces all messages after the first
3 message
messages
use murmur::Whisper;
Whisper::new()
.messages(["1 message without icon", "2 message", "3 message"])
.whisper()
.ok();
Whisper::new()
.messages(vec!["1 message without icon", "2 message", "3 message"])
.whisper()
.ok();
Whisper 错误
whisper 方法返回 -> Result<(), WhisperError>
use murmur::{Whisper, IconKind, WhisperError};
use std::io::{Error, ErrorKind};
fn whisper_new() -> Result<(), WhisperError> {
let whisper = Whisper::new()
.icon(IconKind::NfFaBug)
.message("The `whisper` method returns `-> Result<(), WhisperError>`")
.whisper()?;
Ok(())
}
依赖项
约 0.5-1MB
约 21K SLoC