easy_formatter ist ein einfaches Tool um gewisse Anpassungen am Code vorzunehmen. Anschliessende Kompilierversuche und Visuelle Kontrolle sind um umgänglich. Das Tool wird voraussichtlich fürs release entfernt! Index ----- 1. Anwendung 2. Funktionen 3. Bekannte Bugs 1. Anwendung ------------ Bevor ihr eine Klasse nun ins CVS stellt, solltet ihr sie einmal durch dieses Tool laufen lassen. Alle Klassen (Unterordner werden ebenfalls gescannt (ausser EIFGEN und CVS) in den Ordner Test kopieren Hier werden nach durchführen des Programms alle Dateien gescannt Anschliessend findet ihr ebenfalls ein File formatted.log im Test-Ordner hier, seht ihr was so in etwa gelaufen ist ohne die Substitution der Tabs und Spaces. Ihr könnt den Pfad auch verändern ROOT_CLASS -> make 2. Funktionen ------------- easy_formatter macht folgende schönheitsoperationen: Allgemein ========= Behandelt ALLE *.e Files in gegebenem Unterverzeichniss (default: ./test) Alle doppelten Leerzeilen ("%N%N" werden durch "%N" ersetzt) Bei allen doppelten Space (" ") wird am Ende der Zeile -- ??? DOUBLE SPACE OCCURED angefügt. Bei allen Zeilen werden auf der rechten Seite alle Tabs und Spaces entfernt. Es werden alle "end --" entfernt. Von oben nach unten =================== Die Description wird ausgelesen und in ein vollständiges Indexing eingefügt, falls keine Description vorhanden ist, wird einfach ??? eingefügt Das nächste Wort oder die nächste Zeile nach dem Keyword "class" wird auf die Selbe Zeile wie "class" gebracht Keywords "Inherit" und "create" wird korrekt formatiert (inkl. 1. Nachfolgende Zeile) Keyword "creation" wird durch "create" ersetzt Keyword "feature" muss eine Beschreibung folgen, sonst added er folgende Info: -- ??? NO FEATURE DESCRIPTION 3. Bekannte Bugs ---------------- 1. Wenn mehrere create feature vorhanden sind und diese bei der definition auf einer neuen Zeile untereinander stehen wird nach der ersten Zeile eine neue Zeile eingefügt (eigentlich nach Styleguide gehören alle auf die selbe Zeile): create create make, make, make_default, => make_clean make_default, make_clean 2. Folgende description wird nicht automatisch eingelesen: description: "bla bla bla bla bla" als Vergleich werden diese richtig erkannt: description_version = 1: description: "[ bla bla bla bla bla ]" description_version = 2: description: " bla bla bla bla bla" description_version = 3: description: " bla bla% % bla% % bla bla"