[java-typing] Skip closing brace after non-first embedded expression (IDEA-336810)

GitOrigin-RevId: a3a06e08fba502cf58ef08774cf4a7e3401a7a97
This commit is contained in:
Tagir Valeev
2023-11-06 11:05:41 +01:00
committed by intellij-monorepo-bot
parent d5ccfc998a
commit f179a8a2e9
4 changed files with 15 additions and 1 deletions

View File

@@ -119,7 +119,8 @@ public abstract class AbstractBasicJavaTypedHandler extends TypedHandlerDelegate
HighlighterIterator iterator = editor.getHighlighter().createIterator(offset-1);
CharSequence sequence = editor.getDocument().getCharsSequence();
if (!iterator.atEnd() &&
(iterator.getTokenType() == JavaTokenType.STRING_TEMPLATE_BEGIN || iterator.getTokenType() == JavaTokenType.TEXT_BLOCK_TEMPLATE_BEGIN) &&
(iterator.getTokenType() == JavaTokenType.STRING_TEMPLATE_BEGIN || iterator.getTokenType() == JavaTokenType.TEXT_BLOCK_TEMPLATE_BEGIN ||
iterator.getTokenType() == JavaTokenType.STRING_TEMPLATE_MID || iterator.getTokenType() == JavaTokenType.TEXT_BLOCK_TEMPLATE_MID) &&
iterator.getEnd() == offset && sequence.subSequence(iterator.getStart(), iterator.getEnd()).toString().equals("\\{")) {
if (sequence.length() > offset && sequence.charAt(offset) == '}') {
editor.getCaretModel().moveToOffset(offset + 1);