@Override protected PsiFile doReformat(Project project, PsiFile psiFile) { CodeStyleManager.getInstance(project).reformatText(psiFile, 0, psiFile.getTextLength()); return psiFile; } }
@Override public boolean isInContext(@NotNull PsiFile file, int offset) { // offset is where cursor or insertion point is I guess if ( !PsiUtilBase.getLanguageAtOffset(file, offset).isKindOf(ANTLRv4Language.INSTANCE) ) { return false; } if ( offset==file.getTextLength() ) { // allow at EOF offset--; } PsiElement element = file.findElementAt(offset); // String trace = DebugUtil.currentStackTrace(); // System.out.println("isInContext: element " + element +", text="+element.getText()); // System.out.println(trace); if ( element==null ) { return false; } return isInContext(file, element, offset); } }
@Override public void doApplyInformationToEditor() { Document document = editor.getDocument(); UpdateHighlightersUtil.setHighlightersToEditor(myProject, document, 0, file.getTextLength(), infos, getColorsScheme(), getId()); } };
public static int getFieldEndOffset(PsiElement field) { PsiElement separator = CsvHelper.getNextSeparator(field); if (separator == null) { separator = getNextCRLF(field.getParent()); } return separator == null ? field.getContainingFile().getTextLength() : separator.getTextOffset(); }
public static boolean hasCloseMarkerAhead(@NotNull PsiFile psiFile, int startOffset) { int docLength = psiFile.getTextLength(); while (startOffset < docLength) { PsiElement element = psiFile.findElementAt(startOffset); if (element == null) { return false; } IElementType tokenType = element.getNode().getElementType(); if (tokenType == EMBED_MARKER_CLOSE) { return true; } else if (tokenType == EMBED_MARKER_OPEN || tokenType == QUESTION && EmbeddedPerlPatterns.BROKEN_OPEN_MARKER_PATTERN.accepts(element)) { return false; } startOffset = element.getTextOffset() + element.getTextLength(); } return false; } }
assert originalDocument.getTextLength() == file.getTextLength() : originalDocument; document.setText(originalDocument.getImmutableCharSequence()); return copy;