mirror of
https://github.com/Llewellynvdm/starship.git
synced 2024-12-01 01:04:00 +00:00
Add a new line before the prompt
This commit is contained in:
parent
0e0bed0837
commit
d58ea0659b
@ -66,6 +66,11 @@ fn get_repo_root(repo: Repository) -> PathBuf {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// Truncate a path to a predefined number of path components
|
/// Truncate a path to a predefined number of path components
|
||||||
|
///
|
||||||
|
/// Trim the path in the prompt to only have the last few paths, set by `length`.
|
||||||
|
/// This function also serves to replace the top-level path of the prompt.
|
||||||
|
/// This can be used to replace the path to a git repo with only the repo
|
||||||
|
/// directory name.
|
||||||
fn truncate_path(
|
fn truncate_path(
|
||||||
length: &usize,
|
length: &usize,
|
||||||
full_path: &PathBuf,
|
full_path: &PathBuf,
|
||||||
@ -91,10 +96,10 @@ fn truncate_path(
|
|||||||
}
|
}
|
||||||
|
|
||||||
format!(
|
format!(
|
||||||
"{}{}{}",
|
"{replacement}{separator}{path}",
|
||||||
top_level_replacement,
|
replacement = top_level_replacement,
|
||||||
std::path::MAIN_SEPARATOR,
|
separator = std::path::MAIN_SEPARATOR,
|
||||||
full_path
|
path = full_path
|
||||||
.iter()
|
.iter()
|
||||||
.skip(top_level_path_depth)
|
.skip(top_level_path_depth)
|
||||||
.collect::<PathBuf>()
|
.collect::<PathBuf>()
|
||||||
|
12
src/print.rs
12
src/print.rs
@ -1,15 +1,23 @@
|
|||||||
|
use std::io::{self, Write};
|
||||||
|
use clap::ArgMatches;
|
||||||
|
|
||||||
use crate::modules;
|
use crate::modules;
|
||||||
use crate::modules::Segment;
|
use crate::modules::Segment;
|
||||||
use clap::ArgMatches;
|
|
||||||
|
|
||||||
pub fn prompt(args: ArgMatches) {
|
pub fn prompt(args: ArgMatches) {
|
||||||
let default_prompt = vec!["directory", "line_break", "character"];
|
let default_prompt = vec!["directory", "line_break", "character"];
|
||||||
|
|
||||||
|
let stdout = io::stdout();
|
||||||
|
let mut handle = stdout.lock();
|
||||||
|
|
||||||
|
// Write a new line before the prompt
|
||||||
|
write!(handle, "{}", "\n").unwrap();
|
||||||
|
|
||||||
default_prompt
|
default_prompt
|
||||||
.into_iter()
|
.into_iter()
|
||||||
.map(|module| modules::handle(module, &args))
|
.map(|module| modules::handle(module, &args))
|
||||||
.map(stringify_segment)
|
.map(stringify_segment)
|
||||||
.for_each(|segment_string| print!("{}", segment_string));
|
.for_each(|segment_string| write!(handle, "{}", segment_string).unwrap());
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Create a string with the formatted contents of a segment
|
/// Create a string with the formatted contents of a segment
|
||||||
|
Loading…
Reference in New Issue
Block a user