aboutsummaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
authorCharles Cabergs <me@cacharle.xyz>2020-09-14 20:48:50 +0200
committerCharles Cabergs <me@cacharle.xyz>2020-09-14 20:48:50 +0200
commit8e40323db9715621d8ab45ff6d943c2eeba46ea0 (patch)
tree010828d6a75dfaaf94535035dc50b6a2a55aa12e /README.md
parent3693acaff9fbf3f34dc2907e95dd221d5a8bc9e4 (diff)
downloadminishell-path.tar.gz
minishell-path.tar.bz2
minishell-path.zip
Removing path hash table, replacing it by brute force searchpath
Diffstat (limited to 'README.md')
-rw-r--r--README.md64
1 files changed, 21 insertions, 43 deletions
diff --git a/README.md b/README.md
index d9f52cd..9df33be 100644
--- a/README.md
+++ b/README.md
@@ -1,52 +1,30 @@
# minishell
-minishell project of school 42
+minishell project of school 42.
-## Testing
+## Authors
+
+* [nahaddac](https://github.com/nass1pro)
+* [cacharle](https://github.com/cacharle)
+## Usage
+
+```sh
+$ make
+$ ./minishell
```
->make test
+
+## Testing
+
+Done with [minishell\_test](https://github.com/cacharle/minishell_test).
+
+```sh
+$ git submodule update minishell_test
+$ cd minishell_test
+$ ./run
```
## Documentation
-Generate with `make doc` (clean with `make doc_clean`).
-You can then read the man pages in ./doc/man or open ./doc/html/index.html in your browser.
-
-## TODO
-
-### Mandatory
-
-- [x] 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:
- - [x] `echo` with option `-n`
- - [ ] `cd` without `-` option
- - [ ] `pwd` without any options
- - [x] `export` without any options
- - [x] `unset` without any options
- - [ ] `env` without any options and any arguments
- - [x] `exit` without any options
-- [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
-- [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
-
-### Bonus
-
-- [ ] 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.
- - [ ] 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.
-- [ ] &&, || with parenthesis for priorities, like in bash
-- [x] wilcard * like in bash
+Generate with `make doc` (clean with `make doc_clean`).
+You can then read the man pages in `./doc/man` or open `./doc/html/index.html` in your browser.