}
}
private Editor createEditor(final BugInstanceNode bugInstanceNode, final Document document) {
final Editor editor = EditorFactory.getInstance().createEditor(document, _project, StdFileTypes.JAVA, false);
final EditorColorsScheme scheme = editor.getColorsScheme();
scheme.setEditorFontSize(scheme.getEditorFontSize() - 1);
final EditorSettings editorSettings = editor.getSettings();
editorSettings.setLineMarkerAreaShown(true);
editorSettings.setLineNumbersShown(true);
editorSettings.setFoldingOutlineShown(true);
editorSettings.setAnimatedScrolling(true);
editorSettings.setWheelFontChangeEnabled(true);
editorSettings.setVariableInplaceRenameEnabled(true);
final int lineStart = bugInstanceNode.getSourceLines()[0] - 1;
final int lineEnd = bugInstanceNode.getSourceLines()[1];
PsiElement element = null;
final PsiFile psiFile = bugInstanceNode.getPsiFile();
if(lineStart < 0 && lineEnd < 0) { // find anonymous classes
final PsiElement psiElement = IdeaUtilImpl.findAnonymousClassPsiElement(bugInstanceNode, _project);
if (psiElement != null) {
element = psiElement;
}
} else {
if (psiFile != null) {
element = IdeaUtilImpl.getElementAtLine(psiFile, lineStart);
}
}
RangeMarker marker = null;
if (element != null) {
marker = document.createRangeMarker(element.getTextRange());
} else if (lineStart >= 0 && lineEnd >= 0) {
marker = document.createRangeMarker(document.getLineStartOffset(lineStart), document.getLineEndOffset(lineEnd));
}
if(marker != null) {
editor.getMarkupModel().addRangeHighlighter(marker.getStartOffset(), marker.getEndOffset(), HighlighterLayer.FIRST - 1, new TextAttributes(null, null, JBColor.RED, EffectType.BOXED, Font.BOLD), HighlighterTargetArea.EXACT_RANGE);
}
return editor;
}