package ee.edio.garmin.psi.impl.manipulators; import com.intellij.openapi.util.TextRange; import com.intellij.psi.AbstractElementManipulator; import com.intellij.util.IncorrectOperationException; import ee.edio.garmin.psi.MonkeyStringLiteral; import org.jetbrains.annotations.NotNull; public class MonkeyStringManipulator extends AbstractElementManipulator<MonkeyStringLiteral> { @Override public MonkeyStringLiteral handleContentChange(@NotNull MonkeyStringLiteral literal, @NotNull TextRange range, String newContent) throws IncorrectOperationException { final String newText = range.replace(literal.getText(), newContent); return literal.updateText(newText); } @NotNull @Override public TextRange getRangeInElement(@NotNull final MonkeyStringLiteral element) { return element.getTextLength() > 2 ? TextRange.from(1, element.getTextLength() - 2) : TextRange.EMPTY_RANGE; } }