builder #10

Merged
navicore merged 1 commit from builder into main 2025-06-29 00:36:57 +00:00
navicore commented 2025-06-29 00:30:01 +00:00 (Migrated from github.com)
  1. Type-specific flag constructors (api-1) ✓
  • Added Flag::bool(), Flag::int(), Flag::float(), Flag::string(), Flag::string_slice(), Flag::choice(), Flag::range(), Flag::file(), and
    Flag::directory() methods
  • Added type-specific default setters: default_bool(), default_int(), default_float(), and default_str()
  1. Type-safe flag access methods (api-2) ✓
  • Added to Context: flag_bool(), flag_int(), flag_float(), flag_str_or(), flag_bool_or(), flag_int_or(), and flag_float_or()
  • These provide ergonomic, type-safe access to flag values with automatic parsing
  1. Inline completion support for flags (api-3) ✓
  • Added completion field to Flag struct with custom Clone implementation
  • Added Flag::completion() builder method to attach completion functions directly to flags
  • Modified command completion logic to check flag's own completion function first
  • Created flag_completion_demo.rs example
  1. Bulk flag/subcommand methods (api-4) ✓
  • Added CommandBuilder::flags() to add multiple flags at once
  • Added CommandBuilder::subcommands() to add multiple subcommands at once
  • Makes building complex CLIs more concise
  1. Examples demonstrating improved API (api-5) ✓
  • Created flag_completion_demo.rs - demonstrates inline flag completions
  • Created builder_api_demo.rs - comprehensive example showing all improvements
1. Type-specific flag constructors (api-1) ✓ - Added Flag::bool(), Flag::int(), Flag::float(), Flag::string(), Flag::string_slice(), Flag::choice(), Flag::range(), Flag::file(), and Flag::directory() methods - Added type-specific default setters: default_bool(), default_int(), default_float(), and default_str() 2. Type-safe flag access methods (api-2) ✓ - Added to Context: flag_bool(), flag_int(), flag_float(), flag_str_or(), flag_bool_or(), flag_int_or(), and flag_float_or() - These provide ergonomic, type-safe access to flag values with automatic parsing 3. Inline completion support for flags (api-3) ✓ - Added completion field to Flag struct with custom Clone implementation - Added Flag::completion() builder method to attach completion functions directly to flags - Modified command completion logic to check flag's own completion function first - Created flag_completion_demo.rs example 4. Bulk flag/subcommand methods (api-4) ✓ - Added CommandBuilder::flags() to add multiple flags at once - Added CommandBuilder::subcommands() to add multiple subcommands at once - Makes building complex CLIs more concise 5. Examples demonstrating improved API (api-5) ✓ - Created flag_completion_demo.rs - demonstrates inline flag completions - Created builder_api_demo.rs - comprehensive example showing all improvements
Sign in to join this conversation.
No description provided.