独自のカスタム構文強調機能を備えたカスタム言語を作成したいと思います。
Notepad++ はカスタム「言語」を作成できる Windows 専用の SciTE/Scintilla ベースのテキストエディタで、今では Linux でも同じことを再現したいと思います。
必ず(?)使うべきですSciTE/シンチラ(私が知っている限り)これは、次のものを表示できる唯一のプレーンテキストエディタです。異なるサイズフォント同じテキストファイル(例:デフォルトフォント= 12pt、コメントフォント= 24pt)
私が使うものはコメントフォントは、複雑なスクリプト(アルファベット)をより大きなフォントサイズで表示します。他の人がいれば教えてくださいプレーンテキストこれを行うエディタです。
私はこれがSciTE / Scintilla(Notepad ++ではない)の機能だと思います。次のファイルでいくつかの魔法が実行されることがあります:/usr/share/scite/.properties
Notepad ++には新しい言語や構文を設定するためのGUIインターフェイスがありますが、SciTEでこれを行う正確な方法についてはいくつかのガイドラインを使用できます。
ありがとうございます...
答え1
もう一度読んでみるとかなり痛いです。なぜなら、C++ソースコードはすべて静的に定義されているからです。
たとえば、シンチラにすでに存在するルールの上に特定の数のルールを定義する必要があります。まあ、かなり混乱しています。 Googleでは「scintilla lexer」をすばやく検索できますが、構文の強調表示はコードにとって非常に複雑であることを理解する必要があります。 notepad++とそのすべての機能を見てください。これはほぼコードパーサーであり、コンパイラで見つけることができます。
とりわけ、あらゆるタイプの言語に対してフラッシュ語彙アナライザを作成することが可能です。
もう1つの問題は、テキストの色がプラットフォームに依存しないことです。また、Windowsにとってより有利だと思います(duh)。フォントレンダラーも忘れないでください。それも別の問題かもしれません。
シンティラがgnomeまたはkdeに移植されたかどうかはわかりません。そうですか?
答え2
お客様の要件を満たしていない可能性がありますが、ジェディット新しい言語を強調できるエディターが必要な場合は、言語を強調するための広範な構成があります。
答え3
AFAIK、Notepad++はScintilla語彙分析器に基づいています。
私は「新しい言語」が「既存の語彙アナライザですが、新しいキーワードセット」を意味すると思いましたが、より強力なようです。
私は何を見つけましたか:(http://docs.activestate.com/komodo/4.4/udl.html)
Komodoは、ユーザー定義言語(UDL)と呼ばれる多言語構文語彙分析とカスタム構文を強調するためのシステムを定義します。UDLファイルはLudditeという言語で書かれ、Scintilla語彙アナライザでコンパイルされます。Komodo用に梱包されています。
したがって、Notepad ++で言語を定義したら、コンパイルされた語彙アナライザをインポートしてsciteに追加できる必要があります。