1use scriba::{Format, Output, Styled, TextStyle, Ui};
12
13fn main() -> scriba::Result<()> {
14 println!("=== TEXT FORMAT (ANSI codes) ===\n");
16
17 let ui_text = Ui::new().with_format(Format::Text);
18
19 let output_text = Output::new()
20 .heading(1, "Text Styling Examples")
21 .styled_paragraph(Styled::new("This is bold text", TextStyle::Bold))
22 .styled_paragraph(Styled::new("This is italic text", TextStyle::Italic))
23 .styled_paragraph(Styled::new("This is bold and italic", TextStyle::BoldItalic))
24 .styled_paragraph(Styled::new("This is underlined", TextStyle::Underline))
25 .styled_paragraph(Styled::new("This is strikethrough", TextStyle::Strikethrough))
26 .styled_paragraph(Styled::new("This is dimmed/faded", TextStyle::Dim));
27
28 ui_text.print(&output_text)?;
29
30 println!("\n=== MARKDOWN FORMAT ===\n");
32
33 let ui_md = Ui::new().with_format(Format::Markdown);
34
35 let output_md = Output::new()
36 .heading(1, "Text Styling in Markdown")
37 .styled_paragraph(Styled::new("This is bold", TextStyle::Bold))
38 .styled_paragraph(Styled::new("This is italic", TextStyle::Italic))
39 .styled_paragraph(Styled::new("This is bold italic", TextStyle::BoldItalic))
40 .styled_paragraph(Styled::new("This has strikethrough", TextStyle::Strikethrough))
41 .styled_paragraph(Styled::new("This is underlined", TextStyle::Underline));
42
43 ui_md.print(&output_md)?;
44
45 println!("\n=== DIRECT API ===\n");
47
48 let bold_styled = Styled::new("Warning: check your config", TextStyle::Bold);
49 let italic_styled = Styled::new("Optional: skip if unneeded", TextStyle::Italic);
50 let dim_styled = Styled::new("Hint: use --verbose for more detail", TextStyle::Dim);
51
52 println!("ANSI:");
53 println!(" {}", bold_styled.render_ansi());
54 println!(" {}", italic_styled.render_ansi());
55 println!(" {}", dim_styled.render_ansi());
56
57 println!("\nMarkdown:");
58 println!(" {}", bold_styled.render_markdown());
59 println!(" {}", italic_styled.render_markdown());
60 println!(" {}", dim_styled.render_markdown());
61
62 Ok(())
63}