Hallo *,

wen es interessiert:

+ Das Makro "SyntaxHighlighting.bas" basiert auf der Nutzung der BasicMakro-Funktionalität 'replaceAll' in Kombination mit regulären Ausdrücken.
+ Das Eingabe-/Ausgabe-Medium ist eine LibreOffice WRITER-Datei.
+ Zur Syntax-Kolorierung von 2500 BasicMakroCode-Zeilen werden zirka 8 Sekunden benötigt.
+ Das Makro beinhaltet eine sehr ausführliche Dokumentation.

Entstanden ist die Idee zu diesem Makro aus anfänglichem "ein wenig experimentieren/spielen" mit der BasicMakro-Funktionalität 'replaceAll', beschrieben in:

BASIC-Makros für OpenOffice und LibreOffice
4.7.3. Erweitertes Suchen und Ersetzen

http://www.uni-due.de/~abi070/count.php?id=OOME_3_0_deutsch.pdf [Pitonyak/Lenhardt 20.02.2018 ]

Diese Meinung muss man sicherlich nicht teilen, aber ich persönlich finde es schon erstaunlich, wie (sehr) viel man da mit ein paar regulären Ausdrücken, in der richtigen Reihenfolge, erreichen kann.


[1] Algorithmus

1 Dokumentzeilen
1.1 Alle rechtsbündigen Leerzeichen entfernen
1.2 Schriftart, Schriftgröße und Schriftfarbe, alles auf GRÜN, setzen
2 Ziffern
2.1 Ziffern färben
2.2 Ziffern in Variablen rückfärben
3 Schlüsselwörter
3.1 Schlüsselwörter färben
4 Nicht-alphanumerische Zeichen
4.1 Nicht-alphanumerischen Zeichen färben
5 Zeichenketten
5.1 "-Folgen färben
5.2 Nicht leere Zeichenketten "..." färben
6 Kommentarzeilen
6.1 "'"-Kommentarzeilen färben
6.2 "REM"-Kommentarzeilen färben
6.3 '" und "' rückfärben (wenn optioniert)

[2] Anwendung

1. Neues WRITER-Dokument öffnen.
2. Zu bearbeitenden BasicMakroCode in das WRITER-Dokument kopieren.
3. Makro 'SyntaxHighlighting' starten.

[3] Nutzbare Steuer-Parameter im Makro-Abschnitt "BENUTZERBEREICH"

1. [ ja | nein ] Groß-Klein-Schreibung bei Schlüsselwörtern beachten ?
2. [ ja | nein ] Zeitmessung anzeigen ?
3. [ ja | nein ] Zusätzlich RegExp  ".*(""'|'""|'.'|.'.).*"  anwenden ?
4. Andere Schriftart als "Liberation Mono".
5. Andere Schriftgröße als "8".
6. [ ja | nein ] Benutzer-definierte Farben verwenden ?

[4] Download-Link

https://www.magentacloud.de/share/vtd8687phn

beinhaltend:

1. Makro

+ SyntaxHighlighting.txt

2. Anwendungsbeispiele

+ SyntaxHighlighting - Parameter IDE-Standard.odt
+ SyntaxHighlighting - Parameter benutzerdefiniert.odt
+ CoronaNewsV2 - Parameter IDE-Standard.odt
+ CoronaNewsV2 - Parameter benutzerdefiniert.odt


Feedback, Hinweise auf Fehler, Anregungen sind willkommen ...

Viele Grüße
Hans-Werner :-))

--
Liste abmelden mit E-Mail an: users+unsubscr...@de.libreoffice.org
Probleme? 
https://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/
Tipps zu Listenmails: https://wiki.documentfoundation.org/Netiquette/de
Listenarchiv: https://listarchives.libreoffice.org/de/users/
Datenschutzerklärung: https://www.documentfoundation.org/privacy

Antwort per Email an