まず、前のエントリで困っている話として「何を想定していいかわからない」と言っていたものを再度列挙します。
- コマンド名は
hi
かhighlight
か? - 引数間の空白は
<space>
か<Tab>
か? - じゃあそもそも
&tabstop
はいくつか? - 引数の順番は?
- そもそも全グループの記述に同じ順番使ってるの?
- そもそも整形化されたカラースキームを編集中なの?
…じゃあどうすればいいんですか(逆ギレ)
実際この辺を何とかするために、どこまでも構造化しようとしたんです。で、すればするほど想定外が生まれ続けてどんどん訳がわからなくなってきたので、考え方を変えます。
そもそも整形せんで前の引数の状態だけチェックすればいいのでは?
というわけで、現在のスクリプトは挿入モード中に technicolor#main()
を起動して、現在のカーソルの直前の引数をチェックして、引数が '=' で終わっていれば対応する引数から値を持ってくるようにして、そうじゃなければ前の引数の次にあるだろう引数をクラス Technicolor
の Technicolor.order
から判定して追加します。
まずはそこだけ実装して、テンプレート行の取得などは後回しにしています。なにかいい案が欲しいです。単純にスクリプトのインデントが整形されていて、次の引数がうまく想定できないのでここから手の付け方を考えている状態です。