私は現在、Lazarusを使用して開発者エディターを構築しています。すべての優れた開発者エディターとして、構文を強調表示する必要があります。このため、いくつかのことを知りたいと思います。
- シンタックスハイライトは通常どのように構築されますか(多く
if
のsを使用してフォントを変更しTextField
ますか? TSynEdit
これを行うのはとてもいいですか?- 使い方
TSynEdit
(リンクとリソース)?
私は現在、Lazarusを使用して開発者エディターを構築しています。すべての優れた開発者エディターとして、構文を強調表示する必要があります。このため、いくつかのことを知りたいと思います。
if
のsを使用してフォントを変更しTextField
ますか?TSynEdit
これを行うのはとてもいいですか?TSynEdit
(リンクとリソース)?SharpDevelopのエディタを見ると、実際に優れた例を見ることができます。これはC#で実装されていますが、他のプラットフォームや言語に簡単に移植できる優れたOOPを使用しています。
ほとんどの自家製の構文ハイライターはMSWindowsRichTextコントロールを使用する傾向がありますが、通常は遅くて扱いにくく、多くのコードが追加されると実際に遅くなります。
EclipseまたはVIMのソースコードを読むことができます。Eclipseには、抽象構文ツリーベースがあります。その上に、進行中のコードが言語の完全な文法を満たさないことが多いため、エラーを許容するように注意深く記述されたパーサーがあります。強調表示は、構文ツリーの情報を使用します。