親記事 / 返信無し
■350 / 親階層) |
#197 イベント処理の整形ユーティリティ 第 3.9 版
|
□投稿者/ ONnoji -(2020/11/12(Thu) 23:02:29)
| #197 イベント処理の整形ユーティリティ 第 3.9 版には、開発者が喜ぶであろう新機能:diff を搭載しました。
この diff ですが、テキストエディタの MIFES 10 のHPで見た内容からインスパイアしたものです。
diff は、新旧のイベントファイルの差異を表示する機能です。
今までは、原始的にも印字した紙を2枚重ねて、陽に透かして違いを探していたりしていたのですが、
diff によって、色分けして差異が判るようになりました。
おそらく便利だと思いますので、お試しください。
以下の文書は 1st_ヘルプ_utx_list3.txt に含まれています。
◇ ◇ ◇ ◇ ◇ ◇ ◇
Spec_diff_utx_list3.txt
diff 仕様書メモ by ONnoji Rev.0 2020.10.05 Spec_diff_utx_list3.txt
この文書はutx_list3の機能:diff に関する仕様メモです。
■diff とは(概要)
機能:diff( ディフ )は、ファイルの比較を行うための機能で2つのファイル間の違いを表示します。 ※"diff"という語は差分検出一般を指す暗語(あんご)・隠語(いんご、ジャーゴン:Jargon)です。
<仕様>
■字下げ設定
― 比較する2つの整形データは、同じ字下げ設定にします。
― 比較に関する注意点
整形データは元のファイルの各行をトリム(#trim([], 3))した後に、全角空白文字を使って字下げしたものですから、
・元のファイルで空白文字だけの行は、空行として扱います(空行は字下げの対象から除外されます) ・先頭が空白文字で始まる行は、空白文字の個数に関して、元のファイルと整形結果が異なる場合があります ・末尾に空白文字を含む行では、空白文字の個数に関して、元のファイルと整形結果が異なる場合があります
以上の理由から、あくまでも[整形結果どうしの比較]であるということに注意してください。
■比較マーク
比較対象と比べた時に
・無印 … 同じ内容 または 空行 ・ = … 同じ内容:下端からの相対位置が同じ ・ ! … 注意:同じ内容の行が存在する ・ - … 違う:同じ内容の行が存在しない ・ + … 比較対象に存在しない手続きの行
※空行は除外して比較します
― 比較対象 古い file
1 手続き定義開始 prcProcedureName( ) 2 3 行A 4 行B 5 行C 6 行D 7 行E 8 9 手続き定義終了
― 比較対象 新しい file
■空行を挿入した場合
比較マーク ↓ 1 手続き定義開始 prcProcedureName( ) 2 3 行A 4 行B 5 ← 空行を挿入 6 = 行C ← 古い file の下端からの相対位置が同じ行に同じ内容の行が存在する 7 = 行D ← 同上 8 = 行E ← 同上 9 10 手続き定義終了
■行を挿入した場合
1 手続き定義開始 prcProcedureName( ) 2 3 行A 4 行B 5 - 行X ← 行を挿入 ← 古い file に同じ内容の行が存在しない 6 = 行C ← 古い file の下端からの相対位置が同じ行に同じ内容の行が存在する 7 = 行D ← 同上 8 = 行E ← 同上 9 10 手続き定義終了
■行を削除した場合
1 手続き定義開始 prcProcedureName( ) 2 3 行A 4 行B 5 = 行D ← C行を削除 ← 古い file の下端からの相対位置が同じ行に同じ内容の行が存在する 6 = 行E ← 同上 7 8 手続き定義終了
■行の内容を変更した場合
1 手続き定義開始 prcProcedureName( ) 2 3 行A 4 行B 5 - 行Cダッシュ(行の内容を変更) ← 古い file に同じ内容の行が存在しない 6 行D 7 行E 8 9 手続き定義終了
■行の内容を変更せずに位置を入れ替えた場合
1 手続き定義開始 prcProcedureName( ) 2 3 行A 5 ! 行C ← 古い file に同じ内容の行が存在する 4 ! 行B ← 同上 6 行D 7 行E 8 9 手続き定義終了
注意:これは位置の入れ替えを検出したのではなく、あくまでも古い file に同じ内容の行があった結果です。 注意:特に[ end ] コマンドでは古い file に同じネスト(入れ子)で同じ内容がある場合が多いです。 注意:本来は、[ - ] で表示してもよいのですが、古い file に同じ内容の行があるということで、[ ! ] で表示しています。
<操作方法>
■2つのファイルを比較する
1.utx_list3_indent.wfm/wfx の一番左のアイコン[UTX(フッタを表示/非表示)]をクリックして、フッタを表示します。
2.[ファイルを比較]アイコンをクリックします。
3.[diff 比較 整形( 1 )]ウィンドウと[diff 比較 整形( 2 )]ウィンドウが左右に表示されます。
4.[diff 比較 整形( 1 )]ウィンドウに比較する一方のファイルを読み込みます。
5.[diff 比較 整形( 2 )]ウィンドウに比較するもう一方のファイルを読み込みます。
6.[diff 比較 整形( 1 )]ウィンドウの[ファイルを比較]ボタンを実行します。※[diff 比較 整形( 2 )]ウィンドウのボタンでも同じ
7.[Primary と Secondary のファイルを比較]ウィンドウの[実行]コマンドボタンを実行します。
8.Primary と Secondary の差異行数が表示されたら、[終了]コマンドボタンを実行します。 ※Primary は[diff 比較 整形( 1 )]で Secondary は[diff 比較 整形( 2 )]です。
■差異がある行へジャンプする
[diff 比較 整形( 1 )]ウィンドウと[diff 比較 整形( 2 )]ウィンドウの左下の[△][▽]ボタンで差異がある行へジャンプします。
※明細行の行番号をクリックすると、[ファイルの通し行番号]⇔[手続き内の行番号]の表示にトグルで切り替えられます。
■[diff テキスト/印刷 ( n )]ウィンドウを使う
[diff 比較 整形( 1 )]ウィンドウ、または[diff 比較 整形( 2 )]ウィンドウの[テキスト/印刷...]ボタンを実行して、 [diff テキスト/印刷 ( n )]ウィンドウを開きます。
― 明細行の[手続き名]をダブルクリックすると、当該の手続きへジャンプします。
― 行セレクタの左側のコマンドボタンをダブルクリックすると、もう一方の[diff 比較 整形( n )]ウィンドウも連動して当該の手続きへジャンプします。 ※( + ) 水色で表示されている場合には、他方のファイルに当該の手続きが存在しないのでボタンは表示されません。
|
|