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