2013-01-21 6 views
5

Ich habe ein oder zwei Stunden mit Scintilla.NET herumgespielt, aber ich habe ein Problem entdeckt, das scheinbar einfach zu lösen ist. Ich kann keine Möglichkeit finden, die tatsächliche Highlight-Farbe von Keywords in Scintilla.NET zu ändern. Ihre Dokumentation ist, soweit ich gesehen habe, extrem mangelhaft und ich habe dort keine Hilfe gefunden. Ich habe auch viele Fragen hier gesehen, die mir auch nicht geholfen haben. Es scheint, egal was ich tue, der Höhepunkt von Keywords ist immer dunkelblau, was auf dem Thema meines Formulars extrem schwer zu lesen ist.Ändern der Syntaxfarbe in Scintilla.NET

Bis jetzt habe ich diesen XML-Stil zusammengestellt und benutze den C# -Code, um den Stil zu laden. Ich stelle die XML aus mehreren Beispielen zusammen und der C# -Code stammt aus einer Frage auf ihrer Website.

<?xml version="1.0" encoding="utf-8"?> 
<ScintillaNET> 

    <Language Name="65c816 asm"> 
     <Indentation TabWidth="4"/> 
     <Lexer LineCommentPrefix=";" > 
      <Keywords List="0" Inherit="False"> 
      adc adc and asl bcc bcs beq bit bmi bne bpl 
      bra brk brl bvc bvs clc cld cli clv cmp cop 
      cpx cpy dec dex dey eor inc inx iny jmp jsr 
      lda ldx ldy lsr mvn mvp nop ora pea pei per 
      pha phb phd phk php phx phy pla plb pld plp 
      plx ply rep rol ror rti rtl rts sbc sec sed 
      sei sep sta stp stx sty stz tax tay tcd tcs 
      tdc trb tsb tsc tsx txa txs txy tya tyx wai 
      wdm xba xce 
      </Keywords> 
     </Lexer> 
     <Style Name="CHARACTER" ForeColor="#00AAFF"/> 
     <Style Name="NUMBER" ForeColor="#00AA00"/> 
    </Language> 
</ScintillaNET> 

Und der C# -Code ist wie folgt:

scintilla1.Lexing.LexerLanguageMap["65c816 asm"] = "cpp"; 
scintilla1.ConfigurationManager.CustomLocation = System.IO.Path.GetFullPath("65c816.xml"); 
scintilla1.ConfigurationManager.Language = "65c816 asm"; 
scintilla1.ConfigurationManager.Configure(); 

Antwort

5

Es scheint der Fehler, den ich gemacht war nicht meine <Style> ‚s in einem <Styles> Tag wickeln. Danach scheint es zu funktionieren. Eine Art peinliche Sache, die man direkt nach dem Posten der Frage herausfinden kann.

Arbeiten jetzt:

<?xml version="1.0" encoding="utf-8"?> 
<ScintillaNET> 

    <Language Name="65c816 asm"> 
     <Indentation TabWidth="4"/> 
     <Lexer LineCommentPrefix=";" > 
      <Keywords List="0" Inherit="False"> 
      adc adc and asl bcc bcs beq bit bmi bne bpl 
      bra brk brl bvc bvs clc cld cli clv cmp cop 
      cpx cpy dec dex dey eor inc inx iny jmp jsr 
      lda ldx ldy lsr mvn mvp nop ora pea pei per 
      pha phb phd phk php phx phy pla plb pld plp 
      plx ply rep rol ror rti rtl rts sbc sec sed 
      sei sep sta stp stx sty stz tax tay tcd tcs 
      tdc trb tsb tsc tsx txa txs txy tya tyx wai 
      wdm xba xce 
      </Keywords> 
     </Lexer> 
     <Styles> 
      <Style Name="CHARACTER" ForeColor="#00AAFF"/> 
      <Style Name="NUMBER" ForeColor="#00AA00"/> 
     </Styles> 
    </Language> 
</ScintillaNET> 
+0

Das hat mir geholfen! Vielen Dank – CloudyMarble