elvis_core/style/
column.rs1use crate::{
3 style::Style,
4 value::{layouts::MultiColumnLineStyle, Color, Unit},
5};
6use elvis_core_support::Setter;
7
8#[derive(Clone, Copy, Default, Setter)]
10pub struct MultiColumnStyle {
11 pub color: Option<Color>,
13 pub count: Option<Unit>,
15 pub gap: Option<Unit>,
17 pub style: Option<MultiColumnLineStyle>,
19}
20
21impl Into<Vec<Style>> for MultiColumnStyle {
22 fn into(self) -> Vec<Style> {
23 let mut styles: Vec<Style> = vec![];
24 option_to_style! {
25 styles, [
26 (ColumnCount, self.count),
27 (ColumnGap, self.gap),
28 (ColumnRuleColor, self.color),
29 (ColumnRuleStyle, self.style),
30 ],
31 }
32
33 styles
34 }
35}