Skip to content

Commit 34e3f4e

Browse files
att
1 parent dfe44ab commit 34e3f4e

File tree

12 files changed

+80
-14
lines changed

12 files changed

+80
-14
lines changed

README.md

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,12 @@
1-
# C-argv-parsser
2-
a heaples single file argv parser for C
1+
#include "src/one.c"
2+
#include <stdio.h>
3+
int main(int argc, char *argv[]){
4+
CArgvParse args = newCArgvParse(argc,argv);
5+
6+
const char* outputs[] = {"output","out","o"};
7+
int total_output_flags = sizeof(outputs)/sizeof(char*);
8+
int flag_index = 0;
9+
const char *output = CArgvParse_get_flag(&args,outputs,total_output_flags,flag_index);
10+
printf("output: %s\n",output);
11+
12+
}

src/docs/basic.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
### Basic Usage
2+
3+
for use the lib , you just need to start the main struct with the `newCArgvParse` function, and then you can use the functions to get the flags and the arguments.
4+
5+
6+
#### Getting a argument

src/docs/basic_flags.md renamed to src/docs/flags.md

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,18 @@ and the target index of the flag
88

99
#include "src/one.c"
1010
#include <stdio.h>
11+
12+
13+
CArgvParseNamespace argv_namespace;
1114
int main(int argc, char *argv[]){
12-
CArgvParse args = newCArgvParse(argc,argv);
15+
argv_namespace = newCArgvParseNamespace();
16+
CArgvParse args = argv_namespace.newCArgvParse(argc,argv);
1317

1418
const char* outputs[] = {"output","out","o"};
1519
int total_output_flags = sizeof(outputs)/sizeof(char*);
1620
int flag_index = 0;
17-
const char *output = CArgvParse_get_flag(&args,outputs,total_output_flags,flag_index);
21+
22+
const char *output = argv_namespace.get_flag(&args,outputs,total_output_flags,flag_index);
1823
printf("output: %s\n",output);
1924

2025
}
@@ -35,13 +40,16 @@ you can get the size of the flags by using the function `CArgvParse_get_flag_siz
3540
#include "src/one.c"
3641
#include <stdio.h>
3742

43+
44+
CArgvParseNamespace argv_namespace;
3845
int main(int argc, char *argv[]){
39-
CArgvParse args = newCArgvParse(argc,argv);
46+
argv_namespace = newCArgvParseNamespace();
47+
CArgvParse args = argv_namespace.newCArgvParse(argc,argv);
4048

4149
const char* outputs[] = {"output","out","o"};
4250
int total_output_flags = sizeof(outputs)/sizeof(char*);
43-
int size = CArgvParse_get_flag_size(&args,outputs,total_output_flags);
44-
printf("output flags found: %d\n",size);
51+
int size = argv_namespace.get_flag_size(&args,outputs,total_output_flags);
52+
printf("Total output flags: %d\n",size);
4553

4654
}
4755
```

src/parser/basic/fdeclare.parsser.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
//DONT MODIFY THIS COMMENT
33
//this import is computationally generated
44
//mannaged by SilverChain: https://github.com/OUIsolutions/SilverChain
5-
#include "../../imports/imports.types.h"
5+
#include "../../imports/imports.typesB.h"
66
//silver_chain_scope_end
77

88

@@ -11,6 +11,6 @@
1111

1212
CArgvParse newCArgvParse(int argc, char **argv);
1313

14-
const char *CArgvPars_get_arg(CArgvParse *self,int index);
14+
const char *CArgvParse_get_arg(CArgvParse *self,int index);
1515

1616
int privateCArgv_parser_get_flag_identifier_start_size(CArgvParse *self,const char *flag,int flag_size);

src/parser/basic/fdefine.parser.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ CArgvParse newCArgvParse(int argc, char **argv){
1919
return cArgvPars;
2020
}
2121

22-
const char *CArgvPars_get_arg(CArgvParse *self,int index){
22+
const char *CArgvParse_get_arg(CArgvParse *self,int index){
2323
if(index < self->total_args){
2424
private_CArgvParse_add_used(self,index);
2525
return self->args[index];

src/parser/infinity_flags/fdeclare.parser.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
//DONT MODIFY THIS COMMENT
33
//this import is computationally generated
44
//mannaged by SilverChain: https://github.com/OUIsolutions/SilverChain
5-
#include "../../imports/imports.types.h"
5+
#include "../../imports/imports.typesB.h"
66
//silver_chain_scope_end
77

88

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
//silver_chain_scope_start
2+
//DONT MODIFY THIS COMMENT
3+
//this import is computationally generated
4+
//mannaged by SilverChain: https://github.com/OUIsolutions/SilverChain
5+
#include "../../imports/imports.typesB.h"
6+
//silver_chain_scope_end
7+
8+
CArgvParseNamespace newCArgvParseNamespace();
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
//silver_chain_scope_start
2+
//DONT MODIFY THIS COMMENT
3+
//this import is computationally generated
4+
//mannaged by SilverChain: https://github.com/OUIsolutions/SilverChain
5+
#include "../../imports/imports.fdeclare.h"
6+
//silver_chain_scope_end
7+
8+
9+
CArgvParseNamespace newCArgvParseNamespace(){
10+
CArgvParseNamespace self ={0};
11+
self.newCArgvParse = newCArgvParse;
12+
self.get_arg = CArgvParse_get_arg;
13+
self.get_flag_size = CArgvParse_get_flag_size;
14+
self.get_flag = CArgvParse_get_flag;
15+
self.get_next_unused_arg = CArgvParse_get_next_unused_arg;
16+
return self;
17+
}
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
//silver_chain_scope_start
2+
//DONT MODIFY THIS COMMENT
3+
//this import is computationally generated
4+
//mannaged by SilverChain: https://github.com/OUIsolutions/SilverChain
5+
#include "../../imports/imports.types.h"
6+
//silver_chain_scope_end
7+
8+
typedef struct CArgvParseNamespace{
9+
10+
CArgvParse (*newCArgvParse)(int argc, char **argv);
11+
const char *(*get_arg)(CArgvParse *self,int index);
12+
int (*get_flag_size)(CArgvParse *self,const char **flags,int flags_size);
13+
const char * (*get_flag)(CArgvParse *self ,const char **flags,int flags_size, int index);
14+
const char *(*get_next_unused_arg)(CArgvParse *self);
15+
16+
17+
}CArgvParseNamespace;

src/parser/normal_flags/fdeclare.parsser.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
//DONT MODIFY THIS COMMENT
33
//this import is computationally generated
44
//mannaged by SilverChain: https://github.com/OUIsolutions/SilverChain
5-
#include "../../imports/imports.types.h"
5+
#include "../../imports/imports.typesB.h"
66
//silver_chain_scope_end
77

88

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy