Changed prompt len calculation
This commit is contained in:
parent
7c47a558ac
commit
252c4c37e7
3 changed files with 73 additions and 26 deletions
58
includes/app/colors.h
Normal file
58
includes/app/colors.h
Normal file
|
|
@ -0,0 +1,58 @@
|
|||
/* ************************************************************************** */
|
||||
/* */
|
||||
/* ::: :::::::: */
|
||||
/* colors.h :+: :+: :+: */
|
||||
/* +:+ +:+ +:+ */
|
||||
/* By: maiboyer <maiboyer@student.42.fr> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2024/07/20 15:06:54 by maiboyer #+# #+# */
|
||||
/* Updated: 2024/07/20 15:17:57 by maiboyer ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
#ifndef COLORS_H
|
||||
# define COLORS_H
|
||||
|
||||
# define RESET "\x1b[0m"
|
||||
# define BOLD "\x1b[1m"
|
||||
# define WEAK "\x1b[2m"
|
||||
# define ITALIC "\x1b[3m"
|
||||
# define UNDERLINE "\x1b[4m"
|
||||
|
||||
# define COL_BLACK "\x1b[30m"
|
||||
# define COL_RED "\x1b[31m"
|
||||
# define COL_GREEN "\x1b[32m"
|
||||
# define COL_YELLOW "\x1b[33m"
|
||||
# define COL_BLUE "\x1b[34m"
|
||||
# define COL_MAGENTA "\x1b[35m"
|
||||
# define COL_CYAN "\x1b[36m"
|
||||
# define COL_WHITE "\x1b[37m"
|
||||
|
||||
# define COLB_BLACK "\x1b[90m"
|
||||
# define COLB_RED "\x1b[91m"
|
||||
# define COLB_GREEN "\x1b[92m"
|
||||
# define COLB_YELLOW "\x1b[93m"
|
||||
# define COLB_BLUE "\x1b[94m"
|
||||
# define COLB_MAGENTA "\x1b[95m"
|
||||
# define COLB_CYAN "\x1b[96m"
|
||||
# define COLB_WHITE "\x1b[97m"
|
||||
|
||||
# define COLBG_BLACK "\x1b[40m"
|
||||
# define COLBG_RED "\x1b[41m"
|
||||
# define COLBG_GREEN "\x1b[42m"
|
||||
# define COLBG_YELLOW "\x1b[43m"
|
||||
# define COLBG_BLUE "\x1b[44m"
|
||||
# define COLBG_MAGENTA "\x1b[45m"
|
||||
# define COLBG_CYAN "\x1b[46m"
|
||||
# define COLBG_WHITE "\x1b[47m"
|
||||
|
||||
# define COLBBG_BLACK "\x1b[10m0"
|
||||
# define COLBBG_RED "\x1b[10m1"
|
||||
# define COLBBG_GREEN "\x1b[10m2"
|
||||
# define COLBBG_YELLOW "\x1b[10m3"
|
||||
# define COLBBG_BLUE "\x1b[10m4"
|
||||
# define COLBBG_MAGENTA "\x1b[10m5"
|
||||
# define COLBBG_CYAN "\x1b[10m6"
|
||||
# define COLBBG_WHITE "\x1b[10m7"
|
||||
|
||||
#endif /* COLORS_H */
|
||||
|
|
@ -6,7 +6,7 @@
|
|||
/* By: maiboyer <maiboyer@student.42.fr> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2024/07/11 18:21:45 by maiboyer #+# #+# */
|
||||
/* Updated: 2024/07/18 13:46:22 by maiboyer ### ########.fr */
|
||||
/* Updated: 2024/07/20 15:33:01 by maiboyer ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
|
|
@ -45,17 +45,18 @@ t_usize line_get_prompt_len(t_const_str s)
|
|||
return (0);
|
||||
while (s[i])
|
||||
{
|
||||
if (s[i] == '\x1b' && s[i + 1] == '[')
|
||||
if (s[i] == '\x1b' && s[++i] == '[')
|
||||
{
|
||||
i += 2;
|
||||
while (0x30 <= s[i] && s[i] <= 0x3F)
|
||||
i++;
|
||||
while ('0' <= s[i] && s[i] <= '?')
|
||||
i++;
|
||||
while (0x20 <= s[i] && s[i] <= 0x2F)
|
||||
while (' ' <= s[i] && s[i] <= '/')
|
||||
i++;
|
||||
if (0x40 <= s[i] && s[i] <= 0x7E)
|
||||
if ('@' <= s[i] && s[i] <= '~')
|
||||
i++;
|
||||
}
|
||||
_modify_vars(&i, &ret, true);
|
||||
else
|
||||
_modify_vars(&i, &ret, true);
|
||||
}
|
||||
return (ret);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -6,13 +6,15 @@
|
|||
/* By: rparodi <rparodi@student.42.fr> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2024/03/28 14:40:38 by rparodi #+# #+# */
|
||||
/* Updated: 2024/07/20 14:23:13 by maiboyer ### ########.fr */
|
||||
/* Updated: 2024/07/20 15:30:46 by maiboyer ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
#include "app/colors.h"
|
||||
#include "app/env.h"
|
||||
#include "app/node.h"
|
||||
#include "app/signal_handler.h"
|
||||
#include "ast/ast.h"
|
||||
#include "line/line.h"
|
||||
#include "me/hashmap/hashmap_env.h"
|
||||
#include "me/str/str.h"
|
||||
|
|
@ -23,13 +25,6 @@
|
|||
#include <errno.h>
|
||||
#include <sys/types.h>
|
||||
|
||||
#undef free
|
||||
#undef malloc
|
||||
#undef realloc
|
||||
#undef calloc
|
||||
|
||||
#include "ast/ast.h"
|
||||
|
||||
t_error ast_from_node(t_parse_node node, t_str input, t_ast_node *out);
|
||||
void ast_print_node(t_ast_node self);
|
||||
|
||||
|
|
@ -124,7 +119,7 @@ void exec_shcat(t_state *shcat)
|
|||
free_node(shcat->current_node);
|
||||
}
|
||||
|
||||
t_error handle_arguments(t_state *state)
|
||||
t_error get_user_input(t_state *state)
|
||||
{
|
||||
t_line_state lstate;
|
||||
|
||||
|
|
@ -150,7 +145,7 @@ void ft_take_args(t_state *state)
|
|||
while (true)
|
||||
{
|
||||
state->str_input = NULL;
|
||||
if (handle_arguments(state))
|
||||
if (get_user_input(state))
|
||||
ft_exit(state, 1);
|
||||
if (state->str_input == NULL)
|
||||
ft_exit(state, 0);
|
||||
|
|
@ -179,12 +174,10 @@ void free_myparser(t_parser self)
|
|||
ts_parser_delete(self.parser);
|
||||
}
|
||||
|
||||
#define IGN_START "\1"
|
||||
#define IGN_END "\2"
|
||||
|
||||
t_i32 main(t_i32 argc, t_str argv[], t_str envp[])
|
||||
{
|
||||
t_state state;
|
||||
//char truc[] = COLB_YELLOW "42sh" COL_GREEN ">" COL_WHITE "$ " RESET;
|
||||
|
||||
(void)argc;
|
||||
(void)argv;
|
||||
|
|
@ -196,11 +189,6 @@ t_i32 main(t_i32 argc, t_str argv[], t_str envp[])
|
|||
state.env = create_env_map();
|
||||
if (populate_env(state.env, envp))
|
||||
me_abort("Unable to build env hashmap");
|
||||
state.prompt = "\x1B[93m"
|
||||
"42sh"
|
||||
"\x1B[32m"
|
||||
">"
|
||||
"\x1B[0m"
|
||||
"$ ";
|
||||
state.prompt = COLB_YELLOW "42sh" COL_GREEN ">" COL_WHITE "$ " RESET;
|
||||
ft_take_args(&state);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue