@Override protected TextEdit doCopy() { return new ReplaceEdit(this); }
/** * Replaces given {@link ReplaceEdit} by new ReplaceEdit with each line commented out. * <p> * New ReplaceEdit has the same offset and length as the given ReplaceEdit. Text of new ReplaceEdit * has each line but the first one commented out. Given ReplaceEdit is removed from its parent, * and new ReplaceEdit is inserted in its place. * @param replaceEdit * @return new ReplaceEdit */ protected ReplaceEdit commentOutReplaceEdit(ReplaceEdit replaceEdit) { TextEdit parent = replaceEdit.getParent(); String newText = commentOutEachLine(replaceEdit.getText()); ReplaceEdit newEdit = new ReplaceEdit(replaceEdit.getOffset(), replaceEdit.getLength(), newText); parent.removeChild(replaceEdit); parent.addChild(newEdit); return newEdit; }
private static ReplaceEdit[] splitIntersectRight(ReplaceEdit edit, IRegion intersect) { ReplaceEdit[] result= new ReplaceEdit[2]; // this is the actual delete. We use replace to only deal with one type result[0]= new ReplaceEdit(intersect.getOffset(), intersect.getLength(), ""); //$NON-NLS-1$ result[1]= new ReplaceEdit( edit.getOffset(), intersect.getOffset() - edit.getOffset(), edit.getText()); return result; }
private static ReplaceEdit[] splitIntersectLeft(ReplaceEdit edit, IRegion intersect) { ReplaceEdit[] result= new ReplaceEdit[2]; result[0]= new ReplaceEdit(intersect.getOffset(), intersect.getLength(), edit.getText()); result[1]= new ReplaceEdit( // this is the actual delete. We use replace to only deal with one type intersect.getOffset() + intersect.getLength(), edit.getLength() - intersect.getLength(), ""); //$NON-NLS-1$ return result; }
protected void replaceWith(IDocument document, int offset, String replacement) throws BadLocationException { Point keyRange = findKeyRange(document, offset); if (keyRange != null) { m_selection = new Point(keyRange.x, replacement.length()); ReplaceEdit replaceEdit = new ReplaceEdit(keyRange.x, keyRange.y - keyRange.x, replacement); try { replaceEdit.apply(document); } catch (Exception e) { SdkLog.warning(e); } } }
private final String getOriginalText() { if (fOriginal instanceof ReplaceEdit) { return ((ReplaceEdit) getOriginal()).getText(); } else if (fOriginal instanceof InsertEdit) { return ((InsertEdit) getOriginal()).getText(); } return ""; //$NON-NLS-1$ }
@Override public boolean visit(ReplaceEdit edit) { if (edit.getLength() > 0) return rangeAdded(edit); return rangeRemoved(edit); }
private static ReplaceEdit[] splitEdit(ReplaceEdit edit, IRegion intersect) { if (edit.getOffset() != intersect.getOffset()) return splitIntersectRight(edit, intersect); return splitIntersectLeft(edit, intersect); }
private static ReplaceEdit[] splitIntersectLeft(ReplaceEdit edit, IRegion intersect) { ReplaceEdit[] result= new ReplaceEdit[2]; result[0]= new ReplaceEdit(intersect.getOffset(), intersect.getLength(), edit.getText()); result[1]= new ReplaceEdit( // this is the actual delete. We use replace to only deal with one type intersect.getOffset() + intersect.getLength(), edit.getLength() - intersect.getLength(), ""); //$NON-NLS-1$ return result; }
private static ReplaceEdit[] splitIntersectRight(ReplaceEdit edit, IRegion intersect) { ReplaceEdit[] result= new ReplaceEdit[2]; // this is the actual delete. We use replace to only deal with one type result[0]= new ReplaceEdit(intersect.getOffset(), intersect.getLength(), ""); //$NON-NLS-1$ result[1]= new ReplaceEdit( edit.getOffset(), intersect.getOffset() - edit.getOffset(), edit.getText()); return result; }
@Override public boolean visit(ReplaceEdit edit) { try { org.eclipse.lsp4j.TextEdit te = new org.eclipse.lsp4j.TextEdit(); te.setNewText(edit.getText()); te.setRange(JDTUtils.toRange(compilationUnit,edit.getOffset(),edit.getLength())); converted.add(te); } catch (JavaModelException e) { JavaLanguageServerPlugin.logException("Error converting TextEdits", e); } return super.visit(edit); }
private final String getOriginalText() { if (fOriginal instanceof ReplaceEdit) { return ((ReplaceEdit) getOriginal()).getText(); } else if (fOriginal instanceof InsertEdit) { return ((InsertEdit) getOriginal()).getText(); } return ""; //$NON-NLS-1$ }
@Override public boolean visit(ReplaceEdit edit) { if (edit.getLength() > 0) { return rangeAdded(edit); } return rangeRemoved(edit); }
private static ReplaceEdit[] splitEdit(ReplaceEdit edit, IRegion intersect) { if (edit.getOffset() != intersect.getOffset()) return splitIntersectRight(edit, intersect); return splitIntersectLeft(edit, intersect); }
@Override protected TextEdit doCopy() { return new ReplaceEdit(this); }