![]() |
Frage zu SyntaxHighlighting & Grammarfile
Hi
ich habe mal eine Frage zu den Grammarfiles, die ich schreiben kann um einen SyntaxHighlighter für SynEdit zu schrieben. Ich möchte gerne einzelne Zeichen (+ - . , ( ) usw) highlighten lassen. Prinzipiell kann ich doch im Grammafile ein Tokentype SYMBOL definieren und die Symbole dann praktisch als Keyword angeben also etwa so
Code:
Wenn ich das aber mache und das Grammarfile dann mit SynGen compiliere, bekomme ich zwar eine lauffähige Delphi-Unit aber beim Syntaxhighlighting wird dann nur das erste Symbol in der Liste berücksichtigt. (im Beispiel oben wäre das der Punkt). Kann mir jemand verraten warum? :gruebel:TOKENTYPES ... ... Symbol Foreground=clRed ... |><| KEYS Symbol . , - ( ) { } |><| |
Re: Frage zu SyntaxHighlighting & Grammarfile
Ich hab zwar bisher noch keine eigene Highlighter erstellt,
aber könnte es sein das man entweder vor jedes Zeichen "KEYS Symbol" schreiben,oder aber die ganzen Zeichen irgendwie einklammern muss ? |
Re: Frage zu SyntaxHighlighting & Grammarfile
Liste der Anhänge anzeigen (Anzahl: 1)
Ich hab mal einen Highlighter für BrainFuck geschrieben. Den hab ich mal angehängt. War ne Menge Bastelarbeit, SynEdit kann ganz gut rumzicken. :)
+-,.[]<>! werden fett dargestellt, {} rot, () blau und der rest grau. Als Basis hatte ich auch so ein Grammarfile genommen, musste aber per Hand einiges ändern/hinzufügen. |
Re: Frage zu SyntaxHighlighting & Grammarfile
thx werd's mal testen :dp:
|
Re: Frage zu SyntaxHighlighting & Grammarfile
Hmm... Also bei mir funktioniert der BrainFuck Highlighter nicht.
Alles, was in {} steht wird zwar rot angezeit aber bei den Symbolen werden nur die eckigen Klammern [] fett gedruckt. |
Re: Frage zu SyntaxHighlighting & Grammarfile
Welche Version von SynEdit hast du?
mfG mirage228 |
Re: Frage zu SyntaxHighlighting & Grammarfile
Version 1.04
was ist denn die neuste, die mit Delphi 7 funktioniert? |
Re: Frage zu SyntaxHighlighting & Grammarfile
die neueste ist SynEdit 1.1
![]() Dort kannst du auch die aktuellste Version aus dem CVS laden^^ mfG mirage228 |
Re: Frage zu SyntaxHighlighting & Grammarfile
Also hier funktioniert das Ding, auch SynEdit 1.04. Siehe Freewaresparte -> BrainFuckIDE.
|
Re: Frage zu SyntaxHighlighting & Grammarfile
Ich weiß nicht woran es lag, aber ich habe jetzt auf jeden fall mal ein GrammarFile, das so halbwegs macht, was ich will. Das ganze sieht so aus
Code:
Allerdings gibt es noch ein paar sachen, die mir nicht gefallen: Die KEywords werden nicht blau geschrieben, die Zahlen werden nur dann in clPurple geschrieben, wenn sie einzeln stehen und wenn eine Zahl in eckigen Klammern steht (also so wie bei nem Delphi-Array) werden die Klammern und die Zahl schwarz geschrieben. Wie kann ich das beheben?
TSynTHXHighlighter {first Identifier is considered to be the Class Name }
tk {second Identifier is considered to be the Identifier Prefix } Sensitive '+','-','[',']','.',',',';','{','}',')','(','0'..'9':: IdentStart '_', 'a'..'z', 'A'..'Z':: '_', 'a'..'z', 'A'..'Z':: TOKENTYPES Identifier Foreground=clBlack IncFile Foreground=clRed Symbol ForeGround=clRed Key Style=[fsBold]|Foreground=clBlue Comment Foreground=clNavy|Background=clAqua|Style=[fsBold, fsItalic] String Foreground=clTeal Number Foreground=clPurple|Style=[fsBold] |><| KEYS new for int up low array of Export |><| KEYS Symbol + - . , [ ] > < ( ) { } ]. ); ; |><| KEYS Number 0 1 2 3 4 5 6 7 8 9 |><| CHARS '+','-','[',']','.',',',';','{','}','(',')','0'..'9':: Ident BeginProc fTokenID := IdentKind((fLine + Run)); inc(Run, fStringLen); while Identifiers[fLine[Run]] do Inc(Run); EndProc |><| ENCLOSEDBY IncFile,IncFile,<,> Comment,CStyleComment,/*,*/,Multiline Comment,BraceComment,\,\,Multiline String,String,"," |><| |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:14 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz