Crates.io | murmur |
lib.rs | murmur |
version | 2.0.0 |
source | src |
created_at | 2023-11-26 03:21:39.072118 |
updated_at | 2023-12-26 07:29:31.527986 |
description | This library provides a simple and flexible way to format colored messages with optional `NerdFonts` or `Unicode` icons. |
homepage | |
repository | https://github.com/andretcarpizo/murmur |
max_upload_size | |
id | 1048777 |
size | 59,919 |
A flexible library to build messages with NerdFonts
or Unicode
icons.
Table of Contents
There is only a Whisper
struct and an IconKind
enum.
use murmur::{Whisper, IconKind};
IconKind
VariantsThe IconKind
enum variants map to a specific Unicode
or NerdFont
icon, each icon has a default color.
Casing conforms to Rust API Guidelines.
NfFaTimes
NfFaCheck
NfFaInfoCircle
NfFaRefresh
NfFaWarning
NfFaBug
UnicodeCrossMark
UnicodeCheckMark
UnicodeInformationSource
UnicodeGear
UnicodeWarningSign
UnicodeBug
For a full list of the currently supported icons, see the IconKind
enum.
use murmur::{Whisper, IconKind};
use owo_colors::OwoColorize;
Whisper::new()
.icon(IconKind::NfFaCheck)
.message("message")
.message("message".red())
.whisper()
.unwrap();
Whisper
methods:The Whisper
struct provides the following methods:
new()
: Creates a new Whisper
instance.icon()
: Adds an icon to the Whisper
instance.message()
: Adds a message to the Whisper
instance.messages()
: Adds multiple messages to the Whisper
instance.whisper()
: Builds the Whisper
instance and prints the messagesHere are some examples of how to use the Whisper
struct.
use murmur::{Whisper, IconKind};
Whisper::new()
.icon(IconKind::NfFaCheck)
.message("message")
.whisper()
.ok();
use murmur::{Whisper, IconKind};
Whisper::new().icon(IconKind::UnicodeCheckMark).whisper().ok();
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(())
}
Output:
1 message without icon
2 message without icon indents by 2 spaces all messages after the first
3 message
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();
The whisper
method returns -> 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(())
}