Auto-Repair & Self-Healing Builds
VelinScript geht einen Schritt weiter als klassische Compiler: Es sagt Ihnen nicht nur, was falsch ist, sondern versucht aktiv, es zu reparieren. Die AutoFix Engine ist tief integriert und behebt Syntax-Fehler vollautomatisch.
Ideal für
- Syntax-Fehler automatisch beheben
- Fehlende Klammern {}, (), [] ergänzen
- Tippfehler in Keywords korrigieren
- Entwicklungszeit massiv reduzieren
- Lernhilfe durch Korrektur-Vorschläge
- CI/CD-Integration für stabile Builds
Nicht gedacht für
- Logische Programmfehler (Logik-Bugs)
- Type-Fehler (Nutzen Sie velin check)
- Code-Qualität & Stil (Linter nutzen)
- Security-Vulnerabilities (Security Scanner)
- Performance-Engpässe (Profiler nutzen)
1. Funktionsweise
Fehlererkennung
Der Parser meldet z.B. 'Unerwartetes Dateiende, } erwartet'.
Analyse
Die AutoFix Engine analysiert den Kontext (Einrückung, offene Blöcke).
Patching
Der Code wird im Speicher korrigiert (z.B. wird } eingefügt).
Re-Run
Der Compiler versucht erneut, den gepatchten Code zu verarbeiten.
Persistierung
Bei Erfolg werden Änderungen optional in die Datei zurückgeschrieben.
Der Prozess ist iterativ: VelinScript kann bis zu 5 Reparatur-Durchläufe machen, um Kaskadenfehler zu beheben.
2. Nutzung
Im CLI (--autofix)
Reparatur explizit anfordern oder nur Vorschläge anzeigen:
# Versucht zu kompilieren und repariert Fehler automatisch
velin compile -i main.velin --autofix
# Prüft nur und zeigt an, was repariert würde (Dry Run)
velin check -i main.velin --autofixIn der IDE
Die VS Code Extension nutzt dieselbe Engine für Quick Fixes.
Interaktion
Klicken Sie auf die rote Unterstreichung oder drücken Sie Ctrl+.
Aktion
Wählen Sie "Fix syntax error automatically".
3. Was wird repariert?
Klammersetzung
- Fehlende }, ], ) am Ende
- Unbalancierte Generics: List<string
Satzzeichen
- Fehlende Semikolons
- Falsche Kommas in Listen
Typos (Exp.)
- funtion -> fn
- retrun -> return
4. Konfiguration
Steuern Sie die Aggressivität der Engine in der velin.toml:
[compiler.autofix]
# Aktiviert AutoFix standardmäßig für 'velin compile'
enabled = true
# Maximale Anzahl der Iterationen (Verhindert Endlos-Schleifen)
max_passes = 5
# Welche Kategorien sollen repariert werden?
rules = [
"braces", # Klammern
"semicolons", # Semikolons
"keywords", # Tippfehler in Keywords
"imports" # Auto-Imports (nur LSP)
]
# Soll vor dem Überschreiben der Datei ein Backup erstellt werden?
backup = true5. Sicherheit & Grenzen
Die AutoFix Engine ist konservativ. Sie wird niemals Logik ändern oder raten, was Sie gemeint haben könnten, wenn es mehrdeutig ist.
Reparierbar
Nicht reparierbar
Best Practice
Nutzen Sie AutoFix als Lernwerkzeug. Schauen Sie sich die Änderungen an (z.B. via git diff), um zu verstehen, was falsch war und wie es korrekt gelöst wurde.