commandlineparser / commandlineparser/commandline

How to add constraints to an int option?

Open
#905 1 comment 6 reactions 0 assignees View on GitHub
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.