You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@groovy.apache.org by su...@apache.org on 2019/02/12 14:53:50 UTC
[groovy] branch master updated: Fix failing to disable matching
highlighter
This is an automated email from the ASF dual-hosted git repository.
sunlan pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/groovy.git
The following commit(s) were added to refs/heads/master by this push:
new 96a7440 Fix failing to disable matching highlighter
96a7440 is described below
commit 96a74404d790d0cab54ee15bc639cb92ac5ce578
Author: Daniel Sun <su...@apache.org>
AuthorDate: Tue Feb 12 22:50:20 2019 +0800
Fix failing to disable matching highlighter
---
.../main/groovy/groovy/ui/ConsoleTextEditor.java | 21 ++++++++++++++-------
1 file changed, 14 insertions(+), 7 deletions(-)
diff --git a/subprojects/groovy-console/src/main/groovy/groovy/ui/ConsoleTextEditor.java b/subprojects/groovy-console/src/main/groovy/groovy/ui/ConsoleTextEditor.java
index 41fcccf..4adf7fa 100644
--- a/subprojects/groovy-console/src/main/groovy/groovy/ui/ConsoleTextEditor.java
+++ b/subprojects/groovy-console/src/main/groovy/groovy/ui/ConsoleTextEditor.java
@@ -331,18 +331,25 @@ public class ConsoleTextEditor extends JScrollPane {
DocumentFilter documentFilter = (DocumentFilter) clazz.getConstructor(doc.getClass()).newInstance(doc);
doc.setDocumentFilter(documentFilter);
+ disableMatchingHighlighter();
if (documentFilter instanceof SmartDocumentFilter) {
final SmartDocumentFilter smartDocumentFilter = (SmartDocumentFilter) documentFilter;
-
- for (CaretListener cl : textEditor.getCaretListeners()) {
- if (cl instanceof MatchingHighlighter) {
- textEditor.removeCaretListener(cl);
- }
- }
- textEditor.addCaretListener(new MatchingHighlighter(smartDocumentFilter, textEditor));
+ enableMatchingHighlighter(smartDocumentFilter);
}
} catch (ReflectiveOperationException e) {
e.printStackTrace();
}
}
+
+ private void enableMatchingHighlighter(SmartDocumentFilter smartDocumentFilter) {
+ textEditor.addCaretListener(new MatchingHighlighter(smartDocumentFilter, textEditor));
+ }
+
+ private void disableMatchingHighlighter() {
+ for (CaretListener cl : textEditor.getCaretListeners()) {
+ if (cl instanceof MatchingHighlighter) {
+ textEditor.removeCaretListener(cl);
+ }
+ }
+ }
}