From 9beffc1292cac252feceda1917338d00ad29dc22 Mon Sep 17 00:00:00 2001 From: Ilia Permiashkin Date: Mon, 22 Sep 2025 13:48:06 +0000 Subject: [PATCH] [grazie] IJPL-208441 Suppressed spell check intention for Java property file uses string that is flagged as error Merge-request: IJ-MR-176170 Merged-by: Ilia Permiashkin GitOrigin-RevId: fdbccb335bb508b4e6586bc91cd28d14e602cbd9 --- .../kotlin/com/intellij/grazie/text/TextExtractor.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/plugins/grazie/src/main/kotlin/com/intellij/grazie/text/TextExtractor.java b/plugins/grazie/src/main/kotlin/com/intellij/grazie/text/TextExtractor.java index 299dd1de1d62..169e00e9bf11 100644 --- a/plugins/grazie/src/main/kotlin/com/intellij/grazie/text/TextExtractor.java +++ b/plugins/grazie/src/main/kotlin/com/intellij/grazie/text/TextExtractor.java @@ -1,5 +1,6 @@ package com.intellij.grazie.text; +import com.intellij.codeInspection.LocalInspectionTool; import com.intellij.codeInspection.SuppressionUtil; import com.intellij.diagnostic.PluginException; import com.intellij.grazie.grammar.strategy.GrammarCheckingStrategy; @@ -43,7 +44,8 @@ public abstract class TextExtractor { private static final Key> QUERY_CACHE = Key.create("TextExtractor query cache"); private static final Key IGNORED = Key.create("TextExtractor ignored"); private static final Key>> CONTENT_INTERNER = Key.create("TextExtractor interner"); - private static final Pattern SUPPRESSION = Pattern.compile(SuppressionUtil.COMMON_SUPPRESS_REGEXP); + private static final Pattern NOINSPECTION_SUPPRESSION = Pattern.compile(SuppressionUtil.COMMON_SUPPRESS_REGEXP); + private static final Pattern PROPERTY_SUPPRESSION = Pattern.compile("\\s*suppress inspection \"" + LocalInspectionTool.VALID_ID_PATTERN + "\""); /** * Extract text from the given PSI element, if possible. @@ -266,7 +268,8 @@ public abstract class TextExtractor { } private static boolean isSuppressionComment(TextContent content) { - return content.getDomain() == TextContent.TextDomain.COMMENTS && SUPPRESSION.matcher(content).lookingAt(); + return content.getDomain() == TextContent.TextDomain.COMMENTS && + (NOINSPECTION_SUPPRESSION.matcher(content).lookingAt() || PROPERTY_SUPPRESSION.matcher(content).lookingAt()); } /**