mirror of
https://github.com/Llewellynvdm/starship.git
synced 2024-09-29 13:39:10 +00:00
32 lines
590 B
Rust
32 lines
590 B
Rust
use crate::modules;
|
|
use crate::Segment;
|
|
use clap::ArgMatches;
|
|
|
|
pub fn prompt(args: ArgMatches) {
|
|
let default_prompt = vec!["char"];
|
|
|
|
for module in default_prompt {
|
|
let segment = modules::handle(module, &args);
|
|
print_segment(segment);
|
|
}
|
|
}
|
|
|
|
fn print_segment(segment: Segment) {
|
|
let Segment {
|
|
prefix,
|
|
value,
|
|
style,
|
|
suffix,
|
|
} = segment;
|
|
|
|
if let Some(prefix) = prefix {
|
|
print_segment(*prefix);
|
|
}
|
|
|
|
print!("{}", style.paint(value));
|
|
|
|
if let Some(suffix) = suffix {
|
|
print_segment(*suffix);
|
|
}
|
|
}
|