It is Prettier for C in 42. I know you are already a good Human norm. It's just for convenience.
Checkout c_formatter_42.vim
- Install clang-format.
- MacOS
$ brew install clang-format
Or you can install vscode extension Clang-Format
-
Copy
.clang-format
in your Workspace directory. -
VSCode Settings
- Set Default Formatter as clang-format.
- Turn off
Format On Paste
,Format On Save
. - Or You can just copy this in your
.vscode/settings.json
file.
"editor.defaultFormatter": "xaver.clang-format",
"editor.formatOnPaste": false,
"editor.formatOnSave": false,
If version is lower than 10, SpaceBeforeSquareBrackets: false
and AllowShortBlocksOnASingleLine: Never
can't work well.
So you should comment them out!)
- Execute code formatting
- On Windows: Shift + Alt + F
- On Mac: Shift + Option + F
- On Linux: Ctrl + Shift + I
It's not perfect. You should format these rules MANUALLY after auto-formatting.
global aligned
declarations aligned
declarations must be followed by one empty line
Empty line
int aaaa = 12;
float b = 23;
std::string ccc = 23;
Recommended to set in Workspace Preference
.
$ pip3 install c-formatter-42
$ pip3 install --user c-formatter-42 # if you don't have root privileges
$ git clone https://github.com/dawnbeen/c_formatter_42
$ cd c_formatter_42
$ pip3 install -e .
$ c_formatter_42 < file.c
$ python3 -m c_formatter_42 < file.c # If you get 'command not found' with the previous one
$ c_formatter_42 --help
usage: c_formatter_42 [-h] [-c] [FILE [FILE ...]]
Format C source according to the norm
positional arguments:
FILE File to format inplace, if no file is provided read STDIN
optional arguments:
-h, --help show this help message and exit
-c, --confirm Ask confirmation before overwritting any file
Feel free to report issues or contribute. :)