Mercurial > forks > helix
changeset 3801:2505bb1a0d34
Avoid repeatedly loading config
author | Bla? Hrastnik <blaz@mxxn.io> |
---|---|
date | Sat, 19 Nov 2022 15:41:03 +0900 |
parents | 1af705747bfd |
children | 773c3caa8725 |
files | helix-term/src/ui/editor.rs helix-term/src/ui/statusline.rs |
diffstat | 2 files changed, 13 insertions(+), 17 deletions(-) [+] |
line wrap: on
line diff
--- a/helix-term/src/ui/editor.rs Fri Nov 18 22:14:36 2022 -0600 +++ b/helix-term/src/ui/editor.rs Sat Nov 19 15:41:03 2022 +0900 @@ -82,6 +82,7 @@ let inner = view.inner_area(doc); let area = view.area; let theme = &editor.theme; + let config = editor.config(); // DAP: Highlight current stack frame position let stack_frame = editor.debugger.as_ref().and_then(|debugger| { @@ -117,10 +118,10 @@ } } - if is_focused && editor.config().cursorline { + if is_focused && config.cursorline { Self::highlight_cursorline(doc, view, surface, theme); } - if is_focused && editor.config().cursorcolumn { + if is_focused && config.cursorcolumn { Self::highlight_cursorcolumn(doc, view, surface, theme); } @@ -141,22 +142,14 @@ doc, view, theme, - &editor.config().cursor_shape, + &config.cursor_shape, ), )) } else { Box::new(highlights) }; - Self::render_text_highlights( - doc, - view.offset, - inner, - surface, - theme, - highlights, - &editor.config(), - ); + Self::render_text_highlights(doc, view.offset, inner, surface, theme, highlights, &config); Self::render_gutter(editor, doc, view, view.area, surface, theme, is_focused); Self::render_rulers(editor, doc, view, inner, surface, theme);
--- a/helix-term/src/ui/statusline.rs Fri Nov 18 22:14:36 2022 -0600 +++ b/helix-term/src/ui/statusline.rs Sat Nov 19 15:41:03 2022 +0900 @@ -69,7 +69,9 @@ // 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 @@ // 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 @@ // 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 @@ 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 @@ " " } ), - 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")),