From 273858455fce9b7667f423d28830b5e08d0d7548 Mon Sep 17 00:00:00 2001 From: _ov4 Date: Sat, 10 Oct 2026 23:24:53 +0800 Subject: update documentation --- README.md | 38 ++++++++++++++++++++++++++++++++------ 1 file changed, 32 insertions(+), 6 deletions(-) (limited to 'README.md') 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 ``` -- cgit v1.3.1-4-g156e