Jede Datei wird mit demselben KRL-Parser geprüft, den auch der Editor verwendet; das Ergebnis ist daher identisch mit der Prüfung einer einzelnen Datei im Editorfenster.
In einem Durchlauf werden drei Dinge geprüft:
- die Ausgewogenheit und Verschachtelung der Zeilen ;FOLD / ;ENDFOLD,
- die KRL-Syntax (ANTLR-Grammatik),
- Warnungen - zum Beispiel ein Name in ;ENDFOLD (name), der nicht mit dem Namen im zugehörigen ;FOLD übereinstimmt.
Ist die Fold-Struktur einer Datei fehlerhaft, wird die KRL-Syntax dieser Datei überhaupt nicht geprüft - der Parser kann den Fold-Inhalt dann nicht zuverlässig aus dem Programmtext entfernen. Eine solche Datei wird ausdrücklich gemeldet, damit sie nicht mit einer fehlerfreien Datei verwechselt wird.
Geprüfte Dateien
Das Plugin kann prüfen:
- die aktive Datei im Editor,
- alle geöffneten *.SRC-Dateien der aktuellen Sitzung,
- alle in einem angegebenen Verzeichnis gefundenen Dateien - mit Dateifilter (standardmäßig *.src) und optionaler rekursiver Suche.
Optionen
- File filter - welche Dateien aus dem Suchverzeichnis übernommen werden.
- Directory - das zu durchsuchende Verzeichnis.
- Search recursively - alle Unterverzeichnisse einbeziehen.
- All opened *.SRC files - statt eines Verzeichnisses die Dateien der aktuellen Sitzung prüfen.
- Open file in editor if any syntax error occurs - jede fehlerhafte Datei wird in einer neuen Editor-Registerkarte geöffnet.
- Report warnings as well - neben Fehlern werden auch Warnungen in den Bericht aufgenommen.
Bericht
Die Ergebnisse werden nicht in einem Meldungsfenster angezeigt - die Prüfung eines ganzen Roboterarchivs erzeugt weit mehr Zeilen, als ein Dialog darstellen kann.
Sie werden in einen HTML-Bericht geschrieben: Dateiname, Zeilennummer und Meldung für jeden Befund. Am Ende des Durchlaufs wird eine kurze Zusammenfassung angezeigt - wie viele Dateien geprüft wurden, wie viele Fehler und - sofern erfasst - wie viele Warnungen gefunden wurden; von dort aus kann der Bericht gespeichert werden.
Die Zeilennummern beziehen sich auf die tatsächliche Zeile in der Datei, auch bei Programmen mit Folds.
Die Syntaxprüfung wird vom Plugin selbst gestartet und hängt daher nicht von der Option Check programm syntax on file load im KRC-Konfigurationsfenster ab.
Alle Optionen werden gespeichert und beim nächsten Start des Plugins wiederhergestellt.