public class HaxeRegularExpressionLiteralManipulator extends AbstractElementManipulator<HaxeRegularExpressionLiteral> {
@Override
public HaxeRegularExpressionLiteral handleContentChange(HaxeRegularExpressionLiteral element, TextRange range, String newContent)
throws IncorrectOperationException {
String oldText = element.getText();
PsiFile file = element.getContainingFile();
newContent = StringUtil.escapeSlashes(newContent);
String newText = oldText.substring(0, range.getStartOffset()) + newContent + oldText.substring(range.getEndOffset());
PsiElement fromText = HaxeElementGenerator.createExpressionFromText(file.getProject(), newText);
if (fromText instanceof HaxeRegularExpressionLiteral) {
return (HaxeRegularExpressionLiteral)element.replace(fromText);
}
return element;
}