動的なシンタックスハイライトとは、ユーザーが変更できるコードをハイライトする仕組みです。 これが行われる場所は1か所だけ、オンラインエディターです。
コードスニペットやイテレーションなどは、ユーザーがその場でコードを変更できないため_静的_です。 静的シンタックスハイライトをどのように扱っているのか詳しく知りたい場合は、静的シンタックスハイライトのドキュメントをご覧ください。
動的なシンタックスハイライトは、CodeMirrorライブラリを使って実現します。
自分の言語のサポートを追加するときには、3つの選択肢があります。
自分の言語に対するCodeMirrorのサポートを有効にするには、フォーラムでトピックを立ててください。 そうすると、Exercismが、ウェブサイトでその言語のCodeMirrorサポートを有効にするプルリクエストを作成します。
既存のプラグインを使うには、そのプラグインがNPMに公開されている必要があります。
プラグインがNPMに公開されていない場合は、次のいずれかを行います。
CodeMirrorのウェブサイトには、コミュニティが作成した言語プラグインの一覧があります。
次のステップは、言語を有効にすることです。
始めるための手順は次のとおりです。
codemirror-lang-...がリポジトリ一覧にないかどうかを確認して、まだ存在しないことを確かめます。始めやすくするために、用意されたリポジトリには、土台として使ったり調整したりできる最小限のサンプル文法が含まれています。
Exercismのコミュニティはとても友好的で協力的なので、この作業を進める中で喜んで力になってくれます! もし行き詰まったら、Exercismフォーラムで新しいトピックを立てるか、必要に応じてexercism/exercismで新しいイシューを作成してください🙂
その後、プラグインをNPMに公開する必要があります。 次のステップは、言語を有効にすることです。
自分の言語の構文が別の言語の構文に(よく)似ている場合は、その言語のシンタックスハイライトを自分の言語に使うことも検討できます。 そうするには、その別の言語のCodeMirrorプラグインを使ってトラックを設定します。 詳しくは言語を有効にするセクションをご覧ください。