промежуточный. использовал невидимый символ для обозначения различий
This commit is contained in:
@@ -9,6 +9,9 @@ import Common.Visual.Menus.VisualiserMenuBar;
|
||||
import Common.Visual.UI;
|
||||
import _VisualDVM.ProjectData.Files.UI.Editor.SPFEditor;
|
||||
import _VisualDVM.Utils;
|
||||
import com.github.difflib.DiffUtils;
|
||||
import com.github.difflib.patch.AbstractDelta;
|
||||
import com.github.difflib.patch.Patch;
|
||||
import com.github.difflib.text.DiffRow;
|
||||
import com.github.difflib.text.DiffRowGenerator;
|
||||
import javafx.util.Pair;
|
||||
@@ -16,7 +19,6 @@ import org.fife.ui.rsyntaxtextarea.RSyntaxTextAreaHighlighter;
|
||||
import org.fife.ui.rtextarea.RTextScrollPane;
|
||||
|
||||
import javax.swing.*;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.List;
|
||||
import java.util.Vector;
|
||||
import java.util.regex.Matcher;
|
||||
@@ -48,6 +50,8 @@ public abstract class ComparisonForm<T> {
|
||||
//-----
|
||||
private boolean events_on = false;//относится только к мастеру, отвечает за скроллы.
|
||||
private int current_diff_line = -1;
|
||||
final String separator = "\u200B";
|
||||
//невидимый пробел https://translated.turbopages.org/proxy_u/en-ru.ru.898e1daf-67e318c0-3fccff8a-74722d776562/https/stackoverflow.com/questions/17978720/invisible-characters-ascii
|
||||
//--->>
|
||||
// protected Object ownScrollModel = null;
|
||||
//---<<
|
||||
@@ -160,8 +164,8 @@ public abstract class ComparisonForm<T> {
|
||||
.showInlineDiffs(true)
|
||||
.inlineDiffByWord(true)
|
||||
.ignoreWhiteSpaces(true)
|
||||
.oldTag(f -> "~")
|
||||
.newTag(f -> "**")
|
||||
.oldTag(f -> separator)
|
||||
.newTag(f -> separator)
|
||||
.build();
|
||||
List<DiffRow> rows = generator.generateDiffRows(
|
||||
visible_lines,
|
||||
@@ -176,7 +180,7 @@ public abstract class ComparisonForm<T> {
|
||||
Body.setCaretPosition(0);
|
||||
slave.Body.setCaretPosition(0);
|
||||
//--
|
||||
Pattern master_pattern = Pattern.compile("~.*~");
|
||||
Pattern master_pattern = Pattern.compile(separator + ".*" + separator);
|
||||
Matcher master_matcher = master_pattern.matcher(Body.getText());
|
||||
while (master_matcher.find()) {
|
||||
Body.getHighlighter().addHighlight(
|
||||
@@ -185,7 +189,7 @@ public abstract class ComparisonForm<T> {
|
||||
SPFEditor.RedTextPainter
|
||||
);
|
||||
}
|
||||
Pattern slave_pattern = Pattern.compile("\\*.*\\*");
|
||||
Pattern slave_pattern = Pattern.compile(separator + ".*" + separator);
|
||||
Matcher slave_matcher = slave_pattern.matcher(slave.Body.getText());
|
||||
while (slave_matcher.find()) {
|
||||
slave_highlighter.addHighlight(
|
||||
|
||||
Reference in New Issue
Block a user