Package com.intellij.openapi.editor

Examples of com.intellij.openapi.editor.Document


    final Ref<CharSequence> contentsRef = Ref.create();
    final Ref<Long> timestampRef = Ref.create();
    final Exception exception = ApplicationManager.getApplication().runReadAction(new NullableComputable<Exception>() {
      @Nullable
      public Exception compute() {
        final Document cachedDocument = FileDocumentManager.getInstance().getCachedDocument(file);
        if (cachedDocument != null) {
          contentsRef.set(cachedDocument.getCharsSequence());
          timestampRef.set(cachedDocument.getModificationStamp());
        }
        else {
          try {
            contentsRef.set(VfsUtilCore.loadText(file));
            timestampRef.set(file.getModificationStamp());
View Full Code Here


        return new Runnable() {
          @Override
          public void run() {
            try {
              final PsiDocumentManager manager = PsiDocumentManager.getInstance(getProject());
              final Document document = manager.getDocument(file);

              assert document != null;

              for (int lineNum = 0; lineNum < document.getLineCount(); lineNum++) {
                CodeStyleManager codeStyleManager = CodeStyleManager.getInstance(getProject());
                int offset = document.getLineStartOffset(lineNum);
                @SuppressWarnings("deprecation") // if this breaks at some point, we should
                  // refactor to invoke AutoIndentLinesAction
                  // instead of doing the indent directly
                  boolean lineToBeIndented = codeStyleManager.isLineToBeIndented(file, offset);
                if (lineToBeIndented) {
View Full Code Here

    if (actual.startsWith("\n")) {
      actual = actual.substring(1);
    }

    // Strip trailing spaces
    final Document doc = EditorFactory.getInstance().createDocument(actual);
    CommandProcessor.getInstance().executeCommand(getProject(), new Runnable() {
      @Override
      public void run() {
        ApplicationManager.getApplication().runWriteAction(new Runnable() {
          @Override
          public void run() {
            ((DocumentImpl)doc).stripTrailingSpaces(getProject());
          }
        });
      }
    }, "formatting", null);

    return doc.getText();
  }
View Full Code Here

      final JspFile jspFile = JspPsiUtil.getJspFile(value);
      assert jspFile != null;

      Project project = jspFile.getProject();
      TextRange range = value.getValueTextRange();
      Document document = PsiDocumentManager.getInstance(project).getDocument(jspFile);
      assert document != null;
      PsiDocumentManager.getInstance(project).doPostponedOperationsAndUnblockDocument(document);

      int start = range.getStartOffset();
      int lineStart = document.getLineStartOffset(document.getLineNumber(start));
      String linePrefix = document.getCharsSequence().subSequence(lineStart, start).toString();
      linePrefix = linePrefix.substring(0, linePrefix.length() - linePrefix.trim().length());

      String indent = linePrefix;
      while (indent.length() < start - lineStart) indent += " ";

      Pair<String, String> tag_var = buildTag(prefix, url, indent, inline, myActionExtension);
      String tag = tag_var.getFirst();
      String var = tag_var.getSecond();

      int end = range.getEndOffset();

      int formattingStart;
      int formattingEnd;

      if (inline) {
        document.replaceString(start, end, tag);
        formattingStart = start;
        formattingEnd = start + tag.length();
      }
      else {
        document.replaceString(start, end, "${" + var + "}");
        XmlTag containingTag = PsiTreeUtil.getParentOfType(value, XmlTag.class, false);
        assert containingTag != null;
        int startOffset = containingTag.getTextRange().getStartOffset();
        document.insertString(startOffset, "\n");
        document.insertString(startOffset, tag);

        formattingStart = startOffset;
        formattingEnd = startOffset + tag.length() + 2;
      }
View Full Code Here

    if (myUpdateOpenMustache != (targetBlockMustache instanceof HbOpenBlockMustache)) {
      targetBlockMustache = blockMustache.getPairedElement();
    }

    HbPath path = PsiTreeUtil.findChildOfType(targetBlockMustache, HbPath.class);
    final Document document = PsiDocumentManager.getInstance(project).getDocument(file);
    if (path != null && document != null) {
      final TextRange textRange = path.getTextRange();
      document.replaceString(textRange.getStartOffset(), textRange.getEndOffset(), myCorrectedName);
    }
  }
View Full Code Here

    final Editor editor = FileEditorManager.getInstance(project).getSelectedTextEditor();
    assert editor != null;

    // commit current document
    final Document document = editor.getDocument();
    PsiDocumentManager.getInstance(project).commitDocument(document);

    editor.getCaretModel().moveToOffset(firstCellOffset);
  }
View Full Code Here

    }

    final DataObject dataObject = (DataObject)CucumberStepsIndex.getInstance(file.getProject()).getExtensionDataObject(this);
    // Do not commit document if file was deleted
    final PsiDocumentManager psiDocumentManager = PsiDocumentManager.getInstance(file.getProject());
    final Document document = psiDocumentManager.getDocument(file);
    if (document != null) {
      psiDocumentManager.commitDocument(document);
    }

    // remove old definitions related to current file
View Full Code Here

    }
    int caretOffsetValue = caretOffset.get().intValue();
    if (caretOffsetValue < 3) {
      return Result.Continue;
    }
    final Document document = editor.getDocument();
    final String docText = document.getText();
    final PsiElement probableQuotes = file.findElementAt(caretOffsetValue - 1);
    if (probableQuotes != null && probableQuotes.getNode().getElementType() == GherkinTokenTypes.PYSTRING) {
      final PsiElement probablePyStringText =
        document.getTextLength() == PYSTRING_QUOTES.length() ? null : file.findElementAt(caretOffsetValue - 1 - PYSTRING_QUOTES.length());
      if (probablePyStringText == null || probablePyStringText.getNode().getElementType() != GherkinTokenTypes.PYSTRING_TEXT) {
        int line = document.getLineNumber(caretOffsetValue);
        int lineStart = document.getLineStartOffset(line);
        int textStart = CharArrayUtil.shiftForward(docText, lineStart, " \t");
        final String space = docText.subSequence(lineStart, textStart).toString();

        // insert closing triple quote
        EditorModificationUtil.insertStringAtCaret(editor, "\n" + space + "\n" + space + PYSTRING_QUOTES);
View Full Code Here

  public void showDiff() {
    DiffTool diffTool = DiffManager.getInstance().getIdeaDiffTool();
    SimpleDiffRequest diffRequest = new SimpleDiffRequest(myProject, "Diff for " + myVFile.getDisplayName());
    diffRequest.addHint(DiffTool.HINT_SHOW_NOT_MODAL_DIALOG);

    Document localDocument = FileDocumentManager.getInstance().getDocument(myVirtualFile);

    diffRequest.setContentTitles("My Version", myRemoteUser.getDisplayName() + "'s Version");
    diffRequest.setContents(new DocumentContent(localDocument), new SimpleContent(myRemoteText));

    diffTool.show(diffRequest);
View Full Code Here

      public void run() {
        final Editor editor = getNameSuggestionsField().getEditor();
        if (editor != null) {
          editor.getSelectionModel().removeSelection();
          editor.getCaretModel().moveToOffset(0);
          final Document document = editor.getDocument();
          EditorActionManager.getInstance().setReadonlyFragmentModificationHandler(document, new ReadonlyFragmentModificationHandler() {
              @Override
              public void handle(final ReadOnlyFragmentModificationException e) {
                //do nothing
              }
View Full Code Here

TOP

Related Classes of com.intellij.openapi.editor.Document

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.