ScrapVim-lite-3/ParseStateの設計案 (旧)
必要な機能
parse()
解析結果の情報を返す
必要なのこれだけか。すくないな
本当にこれだけ?
解析中の文字列を格納する変数
this._keymaps
一文字で確定出来なかったときは、ここにstockする
必要なときだけ派生クラスで定義すればいいか。
https://gyazo.com/50a15733f2b7618a3f6fb4a8a6a42330
解析後、↓のいずれかになる
解析したVimCommandを格納する変数
this._vimCommand
派生クラスからは、更新函数から操作する
派生クラスで定義するもの
状態の名前
getStateName()
operatorとかnormalとかtext objectとか
これいるかなあ?
与えられたvim key mapを解析する関数
基本的には、commandとvim key mapとの対応表を見て、前方一致するものを返せばいい
対応表を管理するclassが必要か。
script上で保持していても良いでしょ
CountStateに関しては、[1-9]にマッチするかどうかで決める