最速最強の Markdown コンパイラ作るぞ
DRANK
人生で5度目ぐらいの Markdown Editor 実装をしました。今回が最速です。ここで試せます。 60fps を維持しています。FFIを使わないピュアなMoonbit実装なので、js/wasm/native でライブラリとしていずれの環境でも使えます。というわけで、今回は Moonbit による実装の可能性を皆さんに見せつけたい、と思ってこの記事を書いています。その js ビルドを npm の @mizchi/markdown にも publish してあり、先のプレイグラウンドでも使っています。 (Markdown標準のテストケース集) の準拠は 207/542 と微妙です。理由として、ベンチマークで最適化しづらかった部分をサボっています。ただ、落ちてるケースは *foo [bar](/url)*\n や _____foo_____\n みたいな入れ子のパターンが多く、実用上問題ないと判断しました。その代わりに - [x] の Tasklist やテーブルや footnotes など、 GitHub Flavored Markdown の拡張を多めに対応しています。実際そちらの需要が高いので。ああ、それとこの記事は Moonbit Advent Calendar の9日目?です。 カーソル位置を基準にCSTを作るMarkdown Editor(や一般的なテキストエディタ) の問題の一つに、ユーザーの入力のたびにコード全文を再パ…