3

シンチラにレクサーを追加した人はいますか?

私はhttp://www.scintilla.org/SciTELexer.htmlで短い指示に従ってきましたが、http: //www.scintilla.org/ScintillaDoc.html#BuildingScintilla(Changing Set of Lexers)で秘密の追加の指示を発見しました。 )。

すべてがコンパイルされ、レクサーをSciTEに問題なく追加できますが、ColouriseMapfileDocメソッドが呼び出されません(printfは出力を生成しません)。たとえばColouriseLuaDocレクサーに同じコードを追加すると、すべてが正常になります(printf出力を生成します)。

具体的には

  1. scintilla/include/Scintilla.iface、追加val SCLEX_MAPFILE=99
  2. そして、品詞クラスID
  3. scintilla / includeディレクトリで実行し、ファイルが変更HFacer.pyされたことを確認します。SciLexer.h
  4. 関数LexMapfile.cxxで作成ColouriseMapfileDoc
  5. ファイルの最後で、レクサーI​​Dと名前を関数に関連付けました。

    LexerModule lmMapfile(SCLEX_MAPFILE、ColouriseMapfileDoc、 "mapfile");

  6. 実行LexGen.pyしてすべてのmakefileを生成します(秘密の指示に従って)

  7. クローンを作成して新しいSciTEプロパティファイルを作成しましたscite/src/others.properties
  8. いくつかのスタイルを設定する
  9. の定義に追加scite/src/SciTEGlobal.propertiesされました。$(filter.conf)open.filter
  10. この言語をSciTEの言語メニューに追加しました。
  11. ScintillaとSciTEの両方を構築しました。
  12. 不平を言って呪われた。

ステップ12を除いて、私は何を間違っていますか?

4

3 に答える 3

3

将来誰かがこの質問を読んだ場合に備えて、に行を追加する必要があり import yourformatますSciTEGlobal.properties。これは文書化されていないステップ9bです。

于 2010-07-26T07:16:17.357 に答える
3

誰かが将来この質問を読む場合に備えて、SciTEGlobal.propertiesにyourformatをインポートする行を追加する必要もあります。これは文書化されていないステップ9bです。

この手順は不要になりました。3.2.2をコンパイルしましたが、これはimport*を使用して行われました。ただし、残りの手順はまだ完了しており、関連性があります。

于 2012-10-30T01:05:01.367 に答える
2

http://www.scintilla.org/SciTELexer.htmlscintilla/lexer/LexOthers.cxxで説明されているように、1つのレクサーを直接絞り込んでいます。scite 3.2.3の場合、不足しているステップ5bは、を追加する必要があることです。LINK_LEXER(lmYouLexerMod);scintilla/src/Catalogue.cxx

于 2012-11-19T09:42:18.447 に答える