check epitech c coding style
Project description
NorMatrix
check some norm for you
install
with pipy
pip install normatrix
echo $SHELL
if you are using bash shell (the echo
print /something/bash):
echo alias normatrix=\"python -m normatrix\" >> $HOME/.bashrc
else if you are using zsh shell (the echo
print /something/like/zsh):
echo alias normatrix=\"python -m normatrix\" >> $HOME/.zshrc
else handle this yourself bruh;
now you can just write normatrix
on your shell
from source
git clone https://github.com/Saverio976/NorMatrix.git
cd 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;
now you can just write normatrix
on your shell
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)
- ...
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)
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
--tests-run if you want to execute the tests (default: execute the norm checker)
--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
--tests-run if you want to execute the tests (default: execute the norm checker)
--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
--tests-run if you want to execute the tests (default: execute the norm checker)
--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
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: 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
File details
Details for the file normatrix-0.2.4.tar.gz
.
File metadata
- Download URL: normatrix-0.2.4.tar.gz
- Upload date:
- Size: 13.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.7.1 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7322ce2d0ab5103473ee976f9080ebb83c19357011e523cb91f4e17131c55bb5 |
|
MD5 | c22759cd1bbe9aab1f0b9f8d674c2ec5 |
|
BLAKE2b-256 | bc43273dda99177dfd2bc1cc4aacc97785d78a754908c81f93ce7bb086611f9a |
Provenance
File details
Details for the file normatrix-0.2.4-py3-none-any.whl
.
File metadata
- Download URL: normatrix-0.2.4-py3-none-any.whl
- Upload date:
- Size: 19.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.7.1 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2137b5378ec2aaedcf37e002ff0831a6e24318cdd661aff1f331373d9ef27d35 |
|
MD5 | 333120902dfd15bd9d1d65a9bdffc17c |
|
BLAKE2b-256 | ed1045a924f75ff37866d6302c3175875b2967b09a276bd3252ba7db840630c0 |