Version 3.1.0ErweitertLetzte Aktualisierung: 2026-02-02

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.

Ideal für

  • Syntax-Fehler - Behebt häufige Syntax-Fehler automatisch
  • Fehlende Klammern - Fügt fehlende {}, (), [] ein
  • Flüchtigkeitsfehler - Korrigiert Tippfehler in Keywords
  • Lernhilfe - Zeigt, wie Fehler korrekt behoben werden

NICHT gedacht für

  • Logische Fehler - Kann keine logischen Programmfehler beheben
  • Type-Fehler - Für Type-Checking nutzen Sie velin check
  • Security - Für Security nutzen Sie den Security Scanner
  • Performance - Für Performance nutzen Sie den Profiler

Funktionsweise

Die AutoFix Engine analysiert Fehler im Kontext und patcht den Code iterativ:

1

Fehlererkennung

Parser meldet z.B. "Expected '}'"

2

Analyse

Engine prüft Einrückung und offene Blöcke

3

Patching

Code wird im Speicher automatisch korrigiert

4

Re-Run

Compiler verarbeitet gepatchten Code erneut

Der Prozess ist iterativ: VelinScript kann bis zu 5 Reparatur-Durchläufe machen, um Kaskadenfehler zu beheben.

Was wird repariert? (Neu in 3.1.0)

Klammern & Generics

Fehlende }, ], ) oder unbalancierte Generics wie List<string

Let & Const Fixes

let x; -> let x = null; (Expected '=' fixes)

Funktions-Signaturen

fn test(x number) -> fn test(x: number)

Literal zu Typ

let x: 0.0 -> let x: number (Ersetzt Literale durch Typen)

Satzzeichen

Fehlende Semikolons, Doppelpunkte oder => in Match-Patterns

Struct Literale

Fügt fehlende Kommas oder Doppelpunkte in Structs ein

Beispiele für Parse-Fehler-Fixes

Vorher:
let x;
fn test(x number) {}
return;
Nach AutoFix:
let x = null;
fn test(x: number) {}
return null;
Vorher (Match & Types):
match x { 1, 2 }
let y: 0.0;
Nach AutoFix:
match x { 1 => {}, 2 => {} }
let y: number;

Konfiguration

velin.tomltoml
[compiler.autofix]
# Aktiviert AutoFix standardmäßig für 'velin compile'
enabled = true

# Maximale Anzahl der Iterationen
max_passes = 5

# Welche Kategorien sollen repariert werden?
rules = [
    "braces",       # Klammern
    "semicolons",   # Semikolons
    "keywords",     # Tippfehler in Keywords
    "imports",      # Auto-Imports (nur LSP)
    "types"         # Literal zu Typ Konvertierung
]

# Soll vor dem Überschreiben ein Backup erstellt werden?
backup = true

Velin CLI Output

Terminal — velin compile
$ velin compile -i main.velin --autofix

🔧 AutoFix aktiviert

[AutoFix] 3 Fehler behoben:
  ✓ main.velin:45 -> Fehlende '}' ergänzt
  ✓ main.velin:12 -> Typ 'List<String' zu 'List<String>' korrigiert
  ✓ utils.velin:8 -> Semikolon eingefügt

✓ Kompilierung erfolgreich
✓ Alle Fehler automatisch behoben