mirror of
https://github.com/mat-1/azalea.git
synced 2024-09-19 14:42:32 +00:00
change to_ansi to not take args
This commit is contained in:
parent
a5aa8ea0c0
commit
e99a822995
7 changed files with 22 additions and 12 deletions
|
@ -60,6 +60,9 @@ impl Component {
|
|||
/// [ANSI string](https://en.wikipedia.org/wiki/ANSI_escape_code), so you
|
||||
/// can print it to your terminal and get styling.
|
||||
///
|
||||
/// This is technically a shortcut for [`Component::to_ansi_custom_style`] with a
|
||||
/// default [`Style`] colored white.
|
||||
///
|
||||
/// # Examples
|
||||
///
|
||||
/// ```rust
|
||||
|
@ -71,12 +74,19 @@ impl Component {
|
|||
/// "color": "red",
|
||||
/// })).unwrap();
|
||||
///
|
||||
/// println!("{}", component.to_ansi(None));
|
||||
/// println!("{}", component.to_ansi());
|
||||
/// ```
|
||||
pub fn to_ansi(&self, default_style: Option<&Style>) -> String {
|
||||
pub fn to_ansi(&self) -> String {
|
||||
// default the default_style to white if it's not set
|
||||
let default_style: &Style = default_style.unwrap_or(&DEFAULT_STYLE);
|
||||
self.to_ansi_custom_style(&DEFAULT_STYLE)
|
||||
}
|
||||
|
||||
/// Convert this component into an
|
||||
/// [ANSI string](https://en.wikipedia.org/wiki/ANSI_escape_code).
|
||||
///
|
||||
/// This is the same as [`Component::to_ansi`], but you can specify a
|
||||
/// default [`Style`] to use.
|
||||
pub fn to_ansi_custom_style(&self, default_style: &Style) -> String {
|
||||
// this contains the final string will all the ansi escape codes
|
||||
let mut built_string = String::new();
|
||||
// this style will update as we visit components
|
||||
|
|
|
@ -127,7 +127,7 @@ mod tests {
|
|||
TextComponent::new("§aHypixel Network §c[1.8-1.18]\n§b§lHAPPY HOLIDAYS".to_string())
|
||||
.get();
|
||||
assert_eq!(
|
||||
component.to_ansi(None),
|
||||
component.to_ansi(),
|
||||
format!(
|
||||
"{GREEN}Hypixel Network {RED}[1.8-1.18]\n{BOLD}{AQUA}HAPPY HOLIDAYS{RESET}",
|
||||
GREEN = Ansi::rgb(ChatFormatting::Green.color().unwrap()),
|
||||
|
@ -143,7 +143,7 @@ mod tests {
|
|||
fn test_legacy_color_code_to_component() {
|
||||
let component = TextComponent::new("§lHello §r§1w§2o§3r§4l§5d".to_string()).get();
|
||||
assert_eq!(
|
||||
component.to_ansi(None),
|
||||
component.to_ansi(),
|
||||
format!(
|
||||
"{BOLD}Hello {RESET}{DARK_BLUE}w{DARK_GREEN}o{DARK_AQUA}r{DARK_RED}l{DARK_PURPLE}d{RESET}",
|
||||
BOLD = Ansi::BOLD,
|
||||
|
|
|
@ -17,7 +17,7 @@ fn basic_ansi_test() {
|
|||
.unwrap();
|
||||
let component = Component::deserialize(&j).unwrap();
|
||||
assert_eq!(
|
||||
component.to_ansi(None),
|
||||
component.to_ansi(),
|
||||
"\u{1b}[1m\u{1b}[38;2;255;85;85mhello\u{1b}[m"
|
||||
);
|
||||
}
|
||||
|
@ -53,7 +53,7 @@ fn complex_ansi_test() {
|
|||
.unwrap();
|
||||
let component = Component::deserialize(&j).unwrap();
|
||||
assert_eq!(
|
||||
component.to_ansi(None),
|
||||
component.to_ansi(),
|
||||
format!(
|
||||
"{bold}{italic}{underlined}{red}hello{reset}{bold}{italic}{red} {reset}{italic}{strikethrough}{abcdef}world{reset}{abcdef} asdf{bold}!{reset}",
|
||||
bold = Ansi::BOLD,
|
||||
|
@ -71,5 +71,5 @@ fn complex_ansi_test() {
|
|||
fn component_from_string() {
|
||||
let j: Value = serde_json::from_str("\"foo\"").unwrap();
|
||||
let component = Component::deserialize(&j).unwrap();
|
||||
assert_eq!(component.to_ansi(None), "foo");
|
||||
assert_eq!(component.to_ansi(), "foo");
|
||||
}
|
||||
|
|
|
@ -40,7 +40,7 @@ pub enum PingError {
|
|||
/// #[tokio::main]
|
||||
/// async fn main() {
|
||||
/// let response = ping::ping_server("play.hypixel.net").await.unwrap();
|
||||
/// println!("{}", response.description.to_ansi(None));
|
||||
/// println!("{}", response.description.to_ansi());
|
||||
/// }
|
||||
/// ```
|
||||
pub async fn ping_server(
|
||||
|
|
|
@ -64,7 +64,7 @@
|
|||
//! async fn handle(bot: Client, event: Event, state: State) -> anyhow::Result<()> {
|
||||
//! match event {
|
||||
//! Event::Chat(m) => {
|
||||
//! println!(m.message().to_ansi(None));
|
||||
//! println!(m.message().to_ansi());
|
||||
//! }
|
||||
//! _ => {}
|
||||
//! }
|
||||
|
|
|
@ -197,7 +197,7 @@ pub enum SwarmStartError {
|
|||
/// swarm.add(account, State::default()).await?;
|
||||
/// }
|
||||
/// SwarmEvent::Chat(m) => {
|
||||
/// println!("{}", m.message().to_ansi(None));
|
||||
/// println!("{}", m.message().to_ansi());
|
||||
/// }
|
||||
/// _ => {}
|
||||
/// }
|
||||
|
|
|
@ -136,7 +136,7 @@ async fn swarm_handle(
|
|||
swarm.add(account, State::default()).await?;
|
||||
}
|
||||
SwarmEvent::Chat(m) => {
|
||||
println!("swarm chat message: {}", m.message().to_ansi(None));
|
||||
println!("swarm chat message: {}", m.message().to_ansi());
|
||||
if m.message().to_string() == "<py5> world" {
|
||||
for (name, world) in &swarm.worlds.read().worlds {
|
||||
println!("world name: {}", name);
|
||||
|
|
Loading…
Reference in a new issue