diff --git a/src/core.rs b/src/core.rs index 12f57689a..2fef21869 100644 --- a/src/core.rs +++ b/src/core.rs @@ -20,6 +20,7 @@ pub struct Core { icons: Icons, //display: Display, colors: Colors, + sorter: sort::Sorter, } impl Core { @@ -59,11 +60,14 @@ impl Core { inner_flags.layout = Layout::OneLine; }; + let sorter = sort::create_sorter(&flags); + Self { flags, //display: Display::new(inner_flags), colors: Colors::new(color_theme), icons: Icons::new(icon_theme), + sorter, } } @@ -124,8 +128,7 @@ impl Core { } fn sort(&self, metas: &mut Vec) { - let sorter = sort::create_sorter(&self.flags); - metas.sort_unstable_by(|a, b| (sorter)(a, b)); + metas.sort_unstable_by(|a, b| (self.sorter)(a, b)); for meta in metas { if let Some(ref mut content) = meta.content {