Skip to content

Peropely determine allowed values for multiple values arguments#553

Merged
natemcmaster merged 1 commit intonatemcmaster:mainfrom
sensslen:main
Dec 27, 2025
Merged

Peropely determine allowed values for multiple values arguments#553
natemcmaster merged 1 commit intonatemcmaster:mainfrom
sensslen:main

Conversation

@sensslen
Copy link
Contributor

No description provided.

@github-actions
Copy link

This pull request appears to be stale. Please comment if you believe this should remain open and reviewed. If there are no updates, it will be closed in 14 days.

@github-actions github-actions bot added the stale label Nov 15, 2025
@sensslen
Copy link
Contributor Author

I think this is still valid

@github-actions github-actions bot removed the stale label Nov 16, 2025
@natemcmaster natemcmaster merged commit f1a8455 into natemcmaster:main Dec 27, 2025
@natemcmaster
Copy link
Owner

Thanks!

natemcmaster added a commit that referenced this pull request Dec 27, 2025
This fixes several issues introduced in f1a8455:

1. ReflectionHelper.IsEnumerableType - The implementation had bugs:
   - type.IsAssignableTo(typeof(IEnumerable<>)) doesn't work for open generics
   - type.GenericTypeArguments[1] was wrong (arrays have element at index 0)
   Rewrote to properly handle arrays and generic types.

2. DefaultHelpTextGenerator.ExtractNamesFromEnum - Used wrong variable
   name (wrappedType2 instead of wrappedEnumerableType).

3. ValueParserProvider.GetParserImpl - Added array type support so
   app.Option<SomeEnum[]>() works with MultipleValue options.

4. Test expectation - Fixed expected help text format for MultipleValue
   options (--enumOpt5 <E> not --enumOpt5[:<E>]).

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
natemcmaster added a commit that referenced this pull request Dec 27, 2025
This fixes several issues introduced in f1a8455:

1. ReflectionHelper.IsEnumerableType - The implementation had bugs:
   - type.IsAssignableTo(typeof(IEnumerable<>)) doesn't work for open generics
   - type.GenericTypeArguments[1] was wrong (arrays have element at index 0)
   Rewrote to properly handle arrays and generic types.

2. DefaultHelpTextGenerator.ExtractNamesFromEnum - Used wrong variable
   name (wrappedType2 instead of wrappedEnumerableType).

3. ValueParserProvider.GetParserImpl - Added array type support so
   app.Option<SomeEnum[]>() works with MultipleValue options.

4. Test expectation - Fixed expected help text format for MultipleValue
   options (--enumOpt5 <E> not --enumOpt5[:<E>]).

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
natemcmaster added a commit that referenced this pull request Dec 27, 2025
* fix: Correct bugs in multiple value enum option help text (#553)

This fixes several issues introduced in f1a8455:

1. ReflectionHelper.IsEnumerableType - The implementation had bugs:
   - type.IsAssignableTo(typeof(IEnumerable<>)) doesn't work for open generics
   - type.GenericTypeArguments[1] was wrong (arrays have element at index 0)
   Rewrote to properly handle arrays and generic types.

2. DefaultHelpTextGenerator.ExtractNamesFromEnum - Used wrong variable
   name (wrappedType2 instead of wrappedEnumerableType).

3. ValueParserProvider.GetParserImpl - Added array type support so
   app.Option<SomeEnum[]>() works with MultipleValue options.

4. Test expectation - Fixed expected help text format for MultipleValue
   options (--enumOpt5 <E> not --enumOpt5[:<E>]).

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* fix: update .NET settings in CI builds

* fix: add missing test SDK package and update analyzer references

The Hosting.CommandLine.Tests project was missing the Microsoft.NET.Test.Sdk
package, causing test host failures with Castle.Core dependency resolution
errors. Also moved package references from Directory.Build.targets into
individual project files and updated analyzer versions.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants