Commit graph

533 commits

Author SHA1 Message Date
Jack Halford
985745f881 starting to fixi redirections 2017-02-03 13:21:06 +01:00
m600x
f43f11cd14 Rebase init 2017-02-03 12:36:25 +01:00
gwojda
7fb9aa2da5 changement du squelette (passage a un tableau de pointeur sur fonction) - pas encore tout resté 2017-02-02 19:07:32 +01:00
Jack Halford
7265a6c340 cleaner main, added ft_lexer to encapsulate all phases of tokenization 2017-02-02 15:45:55 +01:00
Jack Halford
b08b727779 orphan backquotes and orpan parens generate parse errors 2017-02-02 15:28:18 +01:00
Jack Halford
073ef322e4 fixed backquotes 2017-02-02 14:57:30 +01:00
gwojda
97ac417f81 ajout d'un fichier pour garder l'historique des utilisations precedentes (.42sh_history dans le dossier du 42sh) + gestion du resize de fenetre 2017-02-02 13:40:20 +01:00
Jack Halford
d5c830d347 Merge branch 'job-control-fix' 2017-02-02 01:21:16 +01:00
Jack Halford
0d8610ca65 exit statuses behave correctly now (like bash) 2017-02-02 00:56:16 +01:00
wescande
cd7b4cde7c merge de la suppression de leaks 2017-02-01 19:52:36 +01:00
wescande
9641ed9dbb suppression d'un malheureux leaks + opti recursivite 2017-02-01 19:50:32 +01:00
Jack Halford
62cdc4ca84 back to looking like the GNU tutorial 2017-02-01 17:30:45 +01:00
Gautier WOJDA
feac290fee Comportement de control C/D mise a jour (avec le bruit d'erreur pour control D) -- mise a jour de l'edition de lignes, quelques bugs resolus (merci wescande :p) 2017-02-01 16:54:15 +01:00
ariard@student.42.fr
f33d2be526 lexing if ok 2017-02-01 00:00:27 +01:00
wescande
43f1295324 finition sur le globbing (expansion des accolades, gestion des characteres echappe) => normalement aucun bug + mise a la norme 2017-01-31 23:25:41 +01:00
ariard@student.42.fr
b0dececf1f loop_del 2017-01-31 22:52:36 +01:00
ariard@student.42.fr
73b4cc3060 resolution empty tree + nested loop + while error lexing 2017-01-31 22:12:49 +01:00
wescande
3c8c143143 merge de extend_glob. Ajout de la barre de progression dans le makefile 2017-01-31 19:52:04 +01:00
wescande
ad7d814c74 extension du globbing implemente SUPER MAKEFILE QUI DECHIRE TA M*RE 2017-01-31 19:36:29 +01:00
Jack Halford
e7e93fa533 correction de la norme sur tout le moude job-control 2017-01-31 15:11:26 +01:00
ariard@student.42.fr
0dc029406f exec while ok nxt: resoudre bug empty tree 2017-01-30 23:47:05 +01:00
ariard@student.42.fr
000ae4116a generation subtree test_commands + consequent_commands 2017-01-30 19:31:34 +01:00
ariard@student.42.fr
2212c927f8 ast with while ok next:execution while 2017-01-30 17:23:55 +01:00
wescande
3c46e10736 integration du retour de glob dans les tokens 2017-01-30 17:19:09 +01:00
wescande
77b94ee8ce merge de globbing on master 2017-01-30 13:09:41 +01:00
wescande
7cfa1a4837 finalisation norme 2017-01-30 12:23:13 +01:00
ariard@student.42.fr
42bd66af42 generation liste chainee d'ast de multi commande ok, to-do : ast de while 2017-01-28 23:39:59 +01:00
Jack Halford
90bd6820c3 some function shrinking for norme 2017-01-28 20:24:54 +01:00
Jack Halford
279509a651 merged and fixed conflicts 2017-01-28 19:25:25 +01:00
wescande
4f5c65b9a2 finalisation du lexer avec les char echappé -> 1 unsigned char pour 8 char du token (1 bit pour 1 char). Module glob en place en tenant compte des echappé. fonction is_char_esc en place pour une utilisation plus globale 2017-01-28 01:19:03 +01:00
wescande
45bc317f97 working on esc character in token 2017-01-27 20:13:13 +01:00
Jack Halford
cc2fadf41c variables assigning passes initial testing, needs more testing 2017-01-27 19:40:36 +01:00
Gautier WOJDA
d6c6103bc4 avant de merge 2017-01-27 17:42:46 +01:00
ariard@student.42.fr
47a2fdd683 doing, parsing newline et generation liste chaine d arbre binaire 2017-01-26 22:43:47 +01:00
Jack Halford
7d57b47f5e end of day, still doesnt work properly 2017-01-26 20:32:39 +01:00
Jack Halford
26625dd1b1 commit pour cleanup la merde de wescande sur git........ 2017-01-26 19:39:39 +01:00
wescande
c3c47e9a5a ajout du ** en mode tmp. Besoin de votre avis dessus. segfault sur la ligne de commande mais doi etre rebase pour savoir d'ou ca vient 2017-01-26 19:24:00 +01:00
wescande
c556b0eea5 ajout de la recherche recursive sur le globbing et du chemin absolu. (/*/*/*) toujours pas de gestion du double star (**) 2017-01-26 19:24:00 +01:00
wescande
6102eda2df ajout de l'expand des brace, reste a travailler sur le tri du tableau de retour pour l'avoir par ordre ascii 2017-01-26 19:24:00 +01:00
wescande
87b70c8358 le match fonctionne avec les [ab], les [a-z] les [^ ou avec le ! a-z] et Il manque encore le * et les {}. Gestion du ~ a ajouter aussi 2017-01-26 19:24:00 +01:00
wescande
977238f69e premier commit. working. . . 2017-01-26 19:24:00 +01:00
Jack Halford
9d2e01de25 some progress on c_cc[VTIME] understading, almost there 2017-01-26 18:41:07 +01:00
Gautier WOJDA
bd33e1c9f2 ajout du control + R pour la recherche dans l'historique (j'ai prit pour exemple bash), et du \ en cas de \ en fin de ligne 2017-01-26 14:17:07 +01:00
ariard@student.42.fr
bcaa2fb943 lexing while_clause, passage en buffer dynamique au readscript todo tomorrow 2017-01-26 01:00:03 +01:00
Gautier WOJDA
3dd298b9c4 debut mise a la norme/nettoyage 2017-01-25 20:34:28 +01:00
Jack Halford
d3fd7bbded termios stuff added 2017-01-25 18:13:15 +01:00
Gautier WOJDA
485f1bb619 gestion des 2017-01-25 15:12:59 +01:00
ariard@student.42.fr
a011f94bcb comment same bug that with a space in input execution, tree empty cause bug execution 2017-01-24 20:17:46 +01:00
ariard@student.42.fr
ca8fb52d34 add lst_find_until + exec script multilines ok 2017-01-24 18:08:32 +01:00
Gautier WOJDA
691eef6800 Ajout de la gestion des heredocs (pas testé a fond, push avant de partir) 2017-01-24 17:22:56 +01:00
Gautier WOJDA
5d09281cb1 Ajout du fichier pour afficher l'historique 2017-01-24 15:38:10 +01:00
ariard@student.42.fr
0431add79c modifs readscript + token newline 2017-01-24 01:27:25 +01:00
Gautier WOJDA
a8471df8a7 quelques bugs resolus (longue ligne ne bug plus). pas encore totalement stable 2017-01-23 15:18:20 +01:00
ariard@student.42.fr
830b04208e shell tokenize newline debut 2017-01-22 23:32:57 +01:00
ariard@student.42.fr
f81a51cdd8 others shebang ok 2017-01-22 22:55:34 +01:00
ariard@student.42.fr
e4682de358 read script queue ok 2017-01-22 21:40:30 +01:00
Jack Halford
8e3f84cef1 finished parsing options, read loop done. few options are missing still, also have a break problem : read doesnt stop reading even when i dopnt want anymore input... 2017-01-22 18:23:21 +01:00
Gautier WOJDA
a73755aac7 ajout de opt x/c/v pour copier/coller la suite de la ligne affichee + correction de quelques bugs sur opt fleches haut/bas/gauche/droite + ajout d'un mode visu (f5 lance l'affichage complet de la str, f6 quitte ce mode) 2017-01-22 17:28:11 +01:00
Gautier WOJDA
ad3ad6f31b ajout rapide du ctrl C/ctrl D pour quitter rapidement le shell 2017-01-22 11:16:53 +01:00
ariard@student.42.fr
133f4bf052 read script init 2017-01-22 00:38:27 +01:00
Gautier WOJDA
e853458465 modif des termcaps : nouvelle version avec ajout/suppr/del/mouv par ligne (option fleche haut/fleche bas)/ home/end qui fonctionne. 2017-01-21 18:42:42 +01:00
Jack Halford
ee7ddc5e14 builtin_read first commit 2017-01-20 19:34:18 +01:00
Gautier WOJDA
a11d97c432 add some work 2017-01-20 18:17:57 +01:00
Gautier WOJDA
ad25d505b4 add some work 2017-01-19 18:32:06 +01:00
Jack Halford
dfdf245b1a backquote work, still some segfaults, end of day commit 2017-01-12 18:09:16 +01:00
Jack Halford
ef400aa225 first effort towards subshells and backquotes, lexer done, execution done for subshells 2017-01-11 18:06:26 +01:00
Jack Halford
757976474e j'avais cassé Ctrl-Z en mergeant, c'est fix 2017-01-10 18:05:24 +01:00
Jack Halford
8b414aac13 merge stash 2017-01-10 17:07:25 +01:00
Jack Halford
8f70df9264 addded my old set_termios 2017-01-10 17:05:17 +01:00
Jack Halford
f011ea258d first try at $ expansion, done on the fly in the lexer, not tested thoroughly 2017-01-10 15:20:45 +01:00
Jack Halford
0c99e8012c lexer improvements 2017-01-10 14:09:18 +01:00
Jack Halford
e4e32db599 merge done 2017-01-10 13:23:21 +01:00
Jack Halford
21276905b7 petit commit avant de merge job_control: unification de data_singleton (Samuel n'utilisais pas le meme) et quelques petites retouches. beau boulet sur le readline @sbenning 2017-01-10 11:58:03 +01:00
Jack Halford
0ec9313b4c pretty stable version of job control, ready to merge 2017-01-10 11:32:02 +01:00
Jack Halford
9d02933f72 builtin_bg done, doesnt take arguments yet 2017-01-09 17:00:56 +01:00
Jack Halford
153b9aec79 pipelines fixed, job messaging better for notification & for builtin_jobs. still gotta fix cat (See previous commits msgs) 2017-01-09 16:26:54 +01:00
Jack Halford
204d5b9795 pipelines broken in this commit 2017-01-09 16:01:09 +01:00
Jack Halford
bbdaedef06 fg works with vim but not cat, probablty something to do w/ SIGTTIN or SIGTTOU. 2017-01-08 16:14:31 +01:00
Jack Halford
df1f449778 pipelines fixed 2017-01-07 22:27:13 +01:00
Jack Halford
d2982d89bc next to do: end of pipe doesnt terminate by itself 2017-01-03 15:36:53 +01:00
Jack Halford
9e8939d588 cleanup after merge (few segfaults remained because of auto merge done the wrong way around. process_reset added 2017-01-02 21:31:20 +01:00
Jack Halford
4c63c30b04 merge 2017-01-02 19:11:47 +01:00
Jack Halford
4dcf3c319c stuff 2017-01-02 19:09:08 +01:00
Jack Halford
14e5d176aa end of holidays commit 2017-01-02 17:22:50 +01:00
Jack Halford
c9a39637da pipeend and pipestart bits in process attribute, env problems solved 2016-12-22 11:44:44 +01:00
Jack Halford
6144e4eab5 gotta fix problem with env 2016-12-19 17:12:02 +01:00
Jack Halford
40378fec73 bit more stable 2016-12-18 13:13:01 +01:00
Jack Halford
72b9e72fc8 days work, still a lot to do 2016-12-15 18:32:48 +01:00
Jack Halford
fc53e40a4f mostly compile-time error fixing 2016-12-14 23:26:29 +01:00
Samuel BENNING
4d9b5c02ca master: remove old includes/line_editing.h.old file 2016-12-14 13:56:57 +01:00
Samuel BENNING
53bb9a33d1 sbenning: fix OS definition in ft_readline.h 2016-12-14 13:51:59 +01:00
Jack Halford
e3b344bbb9 big refactoring in progress, will finish tomorrow 2016-12-13 17:59:58 +01:00
Jack Halford
a948a65cbb merged 2016-12-13 13:00:28 +01:00
Jack Halford
160810b3bc stuff i did before pulling 2016-12-13 12:58:18 +01:00
Jack Halford
87b9fab083 gonna add processes inside of job 2016-12-12 23:56:05 +01:00
Jack Halford
6cfac2eaff job control advances, still have to do ctrl-z, fg, bg, jobs 2016-12-12 18:13:29 +01:00
m4s
0a3b0cc03e sbenning: adding key-input correspondance in ft_input.h 2016-12-12 14:39:54 +01:00
m4s
323293a41d sbenning: refactoring rl_<files> 2016-12-12 13:15:47 +01:00
Jack Halford
83bde42e02 data singleton and sigchld handler advancements 2016-12-12 00:43:03 +01:00
Jack Halford
09e823bf2b job control: retrieval of dat as a global g_data so signal handlers can access it 2016-12-10 18:26:09 +01:00
Jack Halford
4cfeb62747 job_control first commit: 2016-12-10 17:47:36 +01:00
m4s
e578f0ef08 sbenning: move OLD folder and fix some intgration bugs (qstate_update/Makefile) 2016-12-10 12:39:56 +01:00
m4s
27ba76f08a sbenning: add RL_NOT macro (aka: !RL_IS) 2016-12-10 12:12:05 +01:00
m4s
8f22367d91 sbenning: Remove some old files 2016-12-10 10:53:22 +01:00
m4s
0c61957b6c sbenning: Replace all line-editing files 2016-12-10 10:45:38 +01:00
Jack Halford
4feaa64e08 exitstatus function, so i can set ? variable in one line with not memory handling. No more leaks, sexy debug macro DG(), valgrind suppression, gitignore 2016-12-10 00:20:59 +01:00
Jack Halford
d24633c9e6 execution functions changes: they now take reference of nodes, they now
delete nodes after operations (suffix).
2016-12-10 00:14:33 +01:00
Jack Halford
768d996b7a commit de reference 2016-12-03 15:37:50 +01:00
Jack Halford
972e3e6cbc pad mal de norme, aussi on enleve le backslash si necessaire au lexing 2016-12-03 13:15:58 +01:00
Jack Halford
2d631469e6 execution of &&/|| done, added aol_status and aol_search to data (aol=and_or_list) 2016-12-01 17:47:41 +01:00
Jack Halford
1f36fc1501 ft_cleanup called at exit, reset termios to ISIG,ICANON,ECHO 2016-12-01 14:47:28 +01:00
Jack Halford
9b85099485 env -i ./minishell quits and doesnt segfault. fixed behaviour for builtins in pipeline (fork when out isnt stdout) 2016-12-01 12:35:37 +01:00
Jack Halford
07b8519239 added &&,|| and & operators to lexer/parser 2016-11-30 22:09:55 +01:00
Jack Halford
af6452358c libft submodule reinit because of detached head state 2016-11-29 20:40:53 +01:00
Jack Halford
54a6cdecb0 pipes and redirection working 2016-11-29 20:30:36 +01:00
Jack Halford
1ac56a21e8 quoting FSM repaired 2016-11-29 15:39:39 +01:00
Jack Halford
569812ddcb pipeline working, added stack of old qstates to make the FSM adiabatic 2016-11-28 19:30:31 +01:00
Jack Halford
b59f05eb77 test.c to understant pipe() 2016-11-27 23:52:36 +01:00
Jack Halford
b0e7229c54 stuck at dup2 2016-11-26 23:05:23 +01:00
Jack Halford
aa456796ac parsing virtually finished exept heredoc 2016-11-24 23:11:07 +01:00
Jack Halford
2f2e7c03b1 nice tree printing, starting to look good 2016-11-20 23:32:39 +01:00
Jack Halford
bce0f37b8e major stuff today: wrote a proper lexer based on finite state machines, quoting OK. next is finishing the parser, and history of line editing module 2016-11-18 23:16:32 +01:00
Jack Halford
74f9916047 input is now char* not dlist, started to write FSM for quoting git add --all 2016-11-18 00:00:32 +01:00
Jack Halford
5f329666d3 more parsing and some exec 2016-11-14 18:50:18 +01:00
Jack Halford
92f2557e7e libft btree 2016-11-13 23:59:34 +01:00
Jack Halford
43529fc845 tokenization finished. interactive shell improvements for signal handlind (ISIG option turned off). next step is parsing, thinking of AST structure 2016-11-12 23:51:34 +01:00
Jack Halford
fff4912306 some token stuff 2016-11-11 20:57:51 +01:00
Jack Halford
76535c73c1 work of 10/11/16, started tokenization 2016-11-10 17:05:15 +01:00
Jack Halford
94cdecd642 last push before starting 42 2016-11-02 23:03:56 +01:00
Jack Halford
6359eac19f interactive shell with termcaps 2016-10-28 21:24:29 +02:00
Jack Halford
4c0e368997 did setenv, exit, 0 variable 2016-10-14 21:15:25 +02:00
Jack Halford
26ce7ebf45 forgot what i did today :/ 2016-09-28 00:47:18 +02:00
Jack Halford
cc3f6e37d3 first commit 2016-09-27 05:14:51 +02:00