38 char **remaining_argv;
44 return defaults_result;
54 if (remaining_argc > 0) {
55 (void)fprintf(stderr,
"Error: Unexpected arguments after options:\n");
56 for (
int i = 0; i < remaining_argc; i++) {
57 (void)fprintf(stderr,
" %s\n", remaining_argv[i]);
60 return option_error_invalid();
75 (void)fprintf(desc,
"Error: Failed to create options config\n");
80 (void)fprintf(desc,
"USAGE:\n");
81 (void)fprintf(desc,
" %s [options...]\n\n", config->
program_name);
⚠️‼️ Error and/or exit() when things go bad.
void options_config_print_usage(const options_config_t *config, FILE *stream)
Print usage/help text.
asciichat_error_t options_config_set_defaults(const options_config_t *config, void *options_struct)
Set default values in options struct.
asciichat_error_t options_config_parse(const options_config_t *config, int argc, char **argv, void *options_struct, int *remaining_argc, char ***remaining_argv)
Parse command-line arguments.
void options_config_destroy(options_config_t *config)
Free options config.
Options builder API for flexible command-line option configuration.
const options_config_t * options_preset_mirror(const char *program_name, const char *description)
Get mirror mode options preset.
asciichat_error_t
Error and exit codes - unified status values (0-255)
void usage_mirror(FILE *desc)
Print mirror mode usage/help text.
📝 Logging API with multiple log levels and terminal output control
asciichat_error_t parse_mirror_options(int argc, char **argv, options_t *opts)
Parse mirror-specific command-line options.
Mirror mode option parsing.
Common utilities and helpers for option parsing.
Validation functions for options parsing.
⚙️ Command-line options parsing and configuration management for ascii-chat
const char * program_name
For usage header.
const char * description
For usage header.
Consolidated options structure.
Common SIMD utilities and structures.