Added check_naming_convention hook

This commit is contained in:
rami 2024-03-01 17:20:52 +05:30
parent aae27b8a3e
commit 5802220a75

View file

@ -0,0 +1,20 @@
import re
import sys
import os
def check_naming_convention(files):
for file_path in files:
with open(file_path, 'r') as file:
lines = file.readlines()
for line_num, line in enumerate(lines, start=1):
words = re.findall(r'\b[a-zA-Z0-9_]+\b', line)
for word in words:
if re.match(r'^[a-z]+(?:_[a-z]+)*$', word):
continue # Valid snake_case
elif re.match(r'^[A-Z][a-zA-Z0-9]*$', word):
if '_' in word:
print(f"WARNING: CamelCase with underscores found in {os.path.basename(file_path)}:{line_num}: {word}")
continue # Valid CamelCase
else:
print(f"ERROR: Invalid naming convention in {os.path.basename(file_path)}:{line_num}: {word}")
sys.exit(1)