From 888476ea0c24f97e785cb0df81c2bb13f5a6b8a7 Mon Sep 17 00:00:00 2001 From: whaffman Date: Sat, 1 Mar 2025 12:01:56 +0100 Subject: [PATCH] Made NOBANNER NOPROMPT and NOCOLOR FLAGS for make, make run FLAGS="-DNOCOLORS -DNOBANNER -DNOPROMPT" --- Makefile | 4 ++-- inc/minishell.h | 44 ++++++++++++++++++++++++++++++---------- src/prompt/prompt.c | 31 ++++++++++++++++------------ src/utils/print_banner.c | 4 +++- 4 files changed, 56 insertions(+), 27 deletions(-) diff --git a/Makefile b/Makefile index c4f9aa3..3893c0e 100644 --- a/Makefile +++ b/Makefile @@ -6,7 +6,7 @@ # By: qmennen +#+ # # +#+ # # Created: 2024/10/15 11:48:46 by whaffman #+# #+# # -# Updated: 2025/02/28 14:51:38 by whaffman ######## odam.nl # +# Updated: 2025/03/01 11:59:38 by whaffman ######## odam.nl # # # # **************************************************************************** # @@ -49,7 +49,7 @@ $(1)_DEPENDS = $$(addprefix $$($(1)_OBJ_PATH)/, $$(SOURCES:.c=.d)) $(1)_OBJECTS = $$(addprefix $$($(1)_OBJ_PATH)/, $$(SOURCES:.c=.o)) .PHONY: $(1) -$(1): CFLAGS = $$($(1)_CFLAGS) +$(1): CFLAGS = $$($(1)_CFLAGS) $$(FLAGS) $(1): $(BUILD_PATH)/$(1)/$(NAME) .PHONY: run_$(1) diff --git a/inc/minishell.h b/inc/minishell.h index 5a4a96e..6dad141 100644 --- a/inc/minishell.h +++ b/inc/minishell.h @@ -6,7 +6,7 @@ /* By: marvin +#+ */ /* +#+ */ /* Created: 2025/02/04 16:13:13 by whaffman #+# #+# */ -/* Updated: 2025/02/28 14:18:54 by whaffman ######## odam.nl */ +/* Updated: 2025/03/01 11:22:11 by whaffman ######## odam.nl */ /* */ /* ************************************************************************** */ @@ -34,25 +34,47 @@ # define SUCCESS 1 # define FAILURE 0 -# define BOLD "\001\033[1m\002" -# define RED "\001\033[0;31m\002" -# define GREEN "\001\033[0;32m\002" -# define YELLOW "\001\033[0;33m\002" -# define BLUE "\001\033[0;34m\002" -# define MAGENTA "\001\033[0;35m\002" -# define CYAN "\001\033[0;36m\002" -# define RESET "\001\033[0m\002" - # ifndef DBG # define DBG # endif +# ifdef NOPROMPT +# define PROMPT ">" +# else +# define PROMPT 0 +# endif + +# ifdef NOBANNER +# define NOBANNER 1 +# else +# define NOBANNER 0 +# endif // NOBANNER + +# ifdef NOCOLORS +# define BOLD "" +# define RED "" +# define GREEN "" +# define YELLOW "" +# define BLUE "" +# define MAGENTA "" +# define CYAN "" +# define RESET "" +# else +# define BOLD "\001\033[1m\002" +# define RED "\001\033[0;31m\002" +# define GREEN "\001\033[0;32m\002" +# define YELLOW "\001\033[0;33m\002" +# define BLUE "\001\033[0;34m\002" +# define MAGENTA "\001\033[0;35m\002" +# define CYAN "\001\033[0;36m\002" +# define RESET "\001\033[0m\002" +# endif // NOCOLORS + # ifdef DEBUG # define DEBUG 1 # else # define DEBUG 0 # endif // DEBUG - void token_print(void *param); #endif diff --git a/src/prompt/prompt.c b/src/prompt/prompt.c index 1eb2fbf..cc000ec 100644 --- a/src/prompt/prompt.c +++ b/src/prompt/prompt.c @@ -6,7 +6,7 @@ /* By: qmennen +#+ */ /* +#+ */ /* Created: 2025/02/04 16:13:08 by whaffman #+# #+# */ -/* Updated: 2025/02/28 14:18:20 by whaffman ######## odam.nl */ +/* Updated: 2025/03/01 11:22:45 by whaffman ######## odam.nl */ /* */ /* ************************************************************************** */ @@ -94,18 +94,23 @@ char *ft_prompt(t_minishell *msh) char *prompt; char *user; - cwd = get_path(msh); - if (cwd == NULL) - return (NULL); - user = get_user(msh); - if (user == NULL) - return (free(cwd), NULL); - prompt = ft_strjoin_safe(msh, user, cwd); - free_safe(msh, (void **)&user); - free_safe(msh, (void **)&cwd); - rl_on_new_line(); - line = readline(prompt); - free_safe(msh, (void **)&prompt); + if (PROMPT) + line = readline(PROMPT); + else + { + cwd = get_path(msh); + if (cwd == NULL) + return (NULL); + user = get_user(msh); + if (user == NULL) + return (free(cwd), NULL); + prompt = ft_strjoin_safe(msh, user, cwd); + free_safe(msh, (void **)&user); + free_safe(msh, (void **)&cwd); + rl_on_new_line(); + line = readline(prompt); + free_safe(msh, (void **)&prompt); + } if (line == NULL) return (NULL); history_write(line); diff --git a/src/utils/print_banner.c b/src/utils/print_banner.c index ba33208..9fbdd9c 100644 --- a/src/utils/print_banner.c +++ b/src/utils/print_banner.c @@ -6,7 +6,7 @@ /* By: whaffman +#+ */ /* +#+ */ /* Created: 2025/02/05 16:04:44 by whaffman #+# #+# */ -/* Updated: 2025/02/25 17:27:28 by whaffman ######## odam.nl */ +/* Updated: 2025/03/01 11:15:57 by whaffman ######## odam.nl */ /* */ /* ************************************************************************** */ @@ -14,6 +14,8 @@ void print_banner(void) { + if (NOBANNER) + return ; printf("%s\n", // "\033[2J\033[1;1H" GREEN GREEN