PHP+Smartyの開発で、変数をarrayにしてSmartyに送るためだけの秀丸マクロ

マクロ

	if ( selecting == 0 ) endmacro;
	setcompatiblemode 15;
	replaceall "^([\t ]*)(.*)$" , "\\1'\\2'=>$\\2," , regular, nocasesense, inselect;
	if( ! result )  beep;

使い方

$var=array(
foo
bar
baz
);
$Smarty->assign($var);
$smarty->display($tpl);

として、foo,bar,bazを選択したのちマクロ実行します。

実行後
$var=array(
'foo'=>$foo,
'bar'=>$bar,
'baz'=>$baz,
);
$Smarty->assign($var);
$smarty->display($tpl);

行頭の半角スペースやタブは変換対象にならないので
インデントがあっても安心です。
*行頭の半角スペースにも対応しました。