fix: re-add add_newline to root config (#1598)

This commit is contained in:
Matan Kushner 2020-08-18 12:58:29 -04:00 committed by GitHub
parent 8c48e0f707
commit 09672eeea7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 12 additions and 14 deletions

View File

@ -1,12 +1,5 @@
# Configuration # Configuration
::: tip
🔥 Configuration is currently being worked on.
Many new configuration options will be available in coming releases.
:::
To get started configuring starship, create the following file: `~/.config/starship.toml`. To get started configuring starship, create the following file: `~/.config/starship.toml`.
```sh ```sh
@ -14,10 +7,9 @@ mkdir -p ~/.config && touch ~/.config/starship.toml
``` ```
All configuration for starship is done in this [TOML](https://github.com/toml-lang/toml) file: All configuration for starship is done in this [TOML](https://github.com/toml-lang/toml) file:
```toml ```toml
# Don't print a new line at the start of the prompt # Don't print a new line at the start of the prompt
format = "$all" add_newline = false
# Replace the "" symbol in the prompt with "➜" # Replace the "" symbol in the prompt with "➜"
[character] # The name of the module we are configuring is "character" [character] # The name of the module we are configuring is "character"
@ -147,15 +139,13 @@ This is the list of prompt-wide configuration options.
| -------------- | ------------------------------ | ----------------------------------------------------- | | -------------- | ------------------------------ | ----------------------------------------------------- |
| `format` | [link](#default-prompt-format) | Configure the format of the prompt. | | `format` | [link](#default-prompt-format) | Configure the format of the prompt. |
| `scan_timeout` | `30` | Timeout for starship to scan files (in milliseconds). | | `scan_timeout` | `30` | Timeout for starship to scan files (in milliseconds). |
| `add_newline` | `true` | Add a new line before the start of the prompt. |
### Example ### Example
```toml ```toml
# ~/.config/starship.toml # ~/.config/starship.toml
# Disable the newline at the start of the prompt
format = "$all"
# Use custom format # Use custom format
format = """ format = """
[┌───────────────────>](bold green) [┌───────────────────>](bold green)
@ -164,6 +154,9 @@ format = """
# Wait 10 milliseconds for starship to check files under the current directory. # Wait 10 milliseconds for starship to check files under the current directory.
scan_timeout = 10 scan_timeout = 10
# Disable the newline at the start of the prompt
add_newline = false
``` ```
### Default Prompt Format ### Default Prompt Format
@ -171,7 +164,7 @@ scan_timeout = 10
The default `format` is used to define the format of the prompt, if empty or no `format` is provided. The default is as shown: The default `format` is used to define the format of the prompt, if empty or no `format` is provided. The default is as shown:
```toml ```toml
format = "\n$all" format = "$all"
# Which is equivalent to # Which is equivalent to
format = """ format = """

View File

@ -6,6 +6,7 @@ use starship_module_config_derive::ModuleConfig;
pub struct StarshipRootConfig<'a> { pub struct StarshipRootConfig<'a> {
pub format: &'a str, pub format: &'a str,
pub scan_timeout: u64, pub scan_timeout: u64,
pub add_newline: bool,
} }
// List of default prompt order // List of default prompt order
@ -70,8 +71,9 @@ pub const PROMPT_ORDER: &[&str] = &[
impl<'a> RootModuleConfig<'a> for StarshipRootConfig<'a> { impl<'a> RootModuleConfig<'a> for StarshipRootConfig<'a> {
fn new() -> Self { fn new() -> Self {
StarshipRootConfig { StarshipRootConfig {
format: "\n$all", format: "$all",
scan_timeout: 30, scan_timeout: 30,
add_newline: true,
} }
} }
} }

View File

@ -72,6 +72,9 @@ pub fn get_prompt(context: Context) -> String {
); );
let module_strings = root_module.ansi_strings_for_shell(context.shell); let module_strings = root_module.ansi_strings_for_shell(context.shell);
if config.add_newline {
writeln!(buf).unwrap();
}
write!(buf, "{}", ANSIStrings(&module_strings)).unwrap(); write!(buf, "{}", ANSIStrings(&module_strings)).unwrap();
buf buf