#line-string #line #string #multiple #first-line

pure_lines

A tool that beautify multiple lines

2 unstable releases

0.2.0 Nov 5, 2021
0.1.0 Nov 4, 2021

#9 in #first-line

MIT license

8KB
91 lines

pure_lines

A tool that beautify multiple lines.

  • Trim first line if empty
  • Trim min indent

Problem

What you need str:

hello
world

You had to do:

let s = "hello
world";
println!("{}",s);

Now you can:

let s = "
    hello
    world";
println!("{}",pure_lines::pure(s));

Example

Basic Example

use pure_lines;

fn main(){
    let a = "
    hello
    world";
    println!("==============");
    println!("before:");
    println!("{}",&a);
    println!("==============");
    let s = pure_lines::pure(a);
    println!("after:");
    println!("{}",s);
    println!("==============");

    // Output:
    // ==============
    // before:
    //
    //     hello
    //     world
    // ==============
    // after:
    // hello
    // world
    // ==============
}

Example with prefix

use pure_lines;

fn main(){
    let a = "
    hello
    world";
    println!("==============");
    println!("before:");
    println!("{}",&a);
    println!("==============");
    let s = pure_lines::pure_with(a,"> ");
    println!("after:");
    println!("{}",s);
    println!("==============");

    // Output:
    // ==============
    // before:
    //
    //     hello
    //     world
    // ==============
    // after:
    // > hello
    // > world
    // ==============
}

Advance

If you want your code more faster, using the quick feature. quick feature trim indent based on the first line which is not empty.

⚠Note: make sure the after lines indent must bigger than the first,or you will lose some string.

your Cargo.toml could look like this:

[dependencies]
pure_lines = { version = "0.2.0", features = ["quick"] }

No runtime deps