From 54d38f53a3d20c9a0e6485393e3f301eddf11d89 Mon Sep 17 00:00:00 2001 From: caomengxuan666 <2507560089@qq.com> Date: Fri, 21 Aug 2026 18:04:56 +0800 Subject: [PATCH] fix wpm help encoding and command list --- src/commands/wpm.cpp | 3 +++ src/core/cmd_meta.cppm | 17 +++++++++++++---- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/src/commands/wpm.cpp b/src/commands/wpm.cpp index ce36e99..859b9c5 100644 --- a/src/commands/wpm.cpp +++ b/src/commands/wpm.cpp @@ -3169,6 +3169,9 @@ auto print_usage() -> int { " export [--plain] print installed package names for " "profiles\n" " restore install packages from a plain list\n" + " outdated list installed packages with updates\n" + " uninstall|remove|erase ...\n" + " uninstall one or more packages\n" " update|upgrade winuxcmd update WinuxCmd from local index\n\n" "Options:\n" " -r, --root manage a specific WinuxCmd root\n" diff --git a/src/core/cmd_meta.cppm b/src/core/cmd_meta.cppm index e4ff00a..8bd4bca 100644 --- a/src/core/cmd_meta.cppm +++ b/src/core/cmd_meta.cppm @@ -514,11 +514,20 @@ export auto format_custom_help(std::string_view name, std::string_view help) std::string_view content = indented ? line.substr(indent) : line; if (first_line) { - const size_t separator = content.find_first_of("::"); + const size_t ascii_separator = content.find(':'); + const size_t utf8_separator = content.find(":"); + size_t separator = ascii_separator; + size_t separator_size = 1; + if (utf8_separator != std::string_view::npos && + (separator == std::string_view::npos || + utf8_separator < separator)) { + separator = utf8_separator; + separator_size = std::string_view(":").size(); + } if (separator != std::string_view::npos) { - append_styled(result, content.substr(0, separator + 1), section_style, - color); - result.append(content.substr(separator + 1)); + append_styled(result, content.substr(0, separator + separator_size), + section_style, color); + result.append(content.substr(separator + separator_size)); } else { append_styled(result, content, title_style, color); }