ndmitchell / cmdargs

Haskell library for command line argument processing
Other
91 stars 12 forks source link

Convert '_' to '-' in values #69

Open sapek opened 5 months ago

sapek commented 5 months ago

When deriving option names from constructors, underscore is converted to '-' using asName function. The same logic should apply when deriving values for options of algebraic types.

A canonical scenario that can't be implemented due to this issue is an option to enable warnings. The almost universal convention for this in compilers is something like:

-Wunused-imports

With cmdargs the best we can do today, at least w/o manually implementing Data instance, is either:

-Wunused_imports

or

--Wunused-imports

I think the fix for this would be to simply replace toLower with asName in reader_ function. Obviously this would be a breaking change.

Would you be interested in this, either as a breaking change, or with a new annotation to enable this behavior?