mirror of
https://github.com/starship/starship.git
synced 2026-06-23 02:05:51 +07:00
feat: Add configuration for add_newline (#116)
- Replace TableExt with a Config trait that extends toml::value::Table Add configuration for add_newline - add_newline is a root-level configuration value. When set to false, the initial newline before the prompt is removed.
This commit is contained in:
@@ -9,8 +9,8 @@ lazy_static! {
|
||||
static ref EMPTY_CONFIG: PathBuf = MANIFEST_DIR.join("empty_config.toml");
|
||||
}
|
||||
|
||||
/// Run an instance of starship
|
||||
fn run_starship() -> process::Command {
|
||||
/// Render the full starship prompt
|
||||
pub fn render_prompt() -> process::Command {
|
||||
let mut command = process::Command::new("./target/debug/starship");
|
||||
|
||||
command
|
||||
@@ -22,6 +22,7 @@ fn run_starship() -> process::Command {
|
||||
command
|
||||
}
|
||||
|
||||
/// Render a specific starship module by name
|
||||
pub fn render_module(module_name: &str) -> process::Command {
|
||||
let mut command = process::Command::new("./target/debug/starship");
|
||||
|
||||
|
||||
@@ -32,3 +32,24 @@ fn disabled_module() -> io::Result<()> {
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn add_newline_configuration() -> io::Result<()> {
|
||||
// Start prompt with newline
|
||||
let default_output = common::render_prompt().output()?;
|
||||
let actual = String::from_utf8(default_output.stdout).unwrap();
|
||||
let expected = actual.trim_start();
|
||||
assert_ne!(actual, expected);
|
||||
|
||||
// Start prompt without newline
|
||||
let output = common::render_prompt()
|
||||
.use_config(toml::toml! {
|
||||
add_newline = false
|
||||
})
|
||||
.output()?;
|
||||
let actual = String::from_utf8(output.stdout).unwrap();
|
||||
let expected = actual.trim_start();
|
||||
assert_eq!(expected, actual);
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user