treat all cmd line options after a -- as plain inputs

This commit is contained in:
Ryan Fleury
2021-09-16 23:36:17 -06:00
parent 07ff2afa72
commit 424bd25508
2 changed files with 8 additions and 8 deletions
+8 -5
View File
@@ -3718,10 +3718,8 @@ MD_StringListFromArgCV(MD_Arena *arena, int argument_count, char **arguments)
MD_FUNCTION MD_CmdLine MD_FUNCTION MD_CmdLine
MD_MakeCmdLineFromOptions(MD_Arena *arena, MD_String8List options) MD_MakeCmdLineFromOptions(MD_Arena *arena, MD_String8List options)
{ {
// TODO(rjf): consider everything as plain unstructured inputs after
// a `--` (without a name).
MD_CmdLine cmdln = MD_ZERO_STRUCT; MD_CmdLine cmdln = MD_ZERO_STRUCT;
MD_b32 parsing_only_inputs = 0;
for(MD_String8Node *n = options.first, *next = 0; for(MD_String8Node *n = options.first, *next = 0;
n; n = next) n; n = next)
@@ -3731,7 +3729,11 @@ MD_MakeCmdLineFromOptions(MD_Arena *arena, MD_String8List options)
//- rjf: figure out whether or not this is an option by checking for `-` or `--` //- rjf: figure out whether or not this is an option by checking for `-` or `--`
// from the beginning of the string // from the beginning of the string
MD_String8 option_name = MD_ZERO_STRUCT; MD_String8 option_name = MD_ZERO_STRUCT;
if(MD_S8Match(MD_S8Prefix(n->string, 2), MD_S8Lit("--"), 0)) if(MD_S8Match(n->string, MD_S8Lit("--"), 0))
{
parsing_only_inputs = 1;
}
else if(MD_S8Match(MD_S8Prefix(n->string, 2), MD_S8Lit("--"), 0))
{ {
option_name = MD_S8Skip(n->string, 2); option_name = MD_S8Skip(n->string, 2);
} }
@@ -3739,6 +3741,7 @@ MD_MakeCmdLineFromOptions(MD_Arena *arena, MD_String8List options)
{ {
option_name = MD_S8Skip(n->string, 1); option_name = MD_S8Skip(n->string, 1);
} }
//- rjf: trim off anything after a `:` or `=`, use that as the first value string //- rjf: trim off anything after a `:` or `=`, use that as the first value string
MD_String8 first_value = MD_ZERO_STRUCT; MD_String8 first_value = MD_ZERO_STRUCT;
MD_b32 has_many_values = 0; MD_b32 has_many_values = 0;
@@ -3759,7 +3762,7 @@ MD_MakeCmdLineFromOptions(MD_Arena *arena, MD_String8List options)
} }
//- rjf: gather arguments //- rjf: gather arguments
if(option_name.size != 0) if(option_name.size != 0 && !parsing_only_inputs)
{ {
MD_String8List option_values = MD_ZERO_STRUCT; MD_String8List option_values = MD_ZERO_STRUCT;
-3
View File
@@ -7,9 +7,6 @@
#ifndef MD_H #ifndef MD_H
#define MD_H #define MD_H
// TODO(rjf): implicitly-delimited sets are not having their separator flags
// appropriately set
/* NOTE(allen): Notes on overrides/macro options: /* NOTE(allen): Notes on overrides/macro options:
** **
** Overridable : ** Overridable :