fix(find): keep unknown-flag errors stable when next arg is another flag#2360
Open
mimilovesevelyn wants to merge 1 commit intospf13:mainfrom
Open
fix(find): keep unknown-flag errors stable when next arg is another flag#2360mimilovesevelyn wants to merge 1 commit intospf13:mainfrom
mimilovesevelyn wants to merge 1 commit intospf13:mainfrom
Conversation
|
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Fixes command/flag discovery so unknown flags do not consume subsequent flag tokens as their values.
Problem
When scanning args in Find/stripFlags, unknown flags that looked like value-taking flags could incorrectly consume the next token even when that token was itself another flag. This could change the resulting error to an unrelated command parse error (e.g.
unknown command "foo") instead of the expectedunknown flagerror.Root cause
The scanner consumed the next arg for --flag value and -f value patterns based only on NoOptDefVal checks, without confirming whether the flag actually exists when deciding to consume the next token.
Fix
Files changed
Test notes
Go toolchain is unavailable in this execution environment (go/gofmt not found), so tests could not be run locally here. The PR includes a focused regression test case so CI can validate behavior.