CodeMirrorとは Web上で動作するコードエディタを作成できるライブラリです。 自由に拡張機能を設定することで、独自のエディタを作成することができます。 先日、長らくベータ開発中だった、CodeMirrorのバージョン6が正式リリースされました。 CodeMirror 6はゼロから実装し直したということもあり、APIが変わっているところも多く、新しい概念も追加されています。 エディタのStateとその更新 CodeMirror 6のSystem Guideとして、アーキテクチャの概要などが説明されています。 その中でもっとも基本的な、Stateの更新部分についてまとめます。 view更新までの流れ System Guideに以下の図が掲載されています。 エディタの状態をstateとして管理しているのですが、その更新にはtransactionというものを使っています。 入力や、DOM