Package org.eclipse.text.edits

Examples of org.eclipse.text.edits.ReplaceEdit


        return find(s);
      }

      @Override
      protected ReplaceEdit createReplaceEdit(ASTNode astNode) {
        return new ReplaceEdit(astNode.sourceStart(), getCurrentElementName().length(), getNewElementName());
      }
    };
  }
View Full Code Here


                    try {
                      addTextEdit(
                        changeManager.get(module),
                        getProcessorName(),
                        new ReplaceEdit(offset, method.getElementName().length(), getNewElementName())
                      );
                    } catch (MalformedTreeException e) {
                      // conflicting update -> omit text match
                    }
                  }
                } else {
                  IModelElement sourceElement = PDTModelUtils.getSourceElement(module, expression.getCallName().sourceStart(), expression.getCallName().matchLength());
                  if (sourceElement != null && sourceElement.getElementType() == IModelElement.METHOD) {
                    IType declaringType = ((IMethod) sourceElement).getDeclaringType();
                    if (declaringType != null && new PHPType(declaringType).isInstanceOf(method.getDeclaringType())) {
                      try {
                        addTextEdit(
                          changeManager.get(module),
                          getProcessorName(),
                          new ReplaceEdit(expression.getCallName().sourceStart(), method.getElementName().length(), getNewElementName())
                        );
                      } catch (MalformedTreeException e) {
                        // conflicting update -> omit text match
                      }
                    }
View Full Code Here

        return find(s);
      }

      @Override
      protected ReplaceEdit createReplaceEdit(ASTNode astNode) {
        return new ReplaceEdit(astNode.sourceStart(), getCurrentElementName().length() - 1, getNewElementName().replace("$", "")); //$NON-NLS-1$ //$NON-NLS-2$
      }
    };
  }
View Full Code Here

                  moduleDeclaration.traverse(referenceFinder);
                } catch (Exception e) {
                  throw new CoreException(new Status(IStatus.ERROR, PEXUIPlugin.PLUGIN_ID, e.getMessage(), e));
                }

                ReplaceEdit replaceEdit = referenceFinder.getReplaceEdit();
                if (replaceEdit != null) {
                  try {
                    addTextEdit(changeManager.get(module), getProcessorName(), replaceEdit);
                  } catch (MalformedTreeException e) {
                    // conflicting update -> omit text match
View Full Code Here

    ISourceRange sourceRange = null;
    if (modelElement instanceof IMember) {
      sourceRange = ((IMember) modelElement).getNameRange();
    }
    if (sourceRange != null) {
      addTextEdit(changeManager.get(sourceModule), getProcessorName(), new ReplaceEdit(sourceRange.getOffset(), modelElement.getElementName().length(), getNewElementName()));
    }

    return new RefactoringStatus();
  }
View Full Code Here

                if (s.sourceStart() >= enclosingElementSourceStart && s.sourceEnd() <= enclosingElementSourceEnd
                    && s.getName().equals(modelElement.getElementName())
                    && s.sourceStart() != declarationSourceRange.getOffset()) {
                  IModelElement sourceElement = PDTModelUtils.getSourceElement(cu, s.sourceStart(), s.matchLength());
                  if (sourceElement != null && sourceElement.equals(modelElement)) {
                    addTextEdit(changeManager.get(cu), getProcessorName(), new ReplaceEdit(s.sourceStart(), getCurrentElementName().length(), getNewElementName()));
                  }
                }

                return true;
              }
View Full Code Here

        if (deletedLength < addedLength) {
            result.addChild(new InsertEdit(deletedStart + minLength, getString(addedStart
                    + minLength, addedEnd)));
        }

        result.addChild(new ReplaceEdit(deletedStart, minLength, getString(addedStart,
                addedStart + minLength - 1)));

        if (addedLength < deletedLength) {
            result.addChild(new DeleteEdit(deletedStart + minLength, deletedLength
                    - minLength));
View Full Code Here

    for(int i = 0; i < buff.length(); i++) {
      buff.setCharAt(i, ' '); //$NON-NLS-1$
    }
    String replacementString = buff.toString();
    if (!replacementString.equals(whitespaceRun)) {
      ReplaceEdit replaceEdit = new ReplaceEdit(spaceStartOffset, whitespaceRun.length(), replacementString);
      textEdit.addChild(replaceEdit);
    }
    return availableLineWidth;
  }
View Full Code Here

    String lineDelimiters = null;
    if (!getFormattingPreferences().getClearAllBlankLines()) {
      lineDelimiters = extractLineDelimiters(whitespaceRun, currentRegion);
      String formattedLine = lineDelimiters + getIndentString(indentLevel);
      if(lineDelimiters.length() > 0 && !formattedLine.equals(whitespaceRun)) {
        textEdit.addChild(new ReplaceEdit(spaceStartOffset, whitespaceRun.length(), formattedLine));
        availableLineWidth = getFormattingPreferences().getMaxLineWidth() - indentLevel;
      }
    }
    if (lineDelimiters == null || lineDelimiters.length() == 0) {
      availableLineWidth = collapseSpaces(textEdit, spaceStartOffset, availableLineWidth, whitespaceRun);
View Full Code Here

          onOwnLine = true;

          // Compress any whitespace before the line delimiter
          if (start != end) {
            int replaceLength = end - start;
            textEdit.addChild(new ReplaceEdit(start + startOffset, replaceLength, EMPTY));
            start = end = i;
          }
        }
      }
      else {
        // Transitioned to a new word
        if (start != end) {
          int replaceLength = end - start;
          if (onOwnLine) {
            // If content is on its own line, replace leading whitespace with proper indent
            textEdit.addChild(new ReplaceEdit(start + startOffset, replaceLength, indent));
            resultLength -= (replaceLength - indent.length());
            onOwnLine = false;
          }
          else if (!(replaceLength == 1 && text.charAt(start) == ' ')) {
            textEdit.addChild(new ReplaceEdit(start + startOffset, replaceLength, SPACE));
            resultLength -= (replaceLength - 1);
          }
          start = end = i;
          // Make sure the word starts on a new line
          if (resultLength > lineWidth) {
            lineWidth = fPreferences.getMaxLineWidth();
            resultLength = 0;
            textEdit.addChild(new InsertEdit(start + startOffset, getLineDelimiter(region) + indent));
          }
        }
        // Word is immediately after line delimiters, indent appropriately
        if (onOwnLine) {
          textEdit.addChild(new InsertEdit(i + startOffset, indent));
          onOwnLine = false;
        }
        resultLength++;
      }
    }

    // Clean up any dangling whitespace
    int replaceLength = end - start;
    indent = getIndentString(indentLevel);
    if (replaceLength == 0) { // No trailing whitespace
      textEdit.addChild(new InsertEdit(length + startOffset, (onOwnLine) ? indent : SPACE));
    }
    else {
      String whitespace = text.substring(start);
      String replacement = (onOwnLine) ? indent : SPACE;
      if (!whitespace.equals(replacement)) {
        textEdit.addChild(new ReplaceEdit(start + startOffset, replaceLength, replacement));
      }
    }
  }
View Full Code Here

TOP

Related Classes of org.eclipse.text.edits.ReplaceEdit

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.