README.md (2054B)
1 # 90s 2 Minimalist, customizable shell written in C99 with syntax highlighting. 3 4 * Disclaimer: This project is for me to learn to write Unix syscalls, code might be inefficient, feel free to point out the mistakes and open a issue for that! 5 6 # Preview 7 [![Valid command](https://r2.e-z.host/3c62bb3a-a8a9-43f6-afd6-553646f51dc4/aqnpvvud.png)]() 8 [![Invalid command](https://r2.e-z.host/3c62bb3a-a8a9-43f6-afd6-553646f51dc4/xf80dq0b.png)]() 9 10 # Features 11 - No dependencies except a compiler 12 - Showing current time and directory with custom color 13 - Syntax highlighting on valid commands using ANSI colors 14 - History navigation using up and down keys with history command 15 - Support for environment variables 16 - Editing using left and right arrow keys 17 - !! to repeat last command 18 - Pipes 19 - autojump to directorys 20 - stdin, stdout, stderr redirect 21 - Background jobs 22 ## Built in commands 23 - cd 24 - help 25 - exit 26 - history 27 - export 28 - source 29 - j 30 - bg 31 ## Todo Features 32 - Tab completion 33 - Git integration 34 - Allow arguments with space in double quotes 35 - Underline file path if it exists `echo -e "\033[4mabc\033[0m"` 36 - Aliases 37 38 # Usage 39 ```sh 40 $ ./90s 41 42 # > to redirect stdout 43 # < to redirect stdin 44 # 2> to redirect stderr 45 # >> to append to file 46 # & to run command in background 47 # | to pipe 48 # !! to repeat last command 49 # >& to redirect both stdout and stderr 50 ``` 51 52 # Dependencies 53 None 54 55 # Building 56 You will need to run these with elevated privilages. 57 ``` 58 $ make 59 # make install 60 ``` 61 62 # Notes 63 - History is either saved in HOME or XDG_CONFIG_HOME if it is defined 64 65 # Contributions 66 Contributions are welcomed, feel free to open a pull request. 67 68 # License 69 This project is licensed under the GNU Public License v3.0. See [LICENSE](https://github.com/night0721/90s/blob/master/LICENSE) for more information. 70 71 # Credits 72 - [Tutorial - Write a shell in C](https://brennan.io/2015/01/16/write-a-shell-in-c/) 73 - [dash](https://github.com/danishprakash/dash) 74 - [Shell assignment](https://www.cs.cornell.edu/courses/cs414/2004su/homework/shell/shell.html) 75 - [khol](https://github.com/SanketDG/khol/)