diff --git a/archinstall/tui/menu_item.py b/archinstall/tui/menu_item.py index 741e447d35..6293256c22 100644 --- a/archinstall/tui/menu_item.py +++ b/archinstall/tui/menu_item.py @@ -231,9 +231,18 @@ def set_action_for_all(self, action: Callable[[Any], Any]) -> None: def items(self) -> list[MenuItem]: pattern = self._filter_pattern.lower() items = filter(lambda item: item.is_empty() or pattern in item.text.lower(), self._menu_items) - l_items = list(items) + l_items = sorted(items, key=self._items_score) return l_items + def _items_score(self, item: MenuItem) -> int: + pattern = self._filter_pattern.lower() + if pattern in item.text.lower(): + if item.text.lower().startswith(pattern): + return 0 + else: + return 1 + return 2 + @property def filter_pattern(self) -> str: return self._filter_pattern