Damit geht es
Code:
"/^\[code\](.*?)(^\[[^code]|\Z)/
msi"
Jetzt benötige ich nur noch eine Möglichkeit, Kommentare und Prä-Prozessor-Anweisungen zu finden, die sich direkt am Dateianfang befinden. Das gehört aber mehr zu GeSHi. Die folgenden Zeilen werden bspw. so formatiert:
Code:
; Kommentar
[color=red]#define ISPP "bla"[/color]
Dreh ich es um, würde die ISPP-Anweisung schwarz sein, und der Kommentar gefärbt werden. Füge ich am Anfang eine Leerzeile ein, dann wird beides korrekt gefärbt. Ich schätze, dass hier irgendwo das Problem liegt:
Code:
2 => array(
GESHI_SEARCH => '^;.*$',
GESHI_REPLACE => '\\0',
GESHI_MODIFIERS => 'm',
GESHI_BEFORE => '',
GESHI_AFTER => ''
)
btw,
COMMENT_SINGLE (stellt GeSHi für Zeilenkommentare zur Verfügung) kann ich nicht nutzen. Ich habe auch nicht mehr daran gedacht, dass das Semikolon auch als Trennzeichen in den einzelnen Sektionen benutzt wird. Man hat mich daran erinnert.
Folglich würde alles hinter einem Semikolon als Kommentar miss-interpretiert werden.
Code:
[Files]
Source: "bla.exe"[color=green]; DestDir: "{app}"[/color]
Darum der Umweg über reguläre Ausdrücke.