From 1b50fbb1ebfe58ad9cd262691b02d198dad29f0b Mon Sep 17 00:00:00 2001 From: etienne-k <2804556+etienne-k@users.noreply.github.com> Date: Sun, 8 May 2022 20:05:40 +0200 Subject: [PATCH] refactor(statusline): Append elements using a consistent API This is a preparation for the configurability which is about to be implemented. --- helix-term/src/ui/statusline.rs | 231 ++++++++++++++++---------------- 1 file changed, 116 insertions(+), 115 deletions(-) diff --git a/helix-term/src/ui/statusline.rs b/helix-term/src/ui/statusline.rs index 2735b51ec..b5678182c 100644 --- a/helix-term/src/ui/statusline.rs +++ b/helix-term/src/ui/statusline.rs @@ -1,8 +1,4 @@ -use helix_core::{ - coords_at_pos, - encoding::{self, Encoding}, - Position, -}; +use helix_core::{coords_at_pos, encoding}; use helix_view::{ document::{Mode, SCRATCH_BUFFER_NAME}, graphics::Rect, @@ -15,6 +11,7 @@ use crate::ui::ProgressSpinners; use tui::buffer::Buffer as Surface; use tui::text::{Span, Spans}; +/// A status line element contains the information about a component which can be displayed in the status line. struct StatusLineElement { /// The element pub text: String, @@ -24,6 +21,22 @@ struct StatusLineElement { pub style: Option