aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile1
-rw-r--r--ascii/cccp.ascii1
-rw-r--r--src/cfetch.c56
-rw-r--r--src/parser.c69
4 files changed, 71 insertions, 56 deletions
diff --git a/Makefile b/Makefile
index b4a3dcb..fe2e4a8 100644
--- a/Makefile
+++ b/Makefile
@@ -23,6 +23,7 @@ TARGET = cfetch
SRC = src/cfetch.c \
src/sysinfo.c \
src/ascii.c \
+ src/parser.c \
src/utils.c
.PHONY: all clean install uninstall debug
diff --git a/ascii/cccp.ascii b/ascii/cccp.ascii
index ad4498b..f0f8008 100644
--- a/ascii/cccp.ascii
+++ b/ascii/cccp.ascii
@@ -8,4 +8,3 @@ Proletarier aller Länder,
\_________________/
Пролетарии всех стран,
соединяйтесь!
-
diff --git a/src/cfetch.c b/src/cfetch.c
index eef3bae..2e6ff6c 100644
--- a/src/cfetch.c
+++ b/src/cfetch.c
@@ -24,12 +24,6 @@
#include <unistd.h>
#include <stddef.h>
-#define COMMAND(large, small) \
- (!strcmp(argv[i], large) || !strcmp(argv[i], small))
-
-void parse_args(int argc, char** argv);
-void print_help();
-
int main(int argc, char **argv)
{
parse_args(argc, argv);
@@ -38,7 +32,7 @@ int main(int argc, char **argv)
struct system_info_t info = { 0 };
//info.debug = 1;
// set default artwork
- info.ascii_art = 3;
+ info.ascii_art = 0;
// set systeminformation
// use // to uncomment or comment
@@ -63,51 +57,3 @@ int main(int argc, char **argv)
get_gpu
get_colours ?
*/
-
-void parse_cmd(int argc, char **argv)
-{
- for (int i = 1; i < argc; i++) {
- if (argv[i][0] != '-')
- {
- fprintf(stderr,
- "Error: invalid option: \"%s\". An option must start with `-`\n",
- argv[i]);
- print_help();
- exit(1);
- }
- if (COMMAND("--help", "-h")) {
- print_help();
- exit(1);
- }
- if (COMMAND("--version", "-v")) {
- printf("cfetch version: 0.1.1\n");
- exit(0);
- } else {
- fprintf(stderr,
- "Error: invalid option: \"%s\"\n",
- argv[i]);
- print_help();
- exit(1);
- }
- }
-
- return;
-}
-
-void parse_args(int argc, char **argv)
-{
- if (argc == 1) {
- return;
- }
-
- parse_cmd(argc, argv);
- return;
-}
-
-void print_help()
-{
- printf("\ncfetch, the neofetch/commifetch clone!\n");
- printf("\nusage: cfetch\t [-v | --version] [-h | --help]\n");
- printf(" -v --version\t prints the current version of cfetch.\n");
- printf(" -h --help\t prints the helper menu of cfetch.\n");
-}
diff --git a/src/parser.c b/src/parser.c
new file mode 100644
index 0000000..fa52c3d
--- /dev/null
+++ b/src/parser.c
@@ -0,0 +1,69 @@
+/* cfetch is my try to implement a neofetch/fastfetch/commiefetch clone in C.
+* Copyright (C) 2026 Anser <https://codeberg.org/Anser/cfetch>
+*
+* cfetch is free software: you can redistribute it and/or modify it
+* under the terms of the GNU General Public License as published by the
+* Free Software Foundation, either version 3 of the License,
+* or (at your option) any later version.
+*
+* cfetch is distributed in the hope that it will be useful, but
+* WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+* See the GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License along
+* with this program. If not, see <https://www.gnu.org/licenses/>.
+*/
+
+#include "../include/cfetch.h"
+
+#define COMMAND(large, small) \
+ (!strcmp(argv[i], large) || !strcmp(argv[i], small))
+
+void parse_cmd(int argc, char **argv)
+{
+ for (int i = 1; i < argc; i++) {
+ if (argv[i][0] != '-')
+ {
+ fprintf(stderr,
+ "Error: invalid option: \"%s\". An option must start with `-`\n",
+ argv[i]);
+ print_help();
+ exit(1);
+ }
+ if (COMMAND("--help", "-h")) {
+ print_help();
+ exit(1);
+ }
+ if (COMMAND("--version", "-v")) {
+ printf("cfetch version: 0.1.1\n");
+ exit(0);
+ } else {
+ fprintf(stderr,
+ "Error: invalid option: \"%s\"\n",
+ argv[i]);
+ print_help();
+ exit(1);
+ }
+ }
+
+ return;
+}
+
+void parse_args(int argc, char **argv)
+{
+ if (argc == 1) {
+ return;
+ }
+
+ parse_cmd(argc, argv);
+ return;
+}
+
+void print_help()
+{
+ printf("\ncfetch, the neofetch/commifetch clone!\n");
+ printf("\nusage: cfetch\t [-v | --version] [-h | --help]\n");
+ printf(" -v --version\t prints the current version of cfetch.\n");
+ printf(" -h --help\t prints the helper menu of cfetch.\n");
+}