非常に基本的な構文ハイライターを作成しようとしています。私は正しい方向に向けられることを望んでいます。すでにこれを行う素晴らしいプロジェクトがたくさんあることは知っていますが (Codemirror、rainbow.js など)、これらがどのように作成されるか、そしておそらく Javascript (または clojurescript) を使用した簡単な例について助けを求めています。
これらのプロジェクトは言語の解析を利用していますか (PEG.js のようなものを使用していますか?) 理想的には、正規表現ではなくそのようなものを使用して言語を解析したいと考えていますが、言語を定義したら、それを構文ハイライターに変換するにはどうすればよいですか? ? 確かに、キーを押すたびに、テックス全体を再解析してフォーマットを適用することはありませんか? では、単純なことを行うための最良の方法は何ですか? 現在のカーソル位置を追跡し、非常に多くの文字の前後だけを見ますか? ある種のステートマシン?
どんな助けでも素晴らしいでしょう!ありがとう