mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-04-19 13:02:30 +07:00
text blocks: fix broken escape highlighting (IDEA-219098)
GitOrigin-RevId: 299585eb47bbd5f5b14473aadd0290fc64ef0845
This commit is contained in:
committed by
intellij-monorepo-bot
parent
b3f64ec64b
commit
d34083c8f4
@@ -1239,20 +1239,23 @@ public class HighlightUtil extends HighlightUtilBase {
|
||||
return HighlightInfo.newHighlightInfo(HighlightInfoType.ERROR).range(p, p).endOfLine().descriptionAndTooltip(message).create();
|
||||
}
|
||||
else {
|
||||
String message = JavaErrorMessages.message("text.block.new.line");
|
||||
return HighlightInfo.newHighlightInfo(HighlightInfoType.ERROR).range(expression).descriptionAndTooltip(message).create();
|
||||
StringBuilder chars = new StringBuilder();
|
||||
int[] offsets = new int[text.length() + 1];
|
||||
boolean success = CodeInsightUtilCore.parseStringCharacters(text, chars, offsets);
|
||||
if (!success) {
|
||||
String message = JavaErrorMessages.message("illegal.escape.character.in.string.literal");
|
||||
TextRange textRange = chars.length() < text.length() - 1 ? new TextRange(offsets[chars.length()], offsets[chars.length() + 1])
|
||||
: expression.getTextRange();
|
||||
return HighlightInfo.newHighlightInfo(HighlightInfoType.ERROR)
|
||||
.range(expression, textRange)
|
||||
.descriptionAndTooltip(message).create();
|
||||
}
|
||||
else {
|
||||
String message = JavaErrorMessages.message("text.block.new.line");
|
||||
return HighlightInfo.newHighlightInfo(HighlightInfoType.ERROR).range(expression).descriptionAndTooltip(message).create();
|
||||
}
|
||||
}
|
||||
}
|
||||
StringBuilder chars = new StringBuilder();
|
||||
boolean success = CodeInsightUtilCore.parseStringCharacters(text, chars, null);
|
||||
if (!success) {
|
||||
String message = JavaErrorMessages.message("illegal.escape.character.in.string.literal");
|
||||
TextRange textRange = chars.length() < text.length() - 1 ? new TextRange(chars.length(), chars.length() + 1)
|
||||
: expression.getTextRange();
|
||||
return HighlightInfo.newHighlightInfo(HighlightInfoType.ERROR)
|
||||
.range(expression, textRange)
|
||||
.descriptionAndTooltip(message).create();
|
||||
}
|
||||
}
|
||||
|
||||
if (value instanceof Float) {
|
||||
|
||||
@@ -8,4 +8,7 @@ class C {
|
||||
invalid escape <error descr="Illegal escape character in string literal">\</error>
|
||||
continue;
|
||||
""";
|
||||
String invalid5 = """
|
||||
\n\n\n\n<error descr="Illegal escape character in string literal">\</error>
|
||||
""";
|
||||
}
|
||||
Reference in New Issue
Block a user