/ 最近 .rdf 追記 編集 設定 本棚

脳log[20111209] これに関する戦略。



2011年12月09日 (金) リファクタリングとパッチ。パッチはそう易々と構造変革を乗り越えられない。自分専用のスペシャルパッチがたまればたまるほどリファクタリングが悪に見える。347KBの差分を前に途方に暮れています。

最終更新: 2011-12-14T19:35+0900

[SakuraEditor] これに関する戦略。

  1. (下拵え1) 色分けに行をまたぐ機能を追加。
  2. (下拵え2) 個々の色分けユニットの移植。(結果が変わらないこととパフォーマンスへの影響が焦点)
  3. (下拵え3) レイアウトと絡んだ古い色分け機能の削除。
  4. (餌1) 正規表現キーワードのキャプチャグループ*別色分け対応(設定の画面とiniへの入出力が面倒だから最初は隠し機能として)。
  5. (餌2) K2Editorっぽい(※勝手な想像です)ヒアドキュメント対応色分け規則追加(正規表現で開始・終了を指定する複数行コメントみたいなもの。終了パターンは開始パターンのマッチを使って $N, $$を置き換えてからコンパイルする。${N}もいる?)。
  6. (本命) SHJSっぽい色分け規則追加(GUIで設定するのは無理だから隠し機能として)。
  7. (できれば)色と色分けと CEditViewの分離・凝集。
  8. (できれば)機能に着目した色名の追加。「正規表現キーワード(定数)」とか。

ヒアドキュメントといえば前にも書いて(そんで忘れて)たが、

print <<HEAD, <<BODY
HEAD
BODY

みたいなのをどうするのかってことだ。<<HEAD...HEADの中に BODYだけの行が来ないことを期待しつつ、一番後ろの <<BODY...BODYだけを対象にするとか?でも <<HEADが来た時点でコメントモードが始まってしまうな。終了パターンで $+ (最後のキャプチャ内容)が使えたらいいのか?そもそもこの姑息な手でいくのか?それに開始パターンで <<HEADから、<<BODYをキャプチャしつつ、改行までを食うとしても、こういうスクリプトを想定してしまうわけだ。正規表現を使った簡易ハイライトだというのに。

p "" << <<"HEAD" <<"NECK" << <<"BODY"
<head>
HEAD
<body>
BODY
#=> "<head>\nNECK<body>\n"

* 繰り返し付きグループの色分けはたぶん最後のマッチだけが対象になると思う。