From 273858455fce9b7667f423d28830b5e08d0d7548 Mon Sep 17 00:00:00 2001 From: _ov4 Date: Sat, 10 Oct 2026 23:24:53 +0800 Subject: update documentation --- .gitignore | 3 ++- README.md | 38 ++++++++++++++++++++++++++++++++------ resource/icon.png | Bin 0 -> 12557 bytes 3 files changed, 34 insertions(+), 7 deletions(-) create mode 100644 resource/icon.png diff --git a/.gitignore b/.gitignore index 7c8a38b..8a36815 100644 --- a/.gitignore +++ b/.gitignore @@ -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 diff --git a/README.md b/README.md index e5f717f..87ce91a 100644 --- a/README.md +++ b/README.md @@ -1,28 +1,54 @@ +

+ Logo +

+ # 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 new file mode 100644 index 0000000..605ff16 Binary files /dev/null and b/resource/icon.png differ -- cgit v1.3.1-4-g156e