/* ************************************************************************** */ /* */ /* :::::::: */ /* prompt.c :+: :+: */ /* +:+ */ /* By: whaffman +#+ */ /* +#+ */ /* Created: 2025/02/04 16:13:08 by whaffman #+# #+# */ /* Updated: 2025/02/04 18:56:08 by whaffman ######## odam.nl */ /* */ /* ************************************************************************** */ #include "minishell.h" char *get_path(t_minishell *minishell) { char *home; char *temp; char *cwd; cwd = getcwd(NULL, 0); home = get_enviroment(minishell->enviroment, "HOME"); if (cwd == NULL) { perror("getcwd"); return (NULL); } if (home && ft_strncmp(cwd, home, ft_strlen(home)) == 0) { temp = ft_strjoin("~", cwd + ft_strlen(home)); free(cwd); cwd = temp; } return (cwd); } char *ft_prompt(t_minishell *minishell) { char *line; char *cwd; char *prompt; char *temp; cwd = get_path(minishell); temp = ft_strjoin(BLUE, cwd); free(cwd); cwd = ft_strjoin(temp, RESET); free(temp); prompt = ft_strjoin(cwd, " > "); line = readline(prompt); free(prompt); return (line); }