|
V8.54β1で、カラーマーカーの比較専用のレイヤー指定ができなかった点を修正
しました。
マクロを作るとしたら、以下のような感じになるかと思います。
ある程度まとまった違いだったり、「空白とタブは無視して比較する」がOFFの
場合は、取り込みがうまくいきやすいですが、必ずしも思惑通りになるとは限ら
ないので、最終的にはやはり目視で確認する必要があると思います。
標準の機能とするのは良く考える必要がありそうです。
//V8.54β1以降
setcompatiblemode 0x00002000;
#crNewText = 0xffffff; //取り込み後のテキスト色
#crNewBack = 0x0000ff; //取り込み後の背景色
if(compfilehandle==0){
message "比較が実行されていません";
endmacro;
}
if(filetype[compfilehandle]==""){
message "比較相手がありません";
endmacro;
}
if(readonly){
message "上書き禁止状態です";
endmacro;
}
#h=hidemaruhandle(0);
nextcolormarker 0x01 | 0x08, 0, diff;
if(!result){
message "現在の内容に比較結果がありません";
endmacro;
}
$id = getcolormarker(0x08,diff);
if($id=="") $id = getcolormarker(0x48,diff);
#id=val("0x"+$id);
escape;
beginsel;
#c1=column;
#l1=lineno;
nextcolormarker 0x02 | 0x08, 0, diff;
endsel;
setactivehidemaru compfilehandle;
nextcolormarker 0x01 | 0x08 | 0x04, #id, diff;
if(!result){
prevcolormarker 0x01 | 0x08 | 0x04, #id, diff;
if(!result){
setactivehidemaru #h;
escape;
message "比較相手に結果がありません";
endmacro;
}
}
escape;
beginsel;
nextcolormarker 0x02 | 0x08 | 0x04, #id, diff;
endsel;
copy;
setactivehidemaru #h;
paste;
#c2=column;
#l2=lineno;
colormarker #crNewText, #crNewBack, -1
, 0, #id, diff, #l1, #c1, #l2, #c2;
|
|