}
private void updateHighlights() {
removeHighlights();
Highlighter h = textComponent.getHighlighter();
List<Span> spellErrors = new ArrayList<>();
List<Span> grammarErrors = new ArrayList<>();
for (Span span : documentSpans) {
if (span.start == span.end) {
continue;
}
if (ITSIssueType.Misspelling.equals(span.rule.getLocQualityIssueType())) {
spellErrors.add(span);
} else {
grammarErrors.add(span);
}
}
for (Span span : grammarErrors) {
try {
if (span.start < span.end) { //to avoid the BadLocationException
h.addHighlight(span.start, span.end, bluePainter);
}
} catch (BadLocationException ex) {
ex.printStackTrace();
}
}
for (Span span : spellErrors) {
try {
if (span.start < span.end) { //to avoid the BadLocationException
h.addHighlight(span.start, span.end, redPainter);
}
} catch (BadLocationException ex) {
ex.printStackTrace();
}
}