「Markdownエディタの入力補助とか正規表現で余裕っしょ」と思っていたら爆発四散 by FromAtom

iOSDC Japan 2023
LT(5分)

「Markdownエディタの入力補助とか正規表現で余裕っしょ」と思っていたら爆発四散

FromAtom FromAtom FromAtom

「Markdownエディタを作りたい。」

そう思った私は、Markdown記法を簡単に入力できるボタンを"正規表現を用いて"作り始めました。
まずは見出しボタン、これは行頭の # の数を見れば良いので簡単に実装できました。
そして太字ボタンや斜体ボタンの対応を始めた時に、詰みました。

**たとえば
複数行にまたがる
太字記法とか**

`コードスパン内なので**これは太字ではない**とか`

**`でもこれはコードスパン全体が太字になってるとか`**

こういった複雑な記法に正規表現だけで立ち向かうのは無謀でした。

このLTでは、課題への対処方法の1つである "apple/swift-markdown", "SourceLocation" の扱い方についてお話します。このLTで、多くの人がMarkdownエディタ開発への一歩を踏み出せるようになるでしょう。