/** Commits all buffered replace commands. */ private void commit() { if (fReplaceList.size() == 0) return; StringBuffer buffer = new StringBuffer(); int delta = 0; for (Iterator i = fReplaceList.iterator(); i.hasNext(); ) { Replace replace = (Replace) i.next(); int offset = buffer.length() - delta; buffer.append(fSource.get(offset, replace.offset - offset)); buffer.append(replace.text); delta = getDelta(replace); } int offset = buffer.length() - delta; buffer.append(fSource.get(offset, fSource.getLength() - offset)); fSource.set(buffer.toString()); fReplaceList.clear(); }
/* * @see org.eclipse.jface.text.ITextStore#getLength() */ public int getLength() { if (fReplaceList.size() == 0) return fSource.getLength(); Replace lastReplace = (Replace) fReplaceList.get(fReplaceList.size() - 1); return fSource.getLength() + getDelta(lastReplace); }