Scintilla エディターに基づいてプロジェクトを実行しようとしていますが、初心者なので、実際にプロジェクトを開始する方法がわかりません。Readme の手順に従い、Windows で Scintilla をビルドすることができました。次に何をすべきかを考えています。
どんな種類の回答/提案/アドバイスも大歓迎です。ありがとう。
レクサーを使い始めたときは少し気が遠くなりましたが、すべてはいくつかの重要なアイデアに要約されます。
実際の例は次のとおりです。
Lexer テンプレートを作成したら、LexNEW.cxx という名前を付けます。
/lexers
フォルダに入れる/src
て実行しますLexGen.py
。これにより、Scintilla.h に追加された新しいレクサーがあることが scintilla に通知されます。ここで、定数を .iface ファイルに追加します。最も重要なものは次のとおりです。where は未使用の ID 番号であり、whereval SCLEX_NEW=108
はレクサーの有効な一意の短い識別子です。108
lex new=SCLEX_NEW SCE_NEW_
new
それらを他の定義と同じセクションに入れ (後で混乱を避けるため)、疑わしい場合は他の定義の 1 つをテンプレートとして使用してください!
行の下で、次のlex new=
ような独自の定数値を定義できます。
val SCE_NEW_DEFAULT=0
val SCE_NEW_COMMENTLINE=1
val SCE_NEW_COMMENTBLOCK=2
val SCE_NEW_ERROR=31
このステップの後、ほとんど準備ができています。
/include
て実行Hface.py
すると、新しい定数が scintilla に通知されます。lex コードが有効であれば、コンパイルする準備ができています。
新しい定数を作成するたびに、最後の手順を繰り返すことを忘れないでください。スクリプトはこれらの値を SciLexer.h に追加します。HFace.py
これは、毎回 2 つのステップを実行したくない場合に手動で行うことができます。
そして、それは私の友人がコンパイルした後、プログラムがレクサーを次のように設定していることを確認し、次のようsci.SetLexer(108)
に各状態に色をsci.StyleSetFore(01, 0x008800) // SCE_NEW_COMMENTLINE
付けます。
最後に使用したいのは、
幸運SciLexer.dll
ではないすべてのレクサーを含むものです!scintilla.dll
Scintilla for .NETを使用すると有利なスタートが切れる場合があります...