/* ************************************************************************** */
/*                                                                            */
/*                                                        ::::::::            */
/*   minishell.h                                        :+:    :+:            */
/*                                                     +:+                    */
/*   By: marvin <marvin@student.42.fr>                +#+                     */
/*                                                   +#+                      */
/*   Created: 2025/02/04 16:13:13 by whaffman      #+#    #+#                 */
/*   Updated: 2025/03/02 22:12:12 by whaffman      ########   odam.nl         */
/*                                                                            */
/* ************************************************************************** */

#ifndef MINISHELL_H
# define MINISHELL_H

# include "allowed.h"
# include "libft.h"
# include "typedef.h"
# include "signals.h"
# include "environment.h"
# include "prompt.h"
# include "tokenizer.h"
# include "builtin.h"
# include "executor.h"
# include "parser.h"
# include "expander.h"
# include "redirect.h"
# include "debug.h"
# include "utils.h"

# define TRUE 1
# define FALSE 0

# define SUCCESS 1
# define FAILURE 0

# ifndef DBG
#  define DBG
# endif // DBG

# ifdef NOPROMPT
#  define PROMPT "$"
# else
#  define PROMPT 0
# endif // NOPROMPT

# 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

#endif
