cses-cli 0.1.4

CSES CLI is a lightweight tool for using CSES from the command line.
use std::io::Write;

use anyhow::Result;
use console::style;

use super::Ui;
use crate::entities::TaskStatement;
use crate::ui::util::format_code_time;
use crate::RP;

pub fn print_statement(ui: &mut Ui<impl RP>, task_statement: &TaskStatement) -> Result<()> {
    writeln!(ui.term, "\n{}", style(&task_statement.name).bold())?;
    if let Some(time_limit) = &task_statement.time_limit {
        writeln!(
            ui.term,
            "Time limit: {}",
            format_code_time(Some(time_limit.to_owned()))
        )?;
    }
    if let Some(memory_limit) = &task_statement.memory_limit {
        writeln!(ui.term, "Memory limit: {} MB", memory_limit)?;
    }
    writeln!(ui.term, "\n{}", style(&task_statement.text))?;
    writeln!(ui.term)?;

    Ok(())
}