pretty_exec_lib/log/github_actions/
group_opening.rs

1use super::super::{Log, Logger};
2use derive_more::From;
3use std::fmt::{self, Display, Formatter};
4
5#[must_use]
6#[derive(From)]
7pub struct GroupOpening<Fmt>(Fmt);
8
9impl<'a, Fmt, Prompt: ?Sized, Program: ?Sized, Arguments: ?Sized> Display
10    for Logger<'a, GroupOpening<Fmt>, Prompt, Program, Arguments>
11where
12    Logger<'a, Fmt, Prompt, Program, Arguments>: Display,
13{
14    fn fmt(&self, f: &mut Formatter<'_>) -> fmt::Result {
15        let inner_logger = Logger::new(&self.method.0, self.prompt, self.program, self.arguments);
16        write!(f, "::group::{inner_logger}")
17    }
18}
19
20impl<'a, Fmt, Prompt: ?Sized, Program: ?Sized, Arguments: ?Sized> Log
21    for Logger<'a, GroupOpening<Fmt>, Prompt, Program, Arguments>
22where
23    Logger<'a, Fmt, Prompt, Program, Arguments>: Display,
24{
25    fn log(&self) {
26        println!("{self}");
27    }
28}