From 937e0ab0a7108611797cb6e2e519f7016099e807 Mon Sep 17 00:00:00 2001 From: Ken Matsui <26405363+ken-matsui@users.noreply.github.com> Date: Wed, 29 Jan 2025 20:22:38 -0500 Subject: [PATCH] Cli: early curLocalShortSize --- src/Cli.cc | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/Cli.cc b/src/Cli.cc index cc9e31b8b..b7db1b789 100644 --- a/src/Cli.cc +++ b/src/Cli.cc @@ -476,6 +476,8 @@ Cli::expandOpts(const std::span args) const noexcept { std::reference_wrapper curLocalOpts = localOpts; const ShortOpts globalShortOpts{ globalOpts }; ShortOpts curLocalShortOpts{ localOpts }; + std::size_t curMaxShortSize = + std::max(globalShortOpts.maxShortSize, curLocalShortOpts.maxShortSize); std::vector expanded; for (std::size_t i = 0; i < args.size(); ++i) { @@ -491,6 +493,9 @@ Cli::expandOpts(const std::span args) const noexcept { curSubcmd = subcmds.at(arg); curLocalOpts = subcmds.at(arg).localOpts; curLocalShortOpts = ShortOpts{ curLocalOpts.get() }; + curMaxShortSize = std::max( + globalShortOpts.maxShortSize, curLocalShortOpts.maxShortSize + ); continue; } @@ -553,10 +558,6 @@ Cli::expandOpts(const std::span args) const noexcept { // "-j1" => ["-j", "1"] // "-vvvrj1" => ["-vv", "-v", "-r", "-j", "1"] else if (arg.starts_with("-")) { - const std::size_t curMaxShortSize = std::max( - globalShortOpts.maxShortSize, curLocalShortOpts.maxShortSize - ); - bool handled = false; std::size_t left = 1; for (; left < arg.size(); ++left) {