拡張Scrapbox入力補完の次期versionの設計を考える
新しくするところ
役割ごとにばらして設計する
見た目を差し替えても動くように
キーボード/マウス操作を全く別のものにしても動くように
補完候補作成algprithmを全く別のものにしても動くように
見た目
要素の追加方法を変える
文字列・画像・onClick event handlerの3つを指定できるようにする
onClick: (text: string) => void
挿入位置を指定できるようにする
キーボード/マウス操作
key bindingsを外部から指定できるようにする
補完の開始
<C-space>とか
windowを自動で開くoptionも作る
補完の中断
次候補選択
前候補選択
候補確定
最初の候補で確定
文字キーと削除キーのときはそのまま文字入力させる
確定した候補の文字列を流し込む処理はどこにやらせる?
補完候補の取得
補完候補の取得
補完候補の更新
文字列から補完候補を絞り込んで返す
メッセージを出す
「Loading...」など
候補の作成
入力補完の起動条件
リンクの中にcursorがあるかどうかを監視する
実際に起動するかどうかはキーボード/マウス操作に任せる?