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);
行頭の半角スペースやタブは変換対象にならないので
インデントがあっても安心です。
*行頭の半角スペースにも対応しました。