ScrapVim-lite-3/command文字列
ScrapVim-lite-3/KeyInputからScrapVim-lite-3/Modeに渡すコマンド
Vim key notationと同等の表現
1文字もしくは<*>の形式
<Plug>(...)は存在しない
設定ファイルを読み込む際に、中間表現として削除してしまう
例えば
register({type:'textobject',from: '<Plug>(vim-textobj-between-a)',to: () => {}})
bind({from: 'ab', to: '<Plug>(vim-textobj-between-a)'});
と書き込まれていたら、内部では
{from: 'ab', to: () => {}}
に変換しておく
/icons/hr.icon
コマンドに関数を混ぜられないかな
こういうのを解析処理関数に渡す
[{type:'function',command:(props)=>{...}},{type:'string',command:'diw'},...]
関数はそのままVimCommandに格納して即実行に移る
いやこれだとどの種類のcommandかわからなくて困るな
例えばtext objectを解析しているときに、渡された関数がtext object用関数なのかそれとも別なものなのかが分からない
custom commadとして定義するときに、他のものとかぶらない識別子を与える必要があるのか
register({type:'textobject',from: '<Plug>(vim-textobj-between-a)',to: () => {}})
bind({from: 'ab', to: '<Plug>(vim-textobj-between-a)'});
<Plug>(...)diwを正規表現で分割してremapをいろいろやればできそう
from normal modeをJavascript Objectで表現してみる
#2020-12-17 22:24:09