summaryrefslogtreecommitdiff
path: root/helix-term/src/ui/statusline.rs
diff options
context:
space:
mode:
authorBlaž Hrastnik2022-11-19 06:41:03 +0000
committerBlaž Hrastnik2022-11-19 06:41:03 +0000
commita640ab6b1f8aa3d968712acdd085feb48d81feb7 (patch)
treea96efccfef67d24cedd6e19b12fb50710a340e28 /helix-term/src/ui/statusline.rs
parent8be2d1dcbfeff88f47b8bfb9685f2ab45a72efb5 (diff)
Avoid repeatedly loading config
Diffstat (limited to 'helix-term/src/ui/statusline.rs')
-rw-r--r--helix-term/src/ui/statusline.rs13
1 files changed, 8 insertions, 5 deletions
diff --git a/helix-term/src/ui/statusline.rs b/helix-term/src/ui/statusline.rs
index 6ea0570d..501faea3 100644
--- a/helix-term/src/ui/statusline.rs
+++ b/helix-term/src/ui/statusline.rs
@@ -69,7 +69,9 @@ pub fn render(context: &mut RenderContext, viewport: Rect, surface: &mut Surface
// Left side of the status line.
- let element_ids = &context.editor.config().statusline.left;
+ let config = context.editor.config();
+
+ let element_ids = &config.statusline.left;
element_ids
.iter()
.map(|element_id| get_render_function(*element_id))
@@ -84,7 +86,7 @@ pub fn render(context: &mut RenderContext, viewport: Rect, surface: &mut Surface
// Right side of the status line.
- let element_ids = &context.editor.config().statusline.right;
+ let element_ids = &config.statusline.right;
element_ids
.iter()
.map(|element_id| get_render_function(*element_id))
@@ -102,7 +104,7 @@ pub fn render(context: &mut RenderContext, viewport: Rect, surface: &mut Surface
// Center of the status line.
- let element_ids = &context.editor.config().statusline.center;
+ let element_ids = &config.statusline.center;
element_ids
.iter()
.map(|element_id| get_render_function(*element_id))
@@ -160,7 +162,8 @@ where
F: Fn(&mut RenderContext, String, Option<Style>) + Copy,
{
let visible = context.focused;
- let modenames = &context.editor.config().statusline.mode;
+ let config = context.editor.config();
+ let modenames = &config.statusline.mode;
write(
context,
format!(
@@ -176,7 +179,7 @@ where
" "
}
),
- if visible && context.editor.config().color_modes {
+ if visible && config.color_modes {
match context.editor.mode() {
Mode::Insert => Some(context.editor.theme.get("ui.statusline.insert")),
Mode::Select => Some(context.editor.theme.get("ui.statusline.select")),