File size: 948 Bytes
47d8ef9
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
import os,re
def detect_language(filename,content=''):
    ext=os.path.splitext(filename)[1].lower()
    if ext in ('.py',): return 'python'
    if ext in ('.js',): return 'javascript'
    if ext in ('.html',): return 'html'
    if 'def ' in content: return 'python'
    return 'text'

def analyze_code(content):
    lines=content.splitlines(); total=len(lines); empty=sum(1 for l in lines if not l.strip())
    funcs=sum(1 for l in lines if re.search(r'\bdef\s+\w+|\bfunction\s+\w+',l))
    classes=sum(1 for l in lines if re.search(r'\bclass\s+\w+',l))
    return {'lines':total,'functions':funcs,'classes':classes,'empty':empty,'summary':f'{total} lines, {funcs} functions, {classes} classes'}

def suggest_fixes(lang,content):
    fixes=[]
    if lang=='python':
        if 'print ' in content and '()' not in content: fixes.append('Use print(...) for Python 3')
    if 'TODO' in content: fixes.append('Address TODO comments')
    return fixes