22 lines
607 B
Python
22 lines
607 B
Python
import re
|
|
|
|
CONVENTIONAL_PATTERN = re.compile(r'^(\w+)(?:\((\w+)\))?: (.+)$')
|
|
|
|
def validate_conventional(message):
|
|
"""Validate if message follows conventional commit format."""
|
|
match = CONVENTIONAL_PATTERN.match(message.strip())
|
|
return bool(match), match.group(0) if match else message
|
|
|
|
def fix_conventional(message, diff):
|
|
"""Attempt to fix conventional commit format."""
|
|
message = message.strip()
|
|
|
|
if not message:
|
|
return None
|
|
|
|
if ':' in message:
|
|
parts = message.split(':', 1)
|
|
return f"feat: {parts[1].strip()}"
|
|
|
|
return f"feat: {message}"
|