IDEA-120785 Multiline select issue

This commit is contained in:
Alexander Zolotov
2014-03-28 14:06:09 +04:00
parent b990d9483d
commit 1e8614b67a
2 changed files with 7 additions and 2 deletions
@@ -55,8 +55,9 @@ public class XmlEqTypedHandler extends TypedHandlerDelegate {
@Override
public Result charTyped(char c, Project project, @NotNull Editor editor, @NotNull PsiFile file) {
for (Caret caret : caretsForInsertingQuotes) {
editor.getDocument().insertString(caret.getOffset(), "\"\"");
caret.moveCaretRelatively(1, 0, false, true);
int offset = caret.getOffset();
editor.getDocument().insertString(offset, "\"\"");
caret.moveToOffset(offset + 1);
}
if (editor.getCaretModel().getAllCarets().size() == caretsForInsertingQuotes.size()) {
AutoPopupController.getInstance(project).scheduleAutoPopup(editor);
@@ -32,6 +32,10 @@ public class XmlTypedHandlersTest extends LightPlatformCodeInsightFixtureTestCas
doTest("<foo bar<caret>><foo bar<caret>>", '=', "<foo bar=\"<caret>\"><foo bar=\"<caret>\">");
}
public void testValueQuotesWithMultiCaretsMultiline() {
doTest("<foo bar<caret>\n<foo bar<caret>", '=', "<foo bar=\"<caret>\"\n<foo bar=\"<caret>\"");
}
public void testValueQuotesWithMultiCaretsWithDifferentContexts() {
doTest("<foo bar <caret>><foo bar<caret>>", '=', "<foo bar =<caret>><foo bar=\"<caret>\">");
}