mirror of
https://github.com/starship/starship.git
synced 2024-11-26 18:24:28 +01:00
feat: Added ability for setting command duration prefix (#414)
This commit is contained in:
parent
61604a4a8e
commit
7588137b09
@ -257,11 +257,12 @@ running `eval $(starship init $0)`, and then proceed as normal.
|
|||||||
|
|
||||||
### Options
|
### Options
|
||||||
|
|
||||||
| Variable | Default | Description |
|
| Variable | Default | Description |
|
||||||
| ---------- | --------------- | ----------------------------------- |
|
| ---------- | --------------- | ------------------------------------------- |
|
||||||
| `min_time` | `2` | Shortest duration to show time for. |
|
| `min_time` | `2` | Shortest duration to show time for. |
|
||||||
| `style` | `"bold yellow"` | The style for the module. |
|
| `prefix` | `took ` | Prefix to display immediately cmd_duration. |
|
||||||
| `disabled` | `false` | Disables the `cmd_duration` module. |
|
| `style` | `"bold yellow"` | The style for the module. |
|
||||||
|
| `disabled` | `false` | Disables the `cmd_duration` module. |
|
||||||
|
|
||||||
### Example
|
### Example
|
||||||
|
|
||||||
@ -270,6 +271,7 @@ running `eval $(starship init $0)`, and then proceed as normal.
|
|||||||
|
|
||||||
[cmd_duration]
|
[cmd_duration]
|
||||||
min_time = 4
|
min_time = 4
|
||||||
|
prefix = "underwent "
|
||||||
```
|
```
|
||||||
|
|
||||||
## Directory
|
## Directory
|
||||||
|
@ -16,6 +16,11 @@ pub fn module<'a>(context: &'a Context) -> Option<Module<'a>> {
|
|||||||
.parse::<u64>()
|
.parse::<u64>()
|
||||||
.ok()?;
|
.ok()?;
|
||||||
|
|
||||||
|
let prefix = module
|
||||||
|
.config_value_str("prefix")
|
||||||
|
.unwrap_or("took ")
|
||||||
|
.to_owned();
|
||||||
|
|
||||||
let signed_config_min = module.config_value_i64("min_time").unwrap_or(2);
|
let signed_config_min = module.config_value_i64("min_time").unwrap_or(2);
|
||||||
|
|
||||||
/* TODO: Once error handling is implemented, warn the user if their config
|
/* TODO: Once error handling is implemented, warn the user if their config
|
||||||
@ -38,7 +43,10 @@ pub fn module<'a>(context: &'a Context) -> Option<Module<'a>> {
|
|||||||
};
|
};
|
||||||
|
|
||||||
module.set_style(module_color);
|
module.set_style(module_color);
|
||||||
module.new_segment("cmd_duration", &format!("took {}", render_time(elapsed)));
|
module.new_segment(
|
||||||
|
"cmd_duration",
|
||||||
|
&format!("{}{}", prefix, render_time(elapsed)),
|
||||||
|
);
|
||||||
module.get_prefix().set_value("");
|
module.get_prefix().set_value("");
|
||||||
|
|
||||||
Some(module)
|
Some(module)
|
||||||
|
@ -58,3 +58,35 @@ fn config_5s_duration_10s() -> io::Result<()> {
|
|||||||
assert_eq!(expected, actual);
|
assert_eq!(expected, actual);
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn config_1s_duration_prefix_underwent() -> io::Result<()> {
|
||||||
|
let output = common::render_module("cmd_duration")
|
||||||
|
.use_config(toml::toml! {
|
||||||
|
[cmd_duration]
|
||||||
|
prefix = "underwent "
|
||||||
|
})
|
||||||
|
.arg("--cmd-duration=1")
|
||||||
|
.output()?;
|
||||||
|
let actual = String::from_utf8(output.stdout).unwrap();
|
||||||
|
|
||||||
|
let expected = "";
|
||||||
|
assert_eq!(expected, actual);
|
||||||
|
Ok(())
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn config_5s_duration_prefix_underwent() -> io::Result<()> {
|
||||||
|
let output = common::render_module("cmd_duration")
|
||||||
|
.use_config(toml::toml! {
|
||||||
|
[cmd_duration]
|
||||||
|
prefix = "underwent "
|
||||||
|
})
|
||||||
|
.arg("--cmd-duration=5")
|
||||||
|
.output()?;
|
||||||
|
let actual = String::from_utf8(output.stdout).unwrap();
|
||||||
|
|
||||||
|
let expected = format!("{} ", Color::Yellow.bold().paint("underwent 5s"));
|
||||||
|
assert_eq!(expected, actual);
|
||||||
|
Ok(())
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user