diff options
| author | Julian Honnen | 2020-03-09 14:53:56 +0000 |
|---|---|---|
| committer | Jeff Johnston | 2020-04-03 12:43:23 +0000 |
| commit | 8ac6881d75ce9eb05ca2c5dd8a38f18fece5c75a (patch) | |
| tree | 792374d55a8545815c5e16f6dcff1b811a0ead20 | |
| parent | 34a5112952a97c880df4acd2d6b8818da23fd1c3 (diff) | |
| download | eclipse.jdt.ui-8ac6881d75ce9eb05ca2c5dd8a38f18fece5c75a.tar.gz eclipse.jdt.ui-8ac6881d75ce9eb05ca2c5dd8a38f18fece5c75a.tar.xz eclipse.jdt.ui-8ac6881d75ce9eb05ca2c5dd8a38f18fece5c75a.zip | |
Bug 520081 - disable smart insert within string literals
Always insert braces/semicolons at caret position when not in default
partition type.
Change-Id: I4d2ce423544384e04fe517e504ecf6da5fa0cfc2
Signed-off-by: Julian Honnen <julian.honnen@vector.com>
2 files changed, 19 insertions, 0 deletions
diff --git a/org.eclipse.jdt.text.tests/src/org/eclipse/jdt/text/tests/SmartSemicolonAutoEditStrategyTest.java b/org.eclipse.jdt.text.tests/src/org/eclipse/jdt/text/tests/SmartSemicolonAutoEditStrategyTest.java index f767c5ea42..a965b22ba2 100644 --- a/org.eclipse.jdt.text.tests/src/org/eclipse/jdt/text/tests/SmartSemicolonAutoEditStrategyTest.java +++ b/org.eclipse.jdt.text.tests/src/org/eclipse/jdt/text/tests/SmartSemicolonAutoEditStrategyTest.java @@ -177,6 +177,11 @@ public class SmartSemicolonAutoEditStrategyTest extends TestCase { verifySemicolonPosition(24, 24); } + public void testSemicolonInString() throws BadLocationException { + fDocument.set(" new Thread(\"\")"); + verifySemicolonPosition(14, -1); + } + /* brace tests */ public void testBraceClassDef() throws BadLocationException { @@ -261,4 +266,14 @@ public class SmartSemicolonAutoEditStrategyTest extends TestCase { verifyBracePosition(20, 20); } + public void testBraceInString() throws BadLocationException { + fDocument.set(" new Thread(\"\")"); + verifyBracePosition(14, 14); + } + + public void testBraceInString2() throws BadLocationException { + fDocument.set(" System.out.write(\"((?\\\"{\\\\\\\"\\\\\\\":\\\"+()+\\\",\\\":\\\"ss\\\").());try {\");"); + verifyBracePosition(50, 50); + } + } diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/java/SmartSemicolonAutoEditStrategy.java b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/java/SmartSemicolonAutoEditStrategy.java index 7f88938721..f8b9a6d2ae 100644 --- a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/java/SmartSemicolonAutoEditStrategy.java +++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/java/SmartSemicolonAutoEditStrategy.java @@ -270,6 +270,10 @@ public class SmartSemicolonAutoEditStrategy implements IAutoEditStrategy { if (text == null) return 0; + if (!isDefaultPartition(document, offset + line.getOffset(),partitioning)) { + return -1; + } + int insertPos; switch (character) { case BRACECHAR: |
