blob: dd550ae8d12a450efa99523b357ba5fdaa0f1be7 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
|
#+TITLE: TODO list for minishell
* Stuff to fix
** DONE PWD=qwe; pwd <== recheck
** DONE VISUAL=qweqwe crontab -e <=== deal with it
** DONE cd qweqwe <=== stderr
** DONE [#A] lpipes leaks <=== this is a big one (split lpipes | lcom | com)
** DONE [#A] /true/path/to/non-existant/bin/fail-plus-bad-fork
** DONE [#A] fix pwd when cd /
** DONE [#A] Multiline pipes (ls |)
** DONE [#A] Go full tok + quotes
** DONE [#A] fix \; \&& \||
** DONE [#A] Variables quotes qwe="okokoko kkok" asd='bav'
** DONE [#A] Fix PSX \stuff subst with "" ''
** DONE [#A] ls qweqwe; echo $? <---- substitute
** DONE [#A] Don't fuck with '$vars'
** DONE [#A] <>>
CLOSED: [2020-09-26 Sat 18:41]
** DONE [#A] Subst ~ after >
CLOSED: [2020-09-26 Sat 19:43]
** DONE [#A] msh ~> qwewqrqrqwrqwrqr ($? and output vs bash)
CLOSED: [2020-10-05 Mon 15:45]
** DONE [#A] bus error on msh ~> exit
CLOSED: [2020-10-05 Mon 16:12]
** DONE [#A] SEGV on pipes
** TODO [#A] pipes don't split "qweqwreq | qweqweqe"
** TODO [#A] buildable on Linux
** TODO [#A] 2>&1
** DONE [#B] forked write(2) stuff on cd
** DONE [#B] Multiline && ||
** DONE [#B] ./qwe.sh <=== handle bad shebang
** TODO [#B] msh ~> ./qwe.sh <---- without shebang (maybe works fine already)
** TODO [#B] 'qweqwe=qweqwe'
** DONE [#C] fix that goddamn exit(2) 25 leak
** DONE [#C] lpipes leaks on builtins (same as above man)
** DONE [#C] leaks on builtins (same as above man)
** DONE [#C] Variables stack rework
** DONE [#C] $1 $2 $3 $4... vars
CLOSED: [2020-09-26 Sat 17:32]
** DONE [#C] Fix $?
** DONE [#C] Handle comments better #
** TODO [#C] Handle memory
** TODO [#C] Fix ~ only first pos of arg
** TODO [#C] Various in-code TODO
* Stuff to add
** DONE [#A] builtins to pipes
** DONE [#A] Proper ~ subst
** TODO [#A] SIGNAL
** DONE [#B] && ||
** DONE [#B] .minishellrc
** DONE [#B] .minishell_history
** DONE [#B] history builtin
** TODO [#B] $_
** TODO [#B] Parse error before p_line for scripts
** DONE [#C] Norm [2/2]
CLOSED: [2020-10-03 Sat 14:46]
+ [X] libft
+ [X] minishell
** DONE [#C] [ builtin <=== pretty cool yet simple stuff ( [ $a -eq 1 ] )
** DONE [#C] alias
** DONE [#C] Read scripts
** DONE [#C] PSX rice
** DONE [#C] << [2/2]
CLOSED: [2020-09-28 Mon 19:30]
+ [X] base
+ [X] <<- to skip tabs
** TODO [#C] if else [0/4]
+ [ ] if - fi
+ [ ] else
+ [ ] else
+ [ ] elif
+ [ ] while - do - done
+ [ ] for
** TODO [#C] Termcaps
** TODO [#C] -i option (alias and history in scripts, etc)
** TODO [#C] Simple arithmetics $((a + 1))
** TODO [#C] &
|