public static RangeMarker createRangeMarker(EditorEx editor) { final int offset = editor.getCaretModel().getOffset(); return editor.getDocument().createRangeMarker(offset, offset); }
private DocumentFragment createDocumentFragment(EditorEx editorEx, FoldRegion fold) { final FoldingGroup group = fold.getGroup(); final int foldStart = fold.getStartOffset(); if (group != null) { final int endOffset = ((FoldingModelImpl) editorEx.getFoldingModel()).getEndOffset(group); return new DocumentFragment(editorEx.getDocument(), foldStart, endOffset); } final int oldEnd = fold.getEndOffset(); return new DocumentFragment(editorEx.getDocument(), foldStart, oldEnd); }
@Override public void updateView(@NotNull List<NamedTextAttr> namedTextAttrList) { UIUtil.invokeLaterIfNeeded(() -> { if (myEditor.isDisposed()) { return; } myEditor.getMarkupModel().removeAllHighlighters(); myEditor.getSelectionModel().removeSelection(); if (namedTextAttrList.isEmpty()) { ApplicationManager.getApplication().runWriteAction(() -> { myEditor.getDocument().setText(""); }); return; } StringBuilder sb = new StringBuilder(); for (NamedTextAttr namedTextAttr : namedTextAttrList) { sb.append(namedTextAttr.getName()).append("\n"); } ApplicationManager.getApplication().runWriteAction(() -> { myEditor.getDocument().setText(sb.toString()); }); int size = namedTextAttrList.size(); for (int i = 0; i < size; i++) { highlightLine(i, namedTextAttrList.get(i)); } }); }
private void processRegion(@NotNull FoldRegion region, @NotNull PsiDocumentManager documentManager, @NotNull EditorEx editorEx) throws IndexNotReadyException { if (isHighlightingRegion(region)) { @Nullable PsiFile psiFile = documentManager.getPsiFile(editorEx.getDocument()); if (psiFile != null) { @Nullable PsiElement element = psiFile.findElementAt(region.getStartOffset());
@Override public List<HighlightInfo> compute() { final Project project = psiFile.getProject(); final DaemonCodeAnalyzerEx analyzer = DaemonCodeAnalyzerEx.getInstanceEx(project); // ensure we get fresh results; the restart also seems to // prevent the "process canceled" issue (see #30) PsiDocumentManager.getInstance(project).commitAllDocuments(); analyzer.restart(psiFile); // analyze! return analyzer.runMainPasses( psiFile, editor.getDocument(), progress); } }, progress);
try { @Nullable PsiFile psiFile = PsiDocumentManager.getInstance(myProject) .getPsiFile(editorEx.getDocument()); if (psiFile != null) { @Nullable Expression expression = findHighlightingExpression(psiFile, editorEx.getDocument(), offset); if (expression != null) {
try { @Nullable PsiFile psiFile = PsiDocumentManager.getInstance(myProject) .getPsiFile(editorEx.getDocument()); if (psiFile != null) { @Nullable Expression expression = findHighlightingExpression(psiFile, editorEx.getDocument(), offset); if (expression != null) {
final Document doc = editor.getDocument(); final int line = doc.getLineNumber(info.getStartOffset()); final int col = info.getStartOffset() - doc.getLineStartOffset(line);