@@ -293,10 +293,11 @@ function consumeRootLogLevelToken(args: readonly string[], index: number): numbe
|
293 | 293 | return 0; |
294 | 294 | } |
295 | 295 | |
296 | | -export function normalizeRootNoColorArgv( |
297 | | -argv: string[], |
298 | | -options: NormalizeRootNoColorArgvOptions = {}, |
299 | | -): string[] { |
| 296 | +function splitRootOptionPrefix(argv: string[]): { |
| 297 | +prefix: string[]; |
| 298 | +rootPrefix: string[]; |
| 299 | +remainingArgs: string[]; |
| 300 | +} { |
300 | 301 | const prefix = argv.slice(0, 2); |
301 | 302 | const args = argv.slice(2); |
302 | 303 | let rootPrefixEnd = 0; |
@@ -312,9 +313,18 @@ export function normalizeRootNoColorArgv(
|
312 | 313 | rootPrefixEnd = index + consumed; |
313 | 314 | index += consumed - 1; |
314 | 315 | } |
| 316 | +return { |
| 317 | + prefix, |
| 318 | +rootPrefix: args.slice(0, rootPrefixEnd), |
| 319 | +remainingArgs: args.slice(rootPrefixEnd), |
| 320 | +}; |
| 321 | +} |
315 | 322 | |
316 | | -const rootPrefix = args.slice(0, rootPrefixEnd); |
317 | | -const remainingArgs = args.slice(rootPrefixEnd); |
| 323 | +export function normalizeRootNoColorArgv( |
| 324 | +argv: string[], |
| 325 | +options: NormalizeRootNoColorArgvOptions = {}, |
| 326 | +): string[] { |
| 327 | +const { prefix, rootPrefix, remainingArgs } = splitRootOptionPrefix(argv); |
318 | 328 | const movedNoColorArgs: string[] = []; |
319 | 329 | const nextArgs: string[] = []; |
320 | 330 | for (let index = 0; index < remainingArgs.length; index += 1) { |
@@ -349,24 +359,7 @@ export function normalizeRootLogLevelArgv(
|
349 | 359 | argv: string[], |
350 | 360 | options: NormalizeRootLogLevelArgvOptions = {}, |
351 | 361 | ): string[] { |
352 | | -const prefix = argv.slice(0, 2); |
353 | | -const args = argv.slice(2); |
354 | | -let rootPrefixEnd = 0; |
355 | | -for (let index = 0; index < args.length; index += 1) { |
356 | | -const arg = args[index]; |
357 | | -if (!arg || arg === FLAG_TERMINATOR) { |
358 | | -break; |
359 | | -} |
360 | | -const consumed = consumeRootOptionToken(args, index); |
361 | | -if (consumed <= 0) { |
362 | | -break; |
363 | | -} |
364 | | -rootPrefixEnd = index + consumed; |
365 | | -index += consumed - 1; |
366 | | -} |
367 | | - |
368 | | -const rootPrefix = args.slice(0, rootPrefixEnd); |
369 | | -const remainingArgs = args.slice(rootPrefixEnd); |
| 362 | +const { prefix, rootPrefix, remainingArgs } = splitRootOptionPrefix(argv); |
370 | 363 | const movedLogLevelArgs: string[] = []; |
371 | 364 | const nextArgs: string[] = []; |
372 | 365 | for (let index = 0; index < remainingArgs.length; index += 1) { |
|