|
|
|
@ -142,6 +142,9 @@ where
|
|
|
|
|
helix_view::editor::StatusLineElement::FileType => render_file_type,
|
|
|
|
|
helix_view::editor::StatusLineElement::Diagnostics => render_diagnostics,
|
|
|
|
|
helix_view::editor::StatusLineElement::Selections => render_selections,
|
|
|
|
|
helix_view::editor::StatusLineElement::PrimarySelectionLength => {
|
|
|
|
|
render_primary_selection_length
|
|
|
|
|
}
|
|
|
|
|
helix_view::editor::StatusLineElement::Position => render_position,
|
|
|
|
|
helix_view::editor::StatusLineElement::PositionPercentage => render_position_percentage,
|
|
|
|
|
helix_view::editor::StatusLineElement::TotalLineNumbers => render_total_line_numbers,
|
|
|
|
@ -254,6 +257,18 @@ where
|
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
fn render_primary_selection_length<F>(context: &mut RenderContext, write: F)
|
|
|
|
|
where
|
|
|
|
|
F: Fn(&mut RenderContext, String, Option<Style>) + Copy,
|
|
|
|
|
{
|
|
|
|
|
let tot_sel = context.doc.selection(context.view.id).primary().len();
|
|
|
|
|
write(
|
|
|
|
|
context,
|
|
|
|
|
format!(" {} char{} ", tot_sel, if tot_sel == 1 { "" } else { "s" }),
|
|
|
|
|
None,
|
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
fn get_position(context: &RenderContext) -> Position {
|
|
|
|
|
coords_at_pos(
|
|
|
|
|
context.doc.text().slice(..),
|
|
|
|
|