[java-typing] Yet another fix for braces typing in string templates (IDEA-336810)

GitOrigin-RevId: 70895c6be623545585ecf7f01f02fda73db8eea8
This commit is contained in:
Tagir Valeev
2023-11-28 13:53:34 +01:00
committed by intellij-monorepo-bot
parent 55fb552005
commit 8b1795dc3f
6 changed files with 42 additions and 3 deletions

View File

@@ -118,8 +118,9 @@ public abstract class AbstractBasicJavaTypedHandler extends TypedHandlerDelegate
HighlighterIterator iterator = editor.getHighlighter().createIterator(offset);
CharSequence sequence = editor.getDocument().getCharsSequence();
if (!iterator.atEnd() &&
(iterator.getTokenType() == JavaTokenType.STRING_TEMPLATE_END || iterator.getTokenType() == JavaTokenType.TEXT_BLOCK_TEMPLATE_END)) {
if (!iterator.atEnd() && iterator.getStart() == offset &&
(iterator.getTokenType() == JavaTokenType.STRING_TEMPLATE_END || iterator.getTokenType() == JavaTokenType.TEXT_BLOCK_TEMPLATE_END ||
iterator.getTokenType() == JavaTokenType.STRING_TEMPLATE_MID || iterator.getTokenType() == JavaTokenType.TEXT_BLOCK_TEMPLATE_MID)) {
if (sequence.length() > offset && sequence.charAt(offset) == '}') {
editor.getCaretModel().moveToOffset(offset + 1);
return Result.STOP;