int main(int argc, char **argv, char **env) { t_ex ex_info; char *input; argc = 0; argv = 0; ex_info.env = env; ft_putendl(ex_info.env[ft_search(&ex_info, "USER="******"USER="******"$>"); if (ft_get_command(&ex_info, &input) == 0) { if (ft_strcmp(input, "exit") == 0) exit(0); if (ft_strcmp(input, "cd") == 0) ft_go_home(&ex_info); else if ((ft_strcmp(ex_info.argv[0], "cd") == 0) || (ft_strcmp(ex_info.argv[0], "~") == 0)) ft_change_dir(&ex_info); else ft_ex_command(&ex_info); } } }
t_elem *ft_get_input(char *s, t_elem *l, int *flag) { if (*flag == 1) *flag = 0; else if (s[0] == 27 && s[2] == 'A') ft_up(l); else if (s[0] == 27 && s[2] == 'B') ft_down(l); else if (s[0] == 32) ft_space(l); else if (s[0] == 1) ft_select_all(l); else if (s[0] == 24) ft_unselect_all(l); else if (s[0] == 27 && s[2] == 'F') ft_go_toend(l); else if (s[0] == 27 && s[2] == 'H') ft_go_home(l); else if ((s[0] == 27 && s[1] == 0) || s[0] == 4) ft_unset_canon(); else if (s[0] == '\n') ft_enter(l); else if (s[0] == 8 || s[0] == 127 || (s[0] == 27 && s[2] == '3')) l = ft_delete(l); return (l); }
t_magic *do_cd(t_magic *magic, char **info) { if (ft_lentab(info) == 1 || ft_strcmp(info[1], "~") == 0) magic = ft_go_home(magic); else if (ft_lentab(info) == 2) { if (ft_strcmp(info[1], "-") == 0) magic = ft_cd_return(magic); else if (info[1][0] != '~') magic = ft_do_cd_path(magic, info); else magic = ft_go_from_home(magic, info); } else if (ft_lentab(info) == 3) magic = ft_double_cd(magic, info); else ft_putendl("command unknow"); return (magic); }