Skip to content

Commit 1d440dc

Browse files
committed
feat: added flag aliases
1 parent dcfcf22 commit 1d440dc

File tree

19 files changed

+191
-139
lines changed

19 files changed

+191
-139
lines changed

include/utils/args.h

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,11 @@ typedef int (*cmd_handlefunc_t)(int argc, char* argv[], int flagc,
99
char* flagv[], const char* path,
1010
struct cmd_handler_t* self);
1111

12-
typedef void (*flag_handlefunc_t)(const char* path, struct cmd_handler_t* ctx);
13-
12+
/* The flags aren't statically processed, and don't need a handler. */
1413
typedef struct {
15-
const char* flag;
14+
const char** aliases;
15+
int num_aliases;
1616
const char* description;
17-
const flag_handlefunc_t handler;
1817
bool lazy;
1918
} flag_handler_t;
2019

src/command/agent/reset.c

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -72,9 +72,12 @@ int handler_agent_reset(int argc, char* argv[], int flagc, char* flagv[],
7272
const char* flag = flagv[fi];
7373

7474
/* Help flag */
75-
if (strcmp(flag, flag_help.flag) == 0) {
76-
print_help(HELP_REQUESTED, path, self, NULL);
77-
return EXIT_OK;
75+
int ai;
76+
for (ai = 0; ai < flag_help.num_aliases; ++ai) {
77+
if (strcmp(flag, flag_help.aliases[ai]) == 0) {
78+
print_help(HELP_REQUESTED, path, self, NULL);
79+
return EXIT_OK;
80+
}
7881
}
7982

8083
/* Fail on extra flags */

src/command/agent/setup.c

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -82,9 +82,12 @@ int handler_agent_setup(int argc, char* argv[], int flagc, char* flagv[],
8282
const char* flag = flagv[fi];
8383

8484
/* Help flag */
85-
if (strcmp(flag, flag_help.flag) == 0) {
86-
print_help(HELP_REQUESTED, path, self, NULL);
87-
return EXIT_OK;
85+
int ai;
86+
for (ai = 0; ai < flag_help.num_aliases; ++ai) {
87+
if (strcmp(flag, flag_help.aliases[ai]) == 0) {
88+
print_help(HELP_REQUESTED, path, self, NULL);
89+
return EXIT_OK;
90+
}
8891
}
8992

9093
/* Fail on extra flags */

src/command/bin/create.c

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,12 @@ int handler_bin_create(int argc, char* argv[], int flagc, char* flagv[],
2323
const char* flag = flagv[fi];
2424

2525
/* Help flag */
26-
if (strcmp(flag, flag_help.flag) == 0) {
27-
print_help(HELP_REQUESTED, path, self, NULL);
28-
return EXIT_OK;
26+
int ai;
27+
for (ai = 0; ai < flag_help.num_aliases; ++ai) {
28+
if (strcmp(flag, flag_help.aliases[ai]) == 0) {
29+
print_help(HELP_REQUESTED, path, self, NULL);
30+
return EXIT_OK;
31+
}
2932
}
3033

3134
/* Fail on extra flags */

src/command/bin/export.c

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,12 @@ int handler_bin_export(int argc, char* argv[], int flagc, char* flagv[],
2828
const char* flag = flagv[fi];
2929

3030
/* Help flag */
31-
if (strcmp(flag, flag_help.flag) == 0) {
32-
print_help(HELP_REQUESTED, path, self, NULL);
33-
return EXIT_OK;
31+
int ai;
32+
for (ai = 0; ai < flag_help.num_aliases; ++ai) {
33+
if (strcmp(flag, flag_help.aliases[ai]) == 0) {
34+
print_help(HELP_REQUESTED, path, self, NULL);
35+
return EXIT_OK;
36+
}
3437
}
3538

3639
/* Fail on extra flags */

src/command/bin/import.c

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -51,9 +51,12 @@ int handler_bin_import(int argc, char* argv[], int flagc, char* flagv[],
5151
const char* flag = flagv[fi];
5252

5353
/* Help flag */
54-
if (strcmp(flag, flag_help.flag) == 0) {
55-
print_help(HELP_REQUESTED, path, self, NULL);
56-
return EXIT_OK;
54+
int ai;
55+
for (ai = 0; ai < flag_help.num_aliases; ++ai) {
56+
if (strcmp(flag, flag_help.aliases[ai]) == 0) {
57+
print_help(HELP_REQUESTED, path, self, NULL);
58+
return EXIT_OK;
59+
}
5760
}
5861

5962
/* Fail on extra flags */

src/command/bin/ls.c

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,12 @@ int handler_bin_ls(int argc, char* argv[], int flagc, char* flagv[],
2020
const char* flag = flagv[fi];
2121

2222
/* Help flag */
23-
if (strcmp(flag, flag_help.flag) == 0) {
24-
print_help(HELP_REQUESTED, path, self, NULL);
25-
return EXIT_OK;
23+
int ai;
24+
for (ai = 0; ai < flag_help.num_aliases; ++ai) {
25+
if (strcmp(flag, flag_help.aliases[ai]) == 0) {
26+
print_help(HELP_REQUESTED, path, self, NULL);
27+
return EXIT_OK;
28+
}
2629
}
2730

2831
/* Fail on extra flags */

src/command/bin/rename.c

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,12 @@ int handler_bin_rename(int argc, char* argv[], int flagc, char* flagv[],
2020
const char* flag = flagv[fi];
2121

2222
/* Help flag */
23-
if (strcmp(flag, flag_help.flag) == 0) {
24-
print_help(HELP_REQUESTED, path, self, NULL);
25-
return EXIT_OK;
23+
int ai;
24+
for (ai = 0; ai < flag_help.num_aliases; ++ai) {
25+
if (strcmp(flag, flag_help.aliases[ai]) == 0) {
26+
print_help(HELP_REQUESTED, path, self, NULL);
27+
return EXIT_OK;
28+
}
2629
}
2730

2831
/* Fail on extra flags */

src/command/bin/rm.c

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,12 @@ int handler_bin_rm(int argc, char* argv[], int flagc, char* flagv[],
2020
const char* flag = flagv[fi];
2121

2222
/* Help flag */
23-
if (strcmp(flag, flag_help.flag) == 0) {
24-
print_help(HELP_REQUESTED, path, self, NULL);
25-
return EXIT_OK;
23+
int ai;
24+
for (ai = 0; ai < flag_help.num_aliases; ++ai) {
25+
if (strcmp(flag, flag_help.aliases[ai]) == 0) {
26+
print_help(HELP_REQUESTED, path, self, NULL);
27+
return EXIT_OK;
28+
}
2629
}
2730

2831
/* Fail on extra flags */

src/command/file/add.c

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,12 @@ int handler_file_add(int argc, char* argv[], int flagc, char* flagv[],
2222
const char* flag = flagv[fi];
2323

2424
/* Help flag */
25-
if (strcmp(flag, flag_help.flag) == 0) {
26-
print_help(HELP_REQUESTED, path, self, NULL);
27-
return EXIT_OK;
25+
int ai;
26+
for (ai = 0; ai < flag_help.num_aliases; ++ai) {
27+
if (strcmp(flag, flag_help.aliases[ai]) == 0) {
28+
print_help(HELP_REQUESTED, path, self, NULL);
29+
return EXIT_OK;
30+
}
2831
}
2932

3033
/* Fail on extra flags */

0 commit comments

Comments
 (0)