diff options
| author | Charles <sircharlesaze@gmail.com> | 2020-06-19 12:19:50 +0200 |
|---|---|---|
| committer | Charles <sircharlesaze@gmail.com> | 2020-06-19 12:19:50 +0200 |
| commit | a2ebd4ad078d7056a4c28ea697cfd3ebbf09d0f6 (patch) | |
| tree | b021f962e60e614ce0baabbd4cbf1a933a001def /README.md | |
| parent | bf97035e8d444c141725c0cf91aaaa285ae712af (diff) | |
| download | minishell-a2ebd4ad078d7056a4c28ea697cfd3ebbf09d0f6.tar.gz minishell-a2ebd4ad078d7056a4c28ea697cfd3ebbf09d0f6.tar.bz2 minishell-a2ebd4ad078d7056a4c28ea697cfd3ebbf09d0f6.zip | |
Added parenthesis handling in eval (not tested)
Diffstat (limited to 'README.md')
| -rw-r--r-- | README.md | 16 |
1 files changed, 9 insertions, 7 deletions
@@ -20,18 +20,18 @@ You can then read the man pages in ./doc/man or open ./doc/html/index.html in yo - [ ] Show a prompt when waiting for a new command - [x] Search and launch the right executable (based on the *PATH* variable or by using relative or absolute path) like in bash - [ ] It must implement the builtins like in bash: - - [ ] `echo` with option `-n` + - [x] `echo` with option `-n` - [ ] `cd` without `-` option - [ ] `pwd` without any options - [ ] `export` without any options - [ ] `unset` without any options - [ ] `env` without any options and any arguments - [ ] `exit` without any options -- [ ] `;` in the command should separate commands like in bash -- [ ] `'` and `"` should work like in bash except for multiline commands +- [x] `;` in the command should separate commands like in bash +- [x] `'` and `"` should work like in bash except for multiline commands - [ ] Redirections `<` `>` `>>` should work like in bash except for file descriptor aggregation - [ ] Pipes | should work like in bash -- [ ] Environment variables (`$` followed by characters) should work like in bash +- [x] Environment variables (`$` followed by characters) should work like in bash - [ ] `$?` should work like in bash - [ ] `ctrl-C`, `ctrl-D` and `ctrl-\` should have the same result as in bash @@ -40,11 +40,13 @@ You can then read the man pages in ./doc/man or open ./doc/html/index.html in yo - [ ] Redirection `<<` like in bash - [ ] History and line editing with Termcaps (`man tgetent` for examples) - [ ] Edit the line where the cursor is located. - - [ ] Move the cursor left and right to be able to edit the line at a specific location. Obviously new characters have to be inserted between the existing ones similarly to a classic shell. + - [ ] Move the cursor left and right to be able to edit the line at a specific location. + Obviously new characters have to be inserted between the existing ones similarly to a classic shell. - [ ] Use up and down arrows to navigate through the command history which we will then be able to edit if we feel like it (the line, not the history). - [ ] Cut, copy, and/or paste all or part of a line using the key sequence you prefer. - [ ] Move directly by word towards the left or the right using ctrl+LEFT and ctrl+RIGHT. - [ ] Go directly to the beginning or the end of a line by pressing `home` and `end`. - - [ ] Write AND edit a command over a few lines. In that case, we would love that ctrl+UP and ctrl+DOWN allow to go from one line to another in the command while remaining in the same column or otherwise the most appropriate column. + - [ ] Write AND edit a command over a few lines. In that case, we would love that ctrl+UP and ctrl+DOWN allow + to go from one line to another in the command while remaining in the same column or otherwise the most appropriate column. - [ ] &&, || with parenthesis for priorities, like in bash -- [ ] wilcard * like in bash +- [x] wilcard * like in bash |
