From 6f6353f846d40cd2d4a62b9810c991adf6dd620f Mon Sep 17 00:00:00 2001 From: dacctal Date: Tue, 30 Jun 2026 02:59:14 +0000 Subject: checkpoint! --- include/globs.h | 82 +++++++++++++++++++++++++++++++++++++++++++++++++ include/pkgit_globals.h | 79 ----------------------------------------------- include/pkgit_string.h | 50 ------------------------------ include/str.h | 50 ++++++++++++++++++++++++++++++ 4 files changed, 132 insertions(+), 129 deletions(-) create mode 100644 include/globs.h delete mode 100644 include/pkgit_globals.h delete mode 100644 include/pkgit_string.h create mode 100644 include/str.h (limited to 'include') diff --git a/include/globs.h b/include/globs.h new file mode 100644 index 0000000..69fee60 --- /dev/null +++ b/include/globs.h @@ -0,0 +1,82 @@ +/* + + pkgit - package it! + + Copyright (C) 2026 dacctal + This program 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 2 of the License, or + (at your option) any later version. + + This program 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 . + +*/ + +#ifndef PKGIT_GLOBALS_H +#define PKGIT_GLOBALS_H + +#define VERSION "1.4.0_INDEV" +#define RED "\x1b[0;31m" +#define GREEN "\x1b[0;32m" +#define YELLOW "\x1b[0;33m" +#define BLUE "\x1b[0;34m" +#define MAGENTA "\x1b[0;35m" +#define CYAN "\x1b[0;36m" +#define GRAY "\x1b[0;37m" +#define BRIGHT_RED "\x1b[0;91m" +#define BRIGHT_GREEN "\x1b[0;92m" +#define BRIGHT_YELLOW "\x1b[0;93m" +#define BRIGHT_BLUE "\x1b[0;94m" +#define BRIGHT_MAGENTA "\x1b[0;95m" +#define BRIGHT_CYAN "\x1b[0;96m" +#define BRIGHT_GRAY "\x1b[0;97m" +#define BOLD_RED "\x1b[1;31m" +#define BOLD_GREEN "\x1b[1;32m" +#define BOLD_YELLOW "\x1b[1;33m" +#define BOLD_BLUE "\x1b[1;34m" +#define BOLD_MAGENTA "\x1b[1;35m" +#define BOLD_CYAN "\x1b[1;36m" +#define BOLD_GRAY "\x1b[1;37m" +#define BOLD_WHITE "\x1b[1;38m" +#define BOLD_BRIGHT_RED "\x1b[1;91m" +#define BOLD_BRIGHT_GREEN "\x1b[1;92m" +#define BOLD_BRIGHT_YELLOW "\x1b[1;93m" +#define BOLD_BRIGHT_BLUE "\x1b[1;94m" +#define BOLD_BRIGHT_MAGENTA "\x1b[1;95m" +#define BOLD_BRIGHT_CYAN "\x1b[1;96m" +#define BOLD_BRIGHT_GRAY "\x1b[1;97m" +#define ITALIC "\x1b[3m" +#define COLOR_RESET "\x1b[0m" + +#define PRINT_PKGIT BOLD_YELLOW "[" BOLD_MAGENTA "pkgit" BOLD_YELLOW "]" COLOR_RESET +#define PRINT_SUCCESS PRINT_PKGIT GREEN " [SUCCESS]" COLOR_RESET +#define PRINT_SKIPPED PRINT_PKGIT BLUE " [SKIPPED]" COLOR_RESET +#define PRINT_WARNING PRINT_PKGIT YELLOW " [WARNING]" COLOR_RESET +#define PRINT_ERROR PRINT_PKGIT RED " [ERROR]" COLOR_RESET + +#include "str.h" + +typedef struct { + str_slc name; + str_slc url; + str_slc version; + str_slc target; + str_slc src; + int is_local; +} package; + +extern int is_verbose; +extern int is_forced; +extern int config_exists; + +extern char root_config_file[20]; + +void init_vars(void); + +#endif diff --git a/include/pkgit_globals.h b/include/pkgit_globals.h deleted file mode 100644 index b1e76ed..0000000 --- a/include/pkgit_globals.h +++ /dev/null @@ -1,79 +0,0 @@ -#ifndef PKGIT_GLOBALS_H -#define PKGIT_GLOBALS_H -#include "pkgit_string.h" - -typedef struct { - str_slc name; - str_slc url; - str_slc version; - str_slc target; - str_slc src; - int is_local; -} package; - -#define VERSION slc_from_cstr("1.4.0_INDEV") -#define RED slc_from_cstr("\x1b[0;31m") -#define GREEN slc_from_cstr("\x1b[0;32m") -#define YELLOW slc_from_cstr("\x1b[0;33m") -#define BLUE slc_from_cstr("\x1b[0;34m") -#define MAGENTA slc_from_cstr("\x1b[0;35m") -#define CYAN slc_from_cstr("\x1b[0;36m") -#define GRAY slc_from_cstr("\x1b[0;37m") -#define BRIGHT_RED slc_from_cstr("\x1b[0;91m") -#define BRIGHT_GREEN slc_from_cstr("\x1b[0;92m") -#define BRIGHT_YELLOW slc_from_cstr("\x1b[0;93m") -#define BRIGHT_BLUE slc_from_cstr("\x1b[0;94m") -#define BRIGHT_MAGENTA slc_from_cstr("\x1b[0;95m") -#define BRIGHT_CYAN slc_from_cstr("\x1b[0;96m") -#define BRIGHT_GRAY slc_from_cstr("\x1b[0;97m") -#define BOLD_RED slc_from_cstr("\x1b[1;31m") -#define BOLD_GREEN slc_from_cstr("\x1b[1;32m") -#define BOLD_YELLOW slc_from_cstr("\x1b[1;33m") -#define BOLD_BLUE slc_from_cstr("\x1b[1;34m") -#define BOLD_MAGENTA slc_from_cstr("\x1b[1;35m") -#define BOLD_CYAN slc_from_cstr("\x1b[1;36m") -#define BOLD_GRAY slc_from_cstr("\x1b[1;37m") -#define BOLD_WHITE slc_from_cstr("\x1b[1;38m") -#define BOLD_BRIGHT_RED slc_from_cstr("\x1b[1;91m") -#define BOLD_BRIGHT_GREEN slc_from_cstr("\x1b[1;92m") -#define BOLD_BRIGHT_YELLOW slc_from_cstr("\x1b[1;93m") -#define BOLD_BRIGHT_BLUE slc_from_cstr("\x1b[1;94m") -#define BOLD_BRIGHT_MAGENTA slc_from_cstr("\x1b[1;95m") -#define BOLD_BRIGHT_CYAN slc_from_cstr("\x1b[1;96m") -#define BOLD_BRIGHT_GRAY slc_from_cstr("\x1b[1;97m") -#define ITALIC slc_from_cstr("\x1b[3m") -#define COLOR_RESET slc_from_cstr("\x1b[0m") - -#define STR_BUFFER slc_from_cstr("") - -#define PRINT_PKGIT slc_cat( \ - slc_cat( \ - slc_cat(BOLD_YELLOW, slc_from_cstr("[")), \ - slc_cat(BOLD_MAGENTA, slc_from_cstr("pkgit")), \ - &STR_BUFFER \ - ), slc_cat( \ - slc_cat(BOLD_MAGENTA, slc_from_cstr("]")), \ - COLOR_RESET, &STR_BUFFER \ - ), &STR_BUFFER \ -) -#define PRINT_SUCCESS slc_cat( \ - slc_cat(PRINT_PKGIT, GREEN), \ - slc_cat(slc_from_cstr(" [SUCCESS]"), COLOR_RESET) \ -) -#define PRINT_SKIPPED slc_cat( \ - slc_cat(PRINT_PKGIT, BLUE), \ - slc_cat(slc_from_cstr(" [SKIPPED]"), COLOR_RESET) \ -) -#define PRINT_WARNING slc_cat( \ - slc_cat(PRINT_PKGIT, YELLOW), \ - slc_cat(slc_from_cstr(" [WARNING]"), COLOR_RESET) \ -) -#define PRINT_ERROR slc_cat( \ - slc_cat(PRINT_PKGIT, RED), \ - slc_cat(slc_from_cstr(" [ERROR]"), COLOR_RESET) \ -) - -extern int is_verbose; -extern int is_forced; - -#endif diff --git a/include/pkgit_string.h b/include/pkgit_string.h deleted file mode 100644 index c81bcbd..0000000 --- a/include/pkgit_string.h +++ /dev/null @@ -1,50 +0,0 @@ -/* - - pkgit - package it! - - Copyright (C) 2026 dacctal - This program 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 2 of the License, or - (at your option) any later version. - - This program 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 . - -*/ - -#ifndef PKGIT_STRING_H -#define PKGIT_STRING_H -#include - -typedef struct { - char* data; - size_t len; -} str_slc; - -typedef struct { - char* data; - size_t cap; - size_t len; -} str; - -#define str_fmt(slice) (int)((slice).len), (slice).data -// Usage: printf("%.*s", format_string(slice)); - -void print_slice(str_slc s); -str_slc slc_from_cstr(char* cstr); -#define slc_from_cstr(cstr) slc_from_cstr(cstr) -int slc_eq(str_slc a, str_slc b); -int slc_starts_with(str_slc slice, str_slc prefix); -str_slc slc_take(str_slc slice, size_t n); -str_slc slc_drop(str_slc slice, size_t n); -str_slc slc_trim(str_slc slice); -void slc_cat(str_slc first, str_slc second, str_slc *new_slc); -//#define slc_cat(first, second, new_slc) slc_cat(first, second, *new_slc) - -#endif diff --git a/include/str.h b/include/str.h new file mode 100644 index 0000000..c81bcbd --- /dev/null +++ b/include/str.h @@ -0,0 +1,50 @@ +/* + + pkgit - package it! + + Copyright (C) 2026 dacctal + This program 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 2 of the License, or + (at your option) any later version. + + This program 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 . + +*/ + +#ifndef PKGIT_STRING_H +#define PKGIT_STRING_H +#include + +typedef struct { + char* data; + size_t len; +} str_slc; + +typedef struct { + char* data; + size_t cap; + size_t len; +} str; + +#define str_fmt(slice) (int)((slice).len), (slice).data +// Usage: printf("%.*s", format_string(slice)); + +void print_slice(str_slc s); +str_slc slc_from_cstr(char* cstr); +#define slc_from_cstr(cstr) slc_from_cstr(cstr) +int slc_eq(str_slc a, str_slc b); +int slc_starts_with(str_slc slice, str_slc prefix); +str_slc slc_take(str_slc slice, size_t n); +str_slc slc_drop(str_slc slice, size_t n); +str_slc slc_trim(str_slc slice); +void slc_cat(str_slc first, str_slc second, str_slc *new_slc); +//#define slc_cat(first, second, new_slc) slc_cat(first, second, *new_slc) + +#endif -- cgit v1.2.3