カラースキームの編集をちょっとだけお手伝いするやつです。
骨子は出来たんだけどどうしようか、と悩んでるやつです。 アドバイスとかもらえるとありがたいです。
:imap <C-]>t <Plug>(technicolor)
みたいに登録して、カラースキームのバッファ内でインサートモード中にスクリプトを起動してもらえると状況に応じて多分こんな感じ、という数値を流し込みます。
最初に <Plug>(technicolor)
で起動する関数 technicolor#main()
が呼び出されると、クラスとして振る舞うバッファ内スコープの辞書型変数 b:technicolor
が生成されます。
その後メソッド b:technicolor.getArgs()
によって現在行のハイライトコマンドの引数を受け取り、上記の通り状況に応じた文字列を返します。
既に b:technicolor
が存在している場合は引数に関わるキーのみ書き換えます。
テスト中に付き technicolor#main(v:true)
で強制的に b:technicolor
を再生成します。なにかおかしかったら再生成してみてください。
テスト中につきキーマップを登録していませんが、テンプレートを取得するクラス内メソッド b:technicolor.getTemplate({highlight-line})
が出来ました。
引数 {highlight-line}
には数値、ハイライトグループ、バッファ内で最初のハイライトコマンドに対応する 'top'
のいずれかを入力してください。
指定された行のハイライトコマンド ( :hi
か :highlight
か ) 、引数の順番と、構造化されてる場合の幅を取得します。
まだ想定すべき状況が多すぎるので間違えます。 「こんな感じの事が起こる」とか教えてもらえると助かります。