Commit Graph

13 Commits

Author SHA1 Message Date
Patrick Stevens
67e051b6b3 Add --no- prefix for bools (#455)
Implements support for --no- prefix negation on boolean and flag DU fields
when marked with [<ArgumentNegateWithPrefix>]. This allows both --flag and
--no-flag forms to be accepted, with --no- variants negating the value.

Changes:
- Extend ArgParserGenerator to generate --no- prefix handling
- Add conflict detection for overlapping --no- prefixed arguments
- Update help text to display both forms (e.g., --verbose / --no-verbose)
- Add test examples in ArgParserNegationTests.fs demonstrating:
  - Boolean field negation
  - Flag DU negation
  - Multiple ArgumentLongForm with negation
  - Combined features (defaults, help text)

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-19 07:53:15 +00:00
Patrick Stevens
1b85182b9d GenerateCapturingMock that captures calls made to it (#425) 2025-09-18 15:42:10 +01:00
Patrick Stevens
0a1783d6ed Support [<BasePath>] (#263) 2024-09-15 17:38:03 +00:00
Patrick Stevens
5748ac3d5b Allow consuming *all* args as positionals, not just ones which look like --foo (#255) 2024-09-11 19:00:04 +00:00
Patrick Stevens
8ae749c529 Add ArgumentLongForm (#244) 2024-09-05 21:26:52 +01:00
Patrick Stevens
e4cbab3209 Implement [<ArgumentFlag>] for two-case DUs (#242) 2024-09-04 21:48:36 +00:00
Patrick Stevens
417ca45c37 Basic arg parser (#216) 2024-08-26 11:54:35 +01:00
Patrick Stevens
4b9f63d374 Express HttpClient as extension method (#140) 2024-05-24 22:09:33 +01:00
Patrick Stevens
c51038448a Be more forgiving about the source of the attributes (#129) 2024-04-29 20:46:14 +01:00
Patrick Stevens
09780efb07 Add RestEase attributes (#128) 2024-04-29 17:51:26 +01:00
Patrick Stevens
3ea1c7ab79 Add catamorphism generator (#97) 2024-02-17 23:16:54 +00:00
Patrick Stevens
c3af52596f Permit public mocks (#94) 2024-02-13 19:58:30 +00:00
Patrick Stevens
7ef393a28d Split attributes into their own assembly (#86) 2024-02-07 01:27:57 +00:00