/** * Invoked after a tree has changed. * * @param event the event object specifying changed nodes */ @Override public void treeNodesChanged(@NotNull TreeModelEvent event) { final String text = getCommandsText(); ApplicationManager.getApplication().runWriteAction(() -> commandsDocument.setText(text)); } };
public void applyFix(@NotNull Project project, @NotNull ProblemDescriptor descriptor) { try { PsiElement element = descriptor.getPsiElement(); Document document = PsiDocumentManager.getInstance(project).getDocument(element.getContainingFile()); document.setText(document.getText() + "\""); } catch (IncorrectOperationException e) { LOG.error(e); } } }
private void setInitialContent(Document document) { if (document != null && document.getText().isEmpty()) { final Runnable setTextRunner = () -> document.setText("{}"); ApplicationManager.getApplication() .invokeLater(() -> ApplicationManager.getApplication().runWriteAction(setTextRunner)); } }
protected static void changeLeftAndRightColumnOrder(@NotNull Project project, CsvFile csvFile, CsvColumnInfo<PsiElement> leftColumnInfo, CsvColumnInfo<PsiElement> rightColumnInfo) { Document document = PsiDocumentManager.getInstance(project).getDocument(csvFile); document.setText( changeLeftAndRightColumnOrder(document.getText(), CsvCodeStyleSettings.getCurrentSeparator(project, csvFile.getLanguage()), leftColumnInfo, rightColumnInfo) ); }
public void applyFix(@NotNull Project project, @NotNull ProblemDescriptor descriptor) { try { PsiElement element = descriptor.getPsiElement(); Document document = PsiDocumentManager.getInstance(project).getDocument(element.getContainingFile()); String separator = CsvCodeStyleSettings.getCurrentSeparator(element.getProject(), element.getContainingFile().getLanguage()); String text = document.getText(); document.setText(text.substring(0, element.getTextOffset()) + separator + text.substring(element.getTextOffset())); } catch (IncorrectOperationException e) { LOG.error(e); } } }
public static void quoteValue(@NotNull Project project, @NotNull final PsiElement element) { try { Document document = PsiDocumentManager.getInstance(project).getDocument(element.getContainingFile()); List<Integer> quotePositions = new ArrayList<>(); int quotePosition = getOpeningQuotePosition(element.getFirstChild(), element.getLastChild()); if (quotePosition != -1) { quotePositions.add(quotePosition); } PsiElement endSeparatorElement = findQuotePositionsUntilSeparator(element, quotePositions); if (endSeparatorElement == null) { quotePositions.add(document.getTextLength()); } else { quotePositions.add(endSeparatorElement.getTextOffset()); } String text = addQuotes(document.getText(), quotePositions); document.setText(text); } catch (IncorrectOperationException e) { LOG.error(e); } }
@Override public void applyFix(@NotNull Project project, @NotNull ProblemDescriptor descriptor) { try { PsiElement element = descriptor.getPsiElement(); Document document = PsiDocumentManager.getInstance(project).getDocument(element.getContainingFile()); List<Integer> quotePositions = new ArrayList<>(); int quotePosition = CsvIntentionHelper.getOpeningQuotePosition(element); if (quotePosition != -1) { quotePositions.add(quotePosition); } PsiElement endSeparatorElement = CsvIntentionHelper.findQuotePositionsUntilSeparator(element, quotePositions); if (endSeparatorElement == null) { quotePositions.add(document.getTextLength()); } else { quotePositions.add(endSeparatorElement.getTextOffset()); } String text = CsvIntentionHelper.addQuotes(document.getText(), quotePositions); document.setText(text); } catch (IncorrectOperationException e) { LOG.error(e); } } }
public static void unquoteValue(@NotNull Project project, @NotNull final PsiElement element) { try { Document document = PsiDocumentManager.getInstance(project).getDocument(element.getContainingFile()); List<Integer> quotePositions = new ArrayList<>(); if (CsvHelper.getElementType(element.getFirstChild()) == CsvTypes.QUOTE) { quotePositions.add(element.getFirstChild().getTextOffset()); } if (CsvHelper.getElementType(element.getLastChild()) == CsvTypes.QUOTE) { quotePositions.add(element.getLastChild().getTextOffset()); } String text = removeQuotes(document.getText(), quotePositions); document.setText(text); } catch (IncorrectOperationException e) { LOG.error(e); } }
public static void unquoteAll(@NotNull Project project, @NotNull PsiFile psiFile) { try { Document document = PsiDocumentManager.getInstance(project).getDocument(psiFile); List<Integer> quotePositions = new ArrayList<>(); Collection<PsiElement> fields = getAllFields(psiFile); for (PsiElement field : fields) { if (getChildren(field).stream().anyMatch(element -> CsvHelper.getElementType(element) == CsvTypes.ESCAPED_TEXT)) { continue; } if (CsvHelper.getElementType(field.getFirstChild()) == CsvTypes.QUOTE) { quotePositions.add(field.getFirstChild().getTextOffset()); } if (CsvHelper.getElementType(field.getLastChild()) == CsvTypes.QUOTE) { quotePositions.add(field.getLastChild().getTextOffset()); } } String text = removeQuotes(document.getText(), quotePositions); document.setText(text); } catch (IncorrectOperationException e) { LOG.error(e); } }
/** * 重置 * * @param name 模板名称 * @param content 文本内容 */ public void reset(String name, String content) { if (content != null && this.editor != null) { // 重置语法高亮 ((EditorEx) editor).setHighlighter(EditorHighlighterFactory.getInstance().createEditorHighlighter(project, new LightVirtualFile(name + ".ft"))); // 重置文本内容 WriteCommandAction.runWriteCommandAction(project, () -> this.editor.getDocument().setText(content)); } }
() -> ApplicationManager .getApplication() .runWriteAction(() -> document.setText(text)), NOTIFICATION_TITLE, "",
public static void quoteAll(@NotNull Project project, @NotNull PsiFile psiFile) { try { Document document = PsiDocumentManager.getInstance(project).getDocument(psiFile); List<Integer> quotePositions = new ArrayList<>(); Collection<PsiElement> fields = getAllFields(psiFile); PsiElement separator; for (PsiElement field : fields) { if (field.getFirstChild() == null || CsvHelper.getElementType(field.getFirstChild()) != CsvTypes.QUOTE) { separator = CsvHelper.getPreviousSeparator(field); if (separator == null) { quotePositions.add(field.getParent().getTextOffset()); } else { quotePositions.add(separator.getTextOffset() + separator.getTextLength()); } } if (field.getLastChild() == null || CsvHelper.getElementType(field.getLastChild()) != CsvTypes.QUOTE) { separator = CsvHelper.getNextSeparator(field); if (separator == null) { quotePositions.add(field.getParent().getTextOffset() + field.getParent().getTextLength()); } else { quotePositions.add(separator.getTextOffset()); } } } String text = addQuotes(document.getText(), quotePositions); document.setText(text); } catch (IncorrectOperationException e) { LOG.error(e); } }
templateState.gotoEnd(true); document.setText(originalText); });
public void saveChanges(final String content) { if (hasErrors()) { return; } ApplicationManager.getApplication().invokeLater(() -> { if (!this.document.isWritable() && ReadonlyStatusHandler.getInstance(this.project).ensureFilesWritable(this.file).hasReadonlyFiles()) { return; } ApplicationManager.getApplication().runWriteAction(() -> CommandProcessor.getInstance().executeCommand(this.project, () -> { this.document.setText(content); this.initialState = dataManagement.getCurrentState(); }, "Csv Table Editor changes", null)); }); }
document.setText(StringUtil.join(stdoutLines, "\n")); PsiDocumentManager.getInstance(project).commitDocument(document); });
assert originalDocument != null; assert originalDocument.getTextLength() == file.getTextLength() : originalDocument; document.setText(originalDocument.getImmutableCharSequence()); return copy;