Skip to content

Commit dd543fd

Browse files
committed
fix: Don't run actions in ActionUpdateThread.OLD_EDT (fixes #696)
1 parent 1741ea8 commit dd543fd

File tree

8 files changed

+53
-0
lines changed

8 files changed

+53
-0
lines changed

src/main/java/org/antlr/intellij/plugin/actions/ConfigureANTLRAction.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package org.antlr.intellij.plugin.actions;
22

3+
import com.intellij.openapi.actionSystem.ActionUpdateThread;
34
import com.intellij.openapi.actionSystem.AnAction;
45
import com.intellij.openapi.actionSystem.AnActionEvent;
56
import com.intellij.openapi.diagnostic.Logger;
@@ -8,6 +9,7 @@
89
import com.intellij.openapi.vfs.VirtualFile;
910
import org.antlr.intellij.plugin.configdialogs.ConfigANTLRPerGrammar;
1011
import org.antlr.v4.Tool;
12+
import org.jetbrains.annotations.NotNull;
1113

1214
public class ConfigureANTLRAction extends AnAction implements DumbAware {
1315
public static final Logger LOG = Logger.getInstance("ConfigureANTLRAction");
@@ -17,6 +19,11 @@ public void update(AnActionEvent e) {
1719
MyActionUtils.selectedFileIsGrammar(e);
1820
}
1921

22+
@Override
23+
public @NotNull ActionUpdateThread getActionUpdateThread() {
24+
return ActionUpdateThread.BGT;
25+
}
26+
2027
@Override
2128
public void actionPerformed(AnActionEvent e) {
2229
if ( e.getProject()==null ) {

src/main/java/org/antlr/intellij/plugin/actions/ExtractRuleAction.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,11 @@ public void update(@NotNull AnActionEvent e) {
7878
presentation.setEnabled(true);
7979
}
8080

81+
@Override
82+
public @NotNull ActionUpdateThread getActionUpdateThread() {
83+
return ActionUpdateThread.BGT;
84+
}
85+
8186
@Override
8287
public void actionPerformed(@NotNull AnActionEvent e) {
8388
PsiElement el = MyActionUtils.getSelectedPsiElement(e);

src/main/java/org/antlr/intellij/plugin/actions/GenerateLexerRulesForLiteralsAction.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package org.antlr.intellij.plugin.actions;
22

3+
import com.intellij.openapi.actionSystem.ActionUpdateThread;
34
import com.intellij.openapi.actionSystem.AnAction;
45
import com.intellij.openapi.actionSystem.AnActionEvent;
56
import com.intellij.openapi.actionSystem.LangDataKeys;
@@ -27,6 +28,7 @@
2728
import org.antlr.v4.runtime.tree.pattern.ParseTreeMatch;
2829
import org.antlr.v4.runtime.tree.pattern.ParseTreePattern;
2930
import org.antlr.v4.runtime.tree.xpath.XPath;
31+
import org.jetbrains.annotations.NotNull;
3032

3133
import java.util.ArrayList;
3234
import java.util.Collection;
@@ -54,6 +56,11 @@ public void update(AnActionEvent e) {
5456
}
5557
}
5658

59+
@Override
60+
public @NotNull ActionUpdateThread getActionUpdateThread() {
61+
return ActionUpdateThread.BGT;
62+
}
63+
5764
@Override
5865
public void actionPerformed(AnActionEvent e) {
5966
LOG.info("actionPerformed GenerateLexerRulesForLiteralsAction");

src/main/java/org/antlr/intellij/plugin/actions/GenerateParserAction.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import com.intellij.notification.Notification;
44
import com.intellij.notification.NotificationType;
55
import com.intellij.notification.Notifications;
6+
import com.intellij.openapi.actionSystem.ActionUpdateThread;
67
import com.intellij.openapi.actionSystem.AnAction;
78
import com.intellij.openapi.actionSystem.AnActionEvent;
89
import com.intellij.openapi.actionSystem.PlatformDataKeys;
@@ -17,6 +18,7 @@
1718
import com.intellij.psi.PsiDocumentManager;
1819
import org.antlr.intellij.plugin.configdialogs.ANTLRv4GrammarPropertiesStore;
1920
import org.antlr.intellij.plugin.parsing.RunANTLROnGrammarFile;
21+
import org.jetbrains.annotations.NotNull;
2022

2123
import java.io.File;
2224
import java.util.HashSet;
@@ -33,6 +35,11 @@ public void update(AnActionEvent e) {
3335
MyActionUtils.selectedFileIsGrammar(e);
3436
}
3537

38+
@Override
39+
public @NotNull ActionUpdateThread getActionUpdateThread() {
40+
return ActionUpdateThread.BGT;
41+
}
42+
3643
@Override
3744
public void actionPerformed(final AnActionEvent e) {
3845
Project project = e.getData(PlatformDataKeys.PROJECT);

src/main/java/org/antlr/intellij/plugin/actions/InlineRuleAction.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package org.antlr.intellij.plugin.actions;
22

3+
import com.intellij.openapi.actionSystem.ActionUpdateThread;
34
import com.intellij.openapi.actionSystem.AnAction;
45
import com.intellij.openapi.actionSystem.AnActionEvent;
56
import com.intellij.openapi.actionSystem.LangDataKeys;
@@ -22,6 +23,7 @@
2223
import org.antlr.v4.runtime.tree.ParseTree;
2324
import org.antlr.v4.runtime.tree.TerminalNode;
2425
import org.antlr.v4.runtime.tree.Trees;
26+
import org.jetbrains.annotations.NotNull;
2527

2628
import java.util.List;
2729

@@ -31,6 +33,11 @@ public void update(AnActionEvent e) {
3133
MyActionUtils.showOnlyIfSelectionIsRule(e, "Inline and Remove Rule %s");
3234
}
3335

36+
@Override
37+
public @NotNull ActionUpdateThread getActionUpdateThread() {
38+
return ActionUpdateThread.BGT;
39+
}
40+
3441
@Override
3542
public void actionPerformed(AnActionEvent e) {
3643
PsiElement el = MyActionUtils.getSelectedPsiElement(e);

src/main/java/org/antlr/intellij/plugin/actions/TestRuleAction.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package org.antlr.intellij.plugin.actions;
22

33
import com.intellij.icons.AllIcons;
4+
import com.intellij.openapi.actionSystem.ActionUpdateThread;
45
import com.intellij.openapi.actionSystem.AnAction;
56
import com.intellij.openapi.actionSystem.AnActionEvent;
67
import com.intellij.openapi.actionSystem.LangDataKeys;
@@ -17,6 +18,7 @@
1718
import com.intellij.psi.PsiFile;
1819
import org.antlr.intellij.plugin.ANTLRv4PluginController;
1920
import org.antlr.intellij.plugin.psi.ParserRuleRefNode;
21+
import org.jetbrains.annotations.NotNull;
2022

2123
import java.awt.*;
2224
import java.awt.event.InputEvent;
@@ -81,6 +83,11 @@ public void update(AnActionEvent e) {
8183
}
8284
}
8385

86+
@Override
87+
public @NotNull ActionUpdateThread getActionUpdateThread() {
88+
return ActionUpdateThread.EDT;
89+
}
90+
8491
@Override
8592
public void actionPerformed(final AnActionEvent e) {
8693
if ( e.getProject()==null ) {

src/main/java/org/antlr/intellij/plugin/actions/UniquifyRuleRefs.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package org.antlr.intellij.plugin.actions;
22

3+
import com.intellij.openapi.actionSystem.ActionUpdateThread;
34
import com.intellij.openapi.actionSystem.AnAction;
45
import com.intellij.openapi.actionSystem.AnActionEvent;
56
import com.intellij.openapi.actionSystem.LangDataKeys;
@@ -21,6 +22,7 @@
2122
import org.antlr.v4.runtime.Token;
2223
import org.antlr.v4.runtime.tree.ParseTree;
2324
import org.antlr.v4.runtime.tree.TerminalNode;
25+
import org.jetbrains.annotations.NotNull;
2426

2527
import java.util.List;
2628

@@ -33,6 +35,11 @@ public void update(AnActionEvent e) {
3335
MyActionUtils.showOnlyIfSelectionIsRule(e, "Dup to Make %s Refs Unique");
3436
}
3537

38+
@Override
39+
public @NotNull ActionUpdateThread getActionUpdateThread() {
40+
return ActionUpdateThread.BGT;
41+
}
42+
3643
@Override
3744
public void actionPerformed(AnActionEvent e) {
3845
PsiElement el = MyActionUtils.getSelectedPsiElement(e);

src/main/java/org/antlr/intellij/plugin/preview/CancelParserAction.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package org.antlr.intellij.plugin.preview;
22

33
import com.intellij.icons.AllIcons;
4+
import com.intellij.openapi.actionSystem.ActionUpdateThread;
45
import com.intellij.openapi.actionSystem.AnAction;
56
import com.intellij.openapi.actionSystem.AnActionEvent;
67
import org.antlr.intellij.plugin.ANTLRv4PluginController;
@@ -25,6 +26,11 @@ public void update(@NotNull AnActionEvent e) {
2526
e.getPresentation().setEnabled(enabled);
2627
}
2728

29+
@Override
30+
public @NotNull ActionUpdateThread getActionUpdateThread() {
31+
return ActionUpdateThread.EDT;
32+
}
33+
2834
@Override
2935
public void actionPerformed(@NotNull AnActionEvent e) {
3036
final ANTLRv4PluginController controller = ANTLRv4PluginController.getInstance(e.getProject());

0 commit comments

Comments
 (0)