diff options
author | Blaž Hrastnik | 2022-11-19 06:41:03 +0000 |
---|---|---|
committer | Blaž Hrastnik | 2022-11-19 06:41:03 +0000 |
commit | a640ab6b1f8aa3d968712acdd085feb48d81feb7 (patch) | |
tree | a96efccfef67d24cedd6e19b12fb50710a340e28 /helix-term/src/ui/statusline.rs | |
parent | 8be2d1dcbfeff88f47b8bfb9685f2ab45a72efb5 (diff) |
Avoid repeatedly loading config
Diffstat (limited to 'helix-term/src/ui/statusline.rs')
-rw-r--r-- | helix-term/src/ui/statusline.rs | 13 |
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")), |