From ada9d9c25e7427e2d88693e5d98f116a723c91e0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E6=9E=97=E4=B8=87=E7=A8=8B?= <1498425439@qq.com>
Date: Wed, 9 Mar 2022 23:57:04 +0800
Subject: [PATCH] =?UTF-8?q?json=20doc=20color=20setting=20|=20json=20?=
=?UTF-8?q?=E6=B3=A8=E9=87=8A=E9=A2=9C=E8=89=B2=E8=AE=BE=E7=BD=AE?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
README.md | 2 ++
.../java/io/github/linwancen/plugin/show/LineEnd.java | 7 ++++++-
.../plugin/show/settings/AppSettingsComponent.java | 10 ++++++++++
.../plugin/show/settings/AppSettingsConfigurable.java | 3 +++
.../plugin/show/settings/AppSettingsState.java | 3 +++
5 files changed, 24 insertions(+), 1 deletion(-)
diff --git a/README.md b/README.md
index 7cd1e12..acde7b6 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,8 @@
# Show Comment Plugin
IDEA 智能注释插件
+https://plugins.jetbrains.com/plugin/18553-show-comment
+
English Notes:
- Show javadoc comments at the Project view Tree structure.
diff --git a/src/main/java/io/github/linwancen/plugin/show/LineEnd.java b/src/main/java/io/github/linwancen/plugin/show/LineEnd.java
index c23d4e6..3aeecf5 100644
--- a/src/main/java/io/github/linwancen/plugin/show/LineEnd.java
+++ b/src/main/java/io/github/linwancen/plugin/show/LineEnd.java
@@ -1,8 +1,10 @@
package io.github.linwancen.plugin.show;
+import com.intellij.json.JsonFileType;
import com.intellij.openapi.editor.Document;
import com.intellij.openapi.editor.EditorLinePainter;
import com.intellij.openapi.editor.LineExtensionInfo;
+import com.intellij.openapi.editor.markup.TextAttributes;
import com.intellij.openapi.project.DumbService;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.vfs.VirtualFile;
@@ -37,7 +39,10 @@ public class LineEnd extends EditorLinePainter {
if (comment == null) {
return null;
}
- LineExtensionInfo info = new LineExtensionInfo(settings.lineEndPrefix + comment, settings.lineEndTextAttr);
+ TextAttributes textAttr = file.getFileType().equals(JsonFileType.INSTANCE)
+ ? settings.lineEndJsonTextAttr
+ : settings.lineEndTextAttr;
+ LineExtensionInfo info = new LineExtensionInfo(settings.lineEndPrefix + comment, textAttr);
return Collections.singletonList(info);
}
diff --git a/src/main/java/io/github/linwancen/plugin/show/settings/AppSettingsComponent.java b/src/main/java/io/github/linwancen/plugin/show/settings/AppSettingsComponent.java
index d43be07..99efdfa 100644
--- a/src/main/java/io/github/linwancen/plugin/show/settings/AppSettingsComponent.java
+++ b/src/main/java/io/github/linwancen/plugin/show/settings/AppSettingsComponent.java
@@ -21,6 +21,7 @@ public class AppSettingsComponent extends AbstractSettingsComponent {
private final JBCheckBox fromRef = new JBCheckBox("ref ");
private final JBCheckBox inJson = new JBCheckBox("in json ");
private final ColorPanel lineEndColor = new ColorPanel();
+ private final ColorPanel lineEndJsonColor = new ColorPanel();
private final JBCheckBox findElementRightToLeft = new JBCheckBox("Find element right to left");
protected final JBTextField lineEndPrefix = new JBTextField();
protected final JBTextField lineEndCount = new JBTextField();
@@ -48,6 +49,7 @@ public class AppSettingsComponent extends AbstractSettingsComponent {
JPanel text = JPanelFactory.of(
new JBLabel("object count: "), lineEndCount,
new JBLabel("text color: "), lineEndColor,
+ new JBLabel("json text color: "), lineEndJsonColor,
new JBLabel("prefix: "), lineEndPrefix);
FormBuilder formBuilder = FormBuilder.createFormBuilder()
.addComponent(JPanelFactory.of(findElementRightToLeft))
@@ -124,6 +126,14 @@ public class AppSettingsComponent extends AbstractSettingsComponent {
lineEndColor.setSelectedColor(color);
}
+ public Color getLineEndJsonColor() {
+ return lineEndJsonColor.getSelectedColor();
+ }
+
+ public void setLineEndJsonColor(Color color) {
+ lineEndJsonColor.setSelectedColor(color);
+ }
+
public boolean getFindElementRightToLeft() {
return findElementRightToLeft.isSelected();
}
diff --git a/src/main/java/io/github/linwancen/plugin/show/settings/AppSettingsConfigurable.java b/src/main/java/io/github/linwancen/plugin/show/settings/AppSettingsConfigurable.java
index 214c9ad..cd69bb7 100644
--- a/src/main/java/io/github/linwancen/plugin/show/settings/AppSettingsConfigurable.java
+++ b/src/main/java/io/github/linwancen/plugin/show/settings/AppSettingsConfigurable.java
@@ -44,6 +44,7 @@ public class AppSettingsConfigurable implements Configurable {
} else {
modified |= !mySettingsComponent.getLineEndColor().equals(settings.lineEndColorBright);
}
+ modified |= !mySettingsComponent.getLineEndJsonColor().equals(settings.lineEndJsonTextAttr.getForegroundColor());
modified |= mySettingsComponent.getFindElementRightToLeft() != settings.findElementRightToLeft;
modified |= !mySettingsComponent.getLineEndInclude().equals(settings.lineEndInclude);
modified |= !mySettingsComponent.getLineEndExclude().equals(settings.lineEndExclude);
@@ -68,6 +69,7 @@ public class AppSettingsConfigurable implements Configurable {
}
JBColor jbColor = new JBColor(settings.lineEndColorBright, settings.lineEndColorDark);
settings.lineEndTextAttr.setForegroundColor(jbColor);
+ settings.lineEndJsonTextAttr.setForegroundColor(mySettingsComponent.getLineEndJsonColor());
settings.findElementRightToLeft = mySettingsComponent.getFindElementRightToLeft();
settings.lineEndInclude = mySettingsComponent.getLineEndInclude();
settings.lineEndExclude = mySettingsComponent.getLineEndExclude();
@@ -95,6 +97,7 @@ public class AppSettingsConfigurable implements Configurable {
} else {
mySettingsComponent.setLineEndColor(settings.lineEndColorBright);
}
+ mySettingsComponent.setLineEndJsonColor(settings.lineEndJsonTextAttr.getForegroundColor());
mySettingsComponent.setFindElementRightToLeft(settings.findElementRightToLeft);
mySettingsComponent.setLineEndInclude(settings.lineEndInclude);
mySettingsComponent.setLineEndExclude(settings.lineEndExclude);
diff --git a/src/main/java/io/github/linwancen/plugin/show/settings/AppSettingsState.java b/src/main/java/io/github/linwancen/plugin/show/settings/AppSettingsState.java
index efc2f2d..0444af4 100644
--- a/src/main/java/io/github/linwancen/plugin/show/settings/AppSettingsState.java
+++ b/src/main/java/io/github/linwancen/plugin/show/settings/AppSettingsState.java
@@ -5,6 +5,7 @@ import com.intellij.openapi.components.PersistentStateComponent;
import com.intellij.openapi.components.State;
import com.intellij.openapi.components.Storage;
import com.intellij.openapi.editor.markup.TextAttributes;
+import com.intellij.ui.Gray;
import com.intellij.ui.JBColor;
import com.intellij.util.xmlb.XmlSerializerUtil;
import org.jetbrains.annotations.NotNull;
@@ -27,6 +28,8 @@ public class AppSettingsState implements PersistentStateComponent