秀丸のマクロを他の言語で実行する(php編)
php.mac(秀丸から実行するマクロファイル)
if( selecting == 1 ) { run "php \"C:\\Program Files\\Hidemaru\\mac\\test.php\" < con > con "; }
test.php(php.macから実行するphpのソース)
<?php while ($line = fgets(STDIN)) { print str_replace("\r\n", "", $line)."a\n"; } ?>
※秀丸のマクロのパスを「C:\Program Files\Hidemaru\mac」として記述しています。(動的にパスを編集できる方法を知ってれば是非教えてください!)
選択した範囲にたいしてphpで編集されます。
例えば以下のようなデータを選択した場合。
1234 12345 123456
下記結果になります。
1234a 12345a 123456a
ソースの修正履歴を残したい場合の例(php編)
test.phpを下記のように編集してみる
<?php print "// --- add start --- ".date("Y/m/d")." ---#\n"; while ($line = fgets(STDIN)) { print $line; } print "// --- add end --- ".date("Y/m/d")." ---#"; ?>
上記の例だと
1234 12345 123456
下記結果になります。
// --- add start --- 2008/11/29 ---# 1234 12345 123456 // --- add end --- 2008/11/29 ---#