0

そのため、 CodeMirror はmodesそのコードをトークン化するために使用します。
ドキュメントを行に分割し、各行をストリームにしてから、定義済みの に渡しmodeます。パラメータを使用して、複数の行にまたがることができstateます。
ACE にも同様の方法があるようです。

これらの方法はいずれも、本質的に RegExp を使用しません (ただし、明らかに、モードを作成した人は誰でも RegExp でそれらのモードにコーディングできます)。

私が Atom のコードとスタイルについて読んだことから、それは異なる構文ハイライターを呼び出し、それらはTextMategrammarsのものとよく似ているということです。grammarsこれらgrammarsは、クラス名と正規表現を含む JSON オブジェクトに似ています ( TextMate 文法の書き方を参照してください)。

Atom Text Editor が実際にコードの解析をどのように実行し、その状態を維持し、さまざまなスコープに拡張するは、私の人生ではわかりません。

誰かが私を正しい方向に向けることができれば、それは素晴らしいことです.

4

2 に答える 2

1

Atom 開発者が頻繁にアクセスするAtom フォーラムで質問することをお勧めします。

于 2016-07-14T23:27:07.353 に答える