feat(BaseLangDoc): MergeDoc skip doc same when not set
This commit is contained in:
@@ -93,37 +93,14 @@ public abstract class BaseLangDoc extends EditorLinePainter {
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
// before doc
|
// before doc
|
||||||
refElement = Prev.prevRefChild(info, refElement, refClass);
|
@Nullable PsiElement beforeRefElement = Prev.prevRefChild(info, refElement, refClass);
|
||||||
if (refElement == null) {
|
if (beforeRefElement == null) {
|
||||||
return doc;
|
return doc;
|
||||||
}
|
}
|
||||||
PsiElement parent = refElement.getParent();
|
PsiElement parent = beforeRefElement.getParent();
|
||||||
@Nullable String before = refElementDoc(info, parent);
|
@Nullable String beforeDoc = refElementDoc(info, parent);
|
||||||
if (before != null) {
|
if (beforeDoc != null) {
|
||||||
doc = mergeDoc(refElement.getText(), text, info.appSettings.getToSet, before, doc);
|
doc = MergeDoc.mergeDoc(beforeRefElement.getText(), text, beforeDoc, doc, info.appSettings.getToSet);
|
||||||
}
|
|
||||||
return doc;
|
|
||||||
}
|
|
||||||
|
|
||||||
@NotNull
|
|
||||||
private String mergeDoc(@NotNull String beforeText, @NotNull String text,
|
|
||||||
boolean getToSet, String before, String doc) {
|
|
||||||
if (beforeText.startsWith("set")) {
|
|
||||||
beforeText = beforeText.substring(3);
|
|
||||||
if (text.startsWith("get")) {
|
|
||||||
text = text.substring(3);
|
|
||||||
} else if (text.startsWith("is")) {
|
|
||||||
text = text.substring(2);
|
|
||||||
}
|
|
||||||
boolean same = beforeText.equals(text);
|
|
||||||
if (getToSet) {
|
|
||||||
// because lambda is -> or =>
|
|
||||||
doc = doc + (same ? " ==> " : " --> ") + before;
|
|
||||||
} else {
|
|
||||||
doc = before + (same ? " <== " : " <-- ") + doc;
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
doc = before + " | " + doc;
|
|
||||||
}
|
}
|
||||||
return doc;
|
return doc;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,31 @@
|
|||||||
|
package io.github.linwancen.plugin.show.lang.base;
|
||||||
|
|
||||||
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
|
||||||
|
public class MergeDoc {
|
||||||
|
@NotNull
|
||||||
|
static String mergeDoc(@NotNull String beforeText, @NotNull String text,
|
||||||
|
@NotNull String beforeDoc, @NotNull String doc, boolean getToSet) {
|
||||||
|
if (!beforeText.startsWith("set")) {
|
||||||
|
// doc same
|
||||||
|
if (beforeDoc.equals(doc)) {
|
||||||
|
return doc;
|
||||||
|
}
|
||||||
|
return beforeDoc + " | " + doc;
|
||||||
|
}
|
||||||
|
beforeText = beforeText.substring(3);
|
||||||
|
if (text.startsWith("get")) {
|
||||||
|
text = text.substring(3);
|
||||||
|
} else if (text.startsWith("is")) {
|
||||||
|
text = text.substring(2);
|
||||||
|
}
|
||||||
|
// method name, not doc same
|
||||||
|
boolean same = beforeText.equals(text);
|
||||||
|
if (getToSet) {
|
||||||
|
// because lambda is -> or =>
|
||||||
|
return doc + (same ? " ==> " : " --> ") + beforeDoc;
|
||||||
|
} else {
|
||||||
|
return beforeDoc + (same ? " <== " : " <-- ") + doc;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user