[java-typing] IDEA-336810 Braces insertion for String Templates doesn't work correctly for text blocks

GitOrigin-RevId: 3224ca9e1eae8100d34a52a46e9da569979534c4
This commit is contained in:
Tagir Valeev
2023-11-02 13:43:51 +01:00
committed by intellij-monorepo-bot
parent be39e6323a
commit 6b0d88e6a8
4 changed files with 15 additions and 1 deletions

View File

@@ -118,7 +118,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 &&
if (!iterator.atEnd() &&
(iterator.getTokenType() == JavaTokenType.STRING_TEMPLATE_BEGIN || iterator.getTokenType() == JavaTokenType.TEXT_BLOCK_TEMPLATE_BEGIN) &&
iterator.getEnd() == offset && sequence.subSequence(iterator.getStart(), iterator.getEnd()).toString().equals("\\{")) {
if (sequence.length() > offset && sequence.charAt(offset) == '}') {
editor.getCaretModel().moveToOffset(offset + 1);