Skip to content

Commit

Permalink
Update README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
agagniere authored Dec 11, 2024
1 parent 72a2251 commit 61bb7b2
Showing 1 changed file with 19 additions and 0 deletions.
19 changes: 19 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,3 +9,22 @@ starting with a reminder about what the preprocessor is and how it is integrated
then building up increasingly complex tools anyone can use in their C projects.

[Read it online !](https://agagniere.github.io/blackmagic/)

## Tools
Add this project as a dependency to your C project today (using Zig, Nix or Conan) to get:
- ANSI color codes as a string literal by writing `COLOR(UNDERLINED, BOLD, RED)` [`blackmagic/color.h`](include/blackmagic/color.h)
- Convert enums to/from strings [`blackmagic/enum.h`](include/blackmagic/enum.h)
- Logs with a compile-time configurable formtat and level [`blackmagic/log.h`](include/blackmagic/log.h)

## Roadmap
I would like to explain the following tricks in the book:
- [x] Logging
- [ ] Default arguments
- [ ] Function overloading
- [ ] Enum to/from string
- [ ] Serialization / Deserialization of a structure
- [ ] Unit-tests library

## Extras
- Sphinx directive to show C code before and after preprocessing
- Custom pygment lexer to color the code the way the preprocessor sees it

0 comments on commit 61bb7b2

Please sign in to comment.