From 26c22693023a699bcc9ebc45f2b25ffb5c02991e Mon Sep 17 00:00:00 2001 From: sxyazi Date: Sat, 25 Jan 2025 00:18:45 +0800 Subject: [PATCH] Fix --- yazi-fm/src/tasks/tasks.rs | 29 +++++++++-------------------- 1 file changed, 9 insertions(+), 20 deletions(-) diff --git a/yazi-fm/src/tasks/tasks.rs b/yazi-fm/src/tasks/tasks.rs index bd43c4fa..41f5f0dc 100644 --- a/yazi-fm/src/tasks/tasks.rs +++ b/yazi-fm/src/tasks/tasks.rs @@ -1,5 +1,4 @@ use ratatui::{buffer::Buffer, layout::{self, Alignment, Constraint, Rect}, text::{Line, Text}, widgets::{Block, BorderType, List, Padding, Widget}}; -use textwrap::Options; use yazi_config::THEME; use yazi_core::tasks::TASKS_PERCENT; @@ -42,27 +41,17 @@ impl Widget for Tasks<'_> { .border_style(THEME.tasks.border); block.clone().render(area, buf); + let inner = block.inner(area); let tasks = &self.cx.tasks; - let items = tasks - .summaries - .iter() - .take(area.height.saturating_sub(2) as usize) - .enumerate() - .map(|(i, v)| { - let line_otions = Options::new(area.width as usize).subsequent_indent(" "); - let lines = textwrap::wrap(&v.name, line_otions) - .iter() - .map(|s| Line::from(s.clone())) - .collect::>(); - - let mut item = Text::from(lines); - if i == tasks.cursor { - item = item.style(THEME.tasks.hovered); - } - item - }) - .collect::>(); + let items = tasks.summaries.iter().take(inner.height as usize).enumerate().map(|(i, v)| { + let mut item = + Text::from_iter(textwrap::wrap(&v.name, inner.width as usize).into_iter().map(Line::from)); + if i == tasks.cursor { + item = item.style(THEME.tasks.hovered); + } + item + }); List::new(items).render(block.inner(area), buf); } }