Frage

I "m mit ScintillaNet ein Wrapper für die Scintilla Kontrolle. Ich die Schlüsselwörter ändern möchten (für Syntax-Hervorhebung) für eine bestimmte Sprache, ich nehme ich meine eigene Version von SciLexer.dll dass für bauen. Aber ich kann nicht eine Stichwortdatei für die Sprachen in der Scintilla Projekt. Wo sind sie und wie kann ich sie ändern?

War es hilfreich?

Lösung

Sie brauchen nicht Ihre eigene SciLexer.dll zu bauen, ScintillaNet unterstützt XML-Konfigurationsdateien. Legen Sie die Eigenschaften des Scintilla wie folgt aus:

// Relative to your running directory
scintilla1.ConfigurationManager.CustomLocation = "Config.xml"; 
//Name of the language as defined in the file
scintilla1.ConfigurationManager.Language = "MyLanguage";

Dann eine Konfigurationsdatei wie diese erstellen, die auf lua basiert:

<?xml version="1.0" encoding="utf-8"?>
<ScintillaNET>
  <!--This is what you set the Language property to-->
  <Language Name="lua">

    <!--These are characters after which autocomplete will open-->
    <AutoComplete FillUpCharacters=".([" SingleLineAccept="True" IsCaseSensitive="False">
      <List>
          <!--Insert autocomplete keywords here-->
          and break do else elseif end false for function
          if in local nil not or repeat return then true until while
      </List>
    </AutoComplete>

     <!--Indentation width and indentation type-->
    <Indentation TabWidth="4" SmartIndentType="cpp" />

     <!--Comment characters and the lexer to use-->
    <Lexer LexerName="lua" LineCommentPrefix="--" StreamCommentPrefix="--[[ " StreamCommentSuffix=" ]]" >
      <Keywords List="0" Inherit="False">
        <!--Insert highlighted keywords here-->
         and break do else elseif end false for function
         if in local nil not or repeat return then true until while
      </Keywords>
    </Lexer>
  </Language>
</ScintillaNET>
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top