check epitech c coding style
Project description
NorMatrix
check some norm for you
install
With Pipy
with pipy
pip install normatrix
Now you can use it with python3 -m normatrix
in your terminal
And if you want to just write normatrix
:
echo $SHELL
if you are using bash shell (the echo
print /something/bash
):
echo alias normatrix=\"python3 -m normatrix\" >> $HOME/.bashrc
else if you are using zsh shell (the echo
print /something/like/zsh
):
echo alias normatrix=\"python3 -m normatrix\" >> $HOME/.zshrc
else handle this yourself bruh;
From source
from source
git clone https://github.com/Saverio976/NorMatrix.git
cd NorMatrix
Now you can use it with ./path/to/folder/NorMatrix/main.py
in your terminal
And if you want to just write normatrix
:
echo $SHELL
if you are using bash shell (the echo
print /something/bash
):
echo alias normatrix=\"$PWD/main.py\" >> $HOME/.bashrc
else if you are using zsh shell (the echo
print /something/like/zsh
):
echo alias normatrix=\"$PWD/main.py\" >> $HOME/.zshrc
else handle this yourself bruh;
Current Checks
- 80 cols per line
- space/tab alone (in a line)/(at the end of line)
- two newline at end of file
- two newline between function (between all buf chhhtt)
- libc function call (pr welcome to add some libc function always banned)
- nested branch more than 3 branch
- no more than 20 lines per function
- comma with no space after
- end of parenthesis with a open curly bracket next
){
- star char
*
like thischar* buf
- preprocessors indentations (
#if..
,#endif
) - multiple statements
- 5 functions per file
- filename of source code only snake_case
- no line break at end of file
- 5+5 7/9 that need a space (but some false positiv goes in)
- no space after [ and space before ]
- header
- #define in .c
- ...
doc
(if you use pipy) python -m normatrix
usage: python -m normatrix [-h] [--tests-run] [--no-operators-pluggin] [paths ...]
The C Epitech Coding Style Norm Checker
positional arguments:
paths list of path to check (default: the current working directory)
options:
-h, --help show this help message and exit
--no-operators-pluggin
remove the operators pluggin (because it print some false positiv for now)
(only from source) main.py
usage: ./main.py [-h] [--tests-run] [--no-operators-pluggin] [paths ...]
The C Epitech Coding Style Norm Checker
positional arguments:
paths list of path to check (default: the current working directory)
options:
-h, --help show this help message and exit
--no-operators-pluggin
remove the operators pluggin (because it print some false positiv for now)
(only from source) exec.sh
(this file exists only to keep compatibility to older version)
usage: ./exec.sh [-h] [--tests-run] [--no-operators-pluggin] [paths ...]
The C Epitech Coding Style Norm Checker
positional arguments:
paths list of path to check (default: the current working directory)
options:
-h, --help show this help message and exit
--no-operators-pluggin
remove the operators pluggin (because it print some false positiv for now)
(only from source) Makefile
(this file exists only to keep compatibility to older version)
USAGE:
make -C path/to/NorMatrix PATH_CHECK=$PWD
DESCRIPTION:
check the norm! in the current working directory
(call main.py)
ARGS:
-C path/to/NorMatrix run the makefile that is in path/to/NorMatrix
instead of the one where you are
PATH_CHECK=$PWD check the norm in your current working
directory
example if you run it as a github workflow
this is not the latest normatrix but : link (this workflow pass well, but it will not if you copy the code below)
run it as a github workflow
in the repo root :
mkdir .github
mkdir .github/workflows
echo '
name: NorMatrix Check
on: [push]
jobs:
norm:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: set up python
uses: actions/setup-python@v2
with:
python-version: '3.9'
- name: clone NorMatrix
run: git clone https://github.com/Saverio976/NorMatrix.git
- name: NorMatrix
run: ./NorMatrix/main.py
' > .github/workflows/normatrix_check.yml
Contribute
[more information on CONTRIBUTNG.md]
special thanks
chempa for his sample of file that dont follow the epitech norm
contributors
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for normatrix-0.2.8-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 726714012dae7c4ff374cb88999e77e0121ef061ac91b32fff390f5b0c1def10 |
|
MD5 | db92dd57362b3e693b135dd0530e9c81 |
|
BLAKE2b-256 | e2ea07ac3d0aed744f53e46575a035566d35409b5d006a7e547ba3d3e6fb3753 |