Implement Display for Position

This commit is contained in:
kageru 2020-06-21 22:52:23 +02:00
parent b415ebb509
commit 324648d9a7
Signed by: kageru
GPG Key ID: 8282A2BEA4ADA3D2

View File

@ -1,7 +1,7 @@
use chrono::prelude::*;
use helpers::*;
use serde::Deserialize;
use std::time::Duration;
use std::{fmt, time::Duration};
/// All information about a track. This is returned by the `currentsong` or `queue` commands.
#[derive(Deserialize, Clone, Debug, Default, PartialEq)]
@ -57,6 +57,15 @@ pub struct Position {
pub total_items: Option<u16>,
}
impl fmt::Display for Position {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
match self.total_items {
Some(n) => write!(f, "{}/{}", self.item_position, n),
None => write!(f, "{}", self.item_position),
}
}
}
/// Current status as returned by `status`.
///
/// Regarding optional `volume`: