From 1c7d03ec4df4bd9f95123ff76443b36b12e5da3c Mon Sep 17 00:00:00 2001
From: Vanco
Date: Thu, 16 Jun 2022 22:18:37 +0800
Subject: [PATCH] Remove `Generate Sequence Diagram` intention.
---
CHANGELOG.md | 8 ++++
README.md | 2 +-
.../intellij/sequencer/SequenceAnnotator.java | 28 -----------
.../sequencer/SequenceIntentionAction.java | 46 -------------------
.../intellij/sequencer/diagram/Parser.java | 9 +++-
src/main/resources/META-INF/plugin.xml | 1 -
6 files changed, 17 insertions(+), 77 deletions(-)
delete mode 100644 src/main/java/org/intellij/sequencer/SequenceAnnotator.java
delete mode 100644 src/main/java/org/intellij/sequencer/SequenceIntentionAction.java
diff --git a/CHANGELOG.md b/CHANGELOG.md
index e405dbe..d7352ef 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,12 +1,20 @@
# SequenceDiagram Changelog
## [Unreleased]
+## [2.1.10]
### Added
- `Show lambda call` option
- Add Color Icon in setting Colors.
- Support generate function expression body in kotlin
- Support generate lambda_argument
+### Removed
+- Remove `Generate Sequence Diagram` intention
+
+### Fixed
+- Issue#127
+- Issue#100 Method Declaration Becomes Grey
+
## [2.1.9]
### Changed
- Build for 222.x
diff --git a/README.md b/README.md
index cd74ed9..61bc700 100644
--- a/README.md
+++ b/README.md
@@ -96,7 +96,7 @@ Since v2.1.0, the UI has improved a lot. now you can easily find it everywhere :
2. In Tools menu. `Tools` > `Sequence Diagram ...`
3. In Project view popup up menu. `Sequence Diagram ...`
4. In Editor popup up menu. `Sequence Diagram ...`
-5. In IntentionAction tips.`Generate sequence diagram`
+5. ~~In IntentionAction tips.`Generate sequence diagram`~~(removed, not stable)
Please try to experience it and find what happen.
diff --git a/src/main/java/org/intellij/sequencer/SequenceAnnotator.java b/src/main/java/org/intellij/sequencer/SequenceAnnotator.java
deleted file mode 100644
index 9dfa338..0000000
--- a/src/main/java/org/intellij/sequencer/SequenceAnnotator.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package org.intellij.sequencer;
-
-import com.intellij.codeInspection.ProblemHighlightType;
-import com.intellij.lang.annotation.AnnotationHolder;
-import com.intellij.lang.annotation.Annotator;
-import com.intellij.lang.annotation.HighlightSeverity;
-import com.intellij.lang.annotation.ProblemGroup;
-import com.intellij.openapi.editor.markup.GutterIconRenderer;
-import com.intellij.psi.PsiElement;
-import com.intellij.psi.PsiIdentifier;
-import com.intellij.psi.PsiMethod;
-import icons.SequencePluginIcons;
-import org.jetbrains.annotations.NotNull;
-
-import javax.swing.*;
-
-public class SequenceAnnotator implements Annotator {
- @Override
- public void annotate(@NotNull PsiElement element, @NotNull AnnotationHolder holder) {
- if (element instanceof PsiIdentifier && element.getParent() instanceof PsiMethod) {
- holder.newSilentAnnotation(new HighlightSeverity("Sequence Diagram", 200))
- .withFix(new SequenceIntentionAction())
- .range(element)
- .highlightType(ProblemHighlightType.INFORMATION)
- .create();
- }
- }
-}
\ No newline at end of file
diff --git a/src/main/java/org/intellij/sequencer/SequenceIntentionAction.java b/src/main/java/org/intellij/sequencer/SequenceIntentionAction.java
deleted file mode 100644
index 84845d4..0000000
--- a/src/main/java/org/intellij/sequencer/SequenceIntentionAction.java
+++ /dev/null
@@ -1,46 +0,0 @@
-package org.intellij.sequencer;
-
-import com.intellij.codeInsight.intention.PsiElementBaseIntentionAction;
-import com.intellij.openapi.application.ApplicationManager;
-import com.intellij.openapi.editor.Editor;
-import com.intellij.openapi.project.Project;
-import com.intellij.psi.PsiElement;
-import com.intellij.psi.PsiIdentifier;
-import com.intellij.psi.PsiMethod;
-import com.intellij.util.IncorrectOperationException;
-import org.intellij.sequencer.generator.SequenceParams;
-import org.jetbrains.annotations.NotNull;
-
-import static org.intellij.sequencer.util.ConfigUtil.loadSequenceParams;
-
-public class SequenceIntentionAction extends PsiElementBaseIntentionAction {
- public SequenceIntentionAction() {
- }
-
- @Override
- public
- @NotNull String getText() {
- return "Generate sequence diagram";
- }
-
- @Override
- public @NotNull String getFamilyName() {
- return "Sequence diagram";
- }
-
- @Override
- public boolean isAvailable(@NotNull Project project, Editor editor, @NotNull PsiElement element) {
- return element instanceof PsiIdentifier && element.getParent() instanceof PsiMethod;
- }
-
- @Override
- public void invoke(@NotNull Project project, Editor editor, @NotNull PsiElement element) throws IncorrectOperationException {
- ApplicationManager.getApplication().invokeLater(() -> {
- SequenceService plugin = project.getService(SequenceService.class);
-
- SequenceParams params = loadSequenceParams();
-
- plugin.showSequence(params, element.getParent());
- });
- }
-}
diff --git a/src/main/java/org/intellij/sequencer/diagram/Parser.java b/src/main/java/org/intellij/sequencer/diagram/Parser.java
index 1f5fd10..67a356c 100644
--- a/src/main/java/org/intellij/sequencer/diagram/Parser.java
+++ b/src/main/java/org/intellij/sequencer/diagram/Parser.java
@@ -1,6 +1,7 @@
package org.intellij.sequencer.diagram;
import com.google.gson.Gson;
+import com.google.gson.stream.MalformedJsonException;
import org.apache.log4j.Logger;
import org.intellij.sequencer.Constants;
import org.intellij.sequencer.generator.ClassDescription;
@@ -40,7 +41,12 @@ public void parse(PushbackReader reader) throws IOException {
break;
} else if (c == '(') {
String methodName = readIdent(reader);
- addCall(methodName);
+ try { addCall(methodName); } catch (Throwable e) {
+ if (e instanceof MalformedJsonException) {
+ LOGGER.error("org.intellij.sequencer.diagram.Parser: "+methodName);
+ }
+ throw e;
+ }
} else if (c == ')') {
addReturn();
} else {
@@ -235,6 +241,7 @@ else if (c == '\\') {
/**
* Peek a sdt tile read top method of Sequence Diagram.
+ *
* @param f a .sdt file
* @return MethodDescription
*/
diff --git a/src/main/resources/META-INF/plugin.xml b/src/main/resources/META-INF/plugin.xml
index 2e7e6ef..b99b43c 100644
--- a/src/main/resources/META-INF/plugin.xml
+++ b/src/main/resources/META-INF/plugin.xml
@@ -58,7 +58,6 @@ The original version SequencePlugin come from ksibilev@yahoo.com.
-
\ No newline at end of file