mirror of
https://gitflic.ru/project/openide/openide.git
synced 2025-12-16 22:51:17 +07:00
[java-typing] Improve support of brace skipping (IDEA-336810)
GitOrigin-RevId: 0ec9bfb13f33a14254d0d7b7dcb0e3874898f52c
This commit is contained in:
committed by
intellij-monorepo-bot
parent
126ce73045
commit
749f715eab
@@ -116,12 +116,10 @@ public abstract class AbstractBasicJavaTypedHandler extends TypedHandlerDelegate
|
||||
// Normal RBrace handler doesn't work with \{}, because braces in string template are not separate tokens
|
||||
int offset = editor.getCaretModel().getOffset();
|
||||
|
||||
HighlighterIterator iterator = editor.getHighlighter().createIterator(offset-1);
|
||||
HighlighterIterator iterator = editor.getHighlighter().createIterator(offset);
|
||||
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_MID || iterator.getTokenType() == JavaTokenType.TEXT_BLOCK_TEMPLATE_MID) &&
|
||||
iterator.getEnd() == offset && sequence.subSequence(iterator.getStart(), iterator.getEnd()).toString().equals("\\{")) {
|
||||
(iterator.getTokenType() == JavaTokenType.STRING_TEMPLATE_END || iterator.getTokenType() == JavaTokenType.TEXT_BLOCK_TEMPLATE_END)) {
|
||||
if (sequence.length() > offset && sequence.charAt(offset) == '}') {
|
||||
editor.getCaretModel().moveToOffset(offset + 1);
|
||||
return Result.STOP;
|
||||
|
||||
Reference in New Issue
Block a user