mirror of
https://github.com/helix-editor/helix.git
synced 2024-11-22 09:26:19 +04:00
Allow adding prefix to version-control
statusline element
Adds `config.toml` option `editor.statusline.version-control-prefix`, to allow adding a user-defined prefix to the branch name. This can be used to add an icon to the element. As an additional fix, if the HEAD name is empty the version-control element won't get drawn.
This commit is contained in:
parent
107cdf3e43
commit
535e015266
@ -72,6 +72,7 @@ ### `[editor.statusline]` Section
|
|||||||
mode.normal = "NORMAL"
|
mode.normal = "NORMAL"
|
||||||
mode.insert = "INSERT"
|
mode.insert = "INSERT"
|
||||||
mode.select = "SELECT"
|
mode.select = "SELECT"
|
||||||
|
version-control-prefix = "vcs: "
|
||||||
```
|
```
|
||||||
The `[editor.statusline]` key takes the following sub-keys:
|
The `[editor.statusline]` key takes the following sub-keys:
|
||||||
|
|
||||||
@ -84,6 +85,7 @@ ### `[editor.statusline]` Section
|
|||||||
| `mode.normal` | The text shown in the `mode` element for normal mode | `"NOR"` |
|
| `mode.normal` | The text shown in the `mode` element for normal mode | `"NOR"` |
|
||||||
| `mode.insert` | The text shown in the `mode` element for insert mode | `"INS"` |
|
| `mode.insert` | The text shown in the `mode` element for insert mode | `"INS"` |
|
||||||
| `mode.select` | The text shown in the `mode` element for select mode | `"SEL"` |
|
| `mode.select` | The text shown in the `mode` element for select mode | `"SEL"` |
|
||||||
|
| `version-control-prefix` | A prefix for the `version-control` element | `"vcs: "` |
|
||||||
|
|
||||||
The following statusline elements can be configured:
|
The following statusline elements can be configured:
|
||||||
|
|
||||||
|
@ -519,8 +519,13 @@ fn render_version_control<F>(context: &mut RenderContext, write: F)
|
|||||||
.version_control_head()
|
.version_control_head()
|
||||||
.unwrap_or_default()
|
.unwrap_or_default()
|
||||||
.to_string();
|
.to_string();
|
||||||
|
if head.is_empty() {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
write(context, head, None);
|
let config = context.editor.config.load();
|
||||||
|
let prefix = &config.statusline.version_control_prefix;
|
||||||
|
write(context, format!("{prefix}{head}"), None);
|
||||||
}
|
}
|
||||||
|
|
||||||
fn render_register<F>(context: &mut RenderContext, write: F)
|
fn render_register<F>(context: &mut RenderContext, write: F)
|
||||||
|
@ -468,6 +468,7 @@ pub struct StatusLineConfig {
|
|||||||
pub right: Vec<StatusLineElement>,
|
pub right: Vec<StatusLineElement>,
|
||||||
pub separator: String,
|
pub separator: String,
|
||||||
pub mode: ModeConfig,
|
pub mode: ModeConfig,
|
||||||
|
pub version_control_prefix: String,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Default for StatusLineConfig {
|
impl Default for StatusLineConfig {
|
||||||
@ -492,6 +493,7 @@ fn default() -> Self {
|
|||||||
],
|
],
|
||||||
separator: String::from("│"),
|
separator: String::from("│"),
|
||||||
mode: ModeConfig::default(),
|
mode: ModeConfig::default(),
|
||||||
|
version_control_prefix: String::from("vcs: "),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user