Canop / termimad

A library to display rich (Markdown) snippets and texts in a rust terminal application
MIT License
914 stars 31 forks source link

Question: Indented output to terminal? #20

Open bradwood opened 4 years ago

bradwood commented 4 years ago

Hi,

Is there a way to print rendered markdown to the terminal with everything indented, say a few spaces? I don't want to use an alternate screen, or scrollable frame, just the text printed directly to the terminal.

This is what I have so far:

let desc_text =  i.description.unwrap();
    let mut area = Area::full_screen();
    area.pad(6,0);
    let md = skin.area_text(desc_text.as_str(), &area);
    print!("{}", &md);

This renders the text 6 characters narrower than the terminal width, now all I need to do is figure out how to indent this by 3 characters..

Any help is much appreciated. Thanks.

Canop commented 4 years ago

I don't think there's currently a solution.

This looks like a good idea to support this. I'll have a look (but not immediately).

bradwood commented 4 years ago

i found a crate called indented and was going to try that. The alternative (hacky) solution is to just do a regex replacement of \n with \n<space><space><space>...

What do you think?

bradwood commented 4 years ago

I ended up using this:

https://docs.rs/textwrap/0.11.0/src/textwrap/indentation.rs.html#50-60