diff options
| author | _ov4 <ov4@ov4.org> | 2026-10-10 23:24:53 +0800 |
|---|---|---|
| committer | _ov4 <ov4@ov4.org> | 2026-10-10 23:24:53 +0800 |
| commit | 273858455fce9b7667f423d28830b5e08d0d7548 (patch) | |
| tree | 5efde5aba1c4479a2b694ce7ab00653110eda7e0 | |
| parent | 8524f73c01500dd892e113e96de14945363a02d1 (diff) | |
update documentation
| -rw-r--r-- | .gitignore | 3 | ||||
| -rw-r--r-- | README.md | 38 | ||||
| -rw-r--r-- | resource/icon.png | bin | 0 -> 12557 bytes |
3 files changed, 34 insertions, 7 deletions
@@ -73,4 +73,5 @@ src/test.cc test/ .vscode/ third_party/ -.idea/
\ No newline at end of file +.idea/ +.DS_Store
\ No newline at end of file @@ -1,28 +1,54 @@ +<p align="center"> + <img src="resource/icon.png" alt="Logo" width="120"> +</p> + # ccshell -A complex (or simple?) shell implemented in C++ (some C codes will be replaced by C++ soon, but anyway C is still subset of C++) +A complex (or simple?) shell implemented in C++ (some C codes (job control) will be replaced by C++ soon, but anyway C is still subset of C++) -NO AI/Codex/Claude Code/Antigravity +NO vibe coding / AI / Codex / Claude Code / Antigravity / Cursor / Kiro Only the very traditional methods (stack overflow, man, cpp reference, etc.) are used -Very simple and boring things (just job CRUD, really) are copied from CS:APP (I did that lab, so they're here), but will be refactored soon +👉 I am just learning these stuff as doing this project, so if you find something stupid, please just open issue/PR 😠+ +~~Very simple and boring things (just job CRUD, really) are copied from CS:APP (I did that lab, so they're here), but will be refactored soon~~ 👉 Job system will be rewritten, because CSAPP job model is not how sh/bash/zsh works, and then it will be in C++ + +## Feature -a VERY FANTASTIC PARSER is being done +Support very complex syntax with a systematic language analysis system (it is implemented with recursion, thus it would not have any problems with long command) +- async command (aka background) +- logic operators based on exit value +- brackets +- multiple commands +- TODO: pipeline, expansion, etc. + +A fantastic line editor has been DONE, and it will be adapted very SOON! 😘 ## Build +👉 ISO C++26 is used, please make sure gcc-14 or above is installed, and gcc-15/16 is most recommended + +(clang doesn't work well, don't use it!) + ```sh -make +make magic-enum # download dependencies +make # build project ``` ## Usage +Valid options can be found here `include/option.h` + +Or just run without any options + ```sh build/ccshell ``` -ignore this test +## Development + +ignore the test file (deprecated) ```sh git update-index --skip-worktree src/test.cc ``` diff --git a/resource/icon.png b/resource/icon.png Binary files differnew file mode 100644 index 0000000..605ff16 --- /dev/null +++ b/resource/icon.png |
