commandlineparser / commandlineparser/commandline
How to add constraints to an int option?
- Dominant language
- C#
- Stars
- 4.8k
- Forks
- 478
- PR merge metrics
- No merged PRs in 30d
Description
Is it possible to set constraints to an int option so that it have min and max allowed values? I think that's a pretty common scenario, but the following fails:
```csharp
[Option('q', "quality", Default = 80, Min = 1, Max = 100)]
public int Quality { get; set; }
```
With this exception: `System.InvalidOperationException: Scalar option specifications do not support range specification.`
If the library does not provide this functionality how would I implement it on my own and still play nicely with the auto help and error messages that the library automatically outputs on invalid input?
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by tracing the Option attribute and the scalar option specification path that raises the range-specification exception. Then inspect how the library generates help and invalid-input errors; done means integer min/max constraints are supported while those existing outputs remain consistent.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp
- Domain
- cli
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100