fix for issue#98 regarding whitespace warning within single quoted values

GitOrigin-RevId: 2199142d5259fdd559e82ed025dc33bd8d7ca6e5
This commit is contained in:
marcelhillesheim
2021-11-12 23:59:57 +01:00
committed by intellij-monorepo-bot
parent d4662f96b4
commit e4f7c8f0fe
3 changed files with 9 additions and 14 deletions

View File

@@ -5,15 +5,13 @@ import com.intellij.openapi.diagnostic.Logger;
import com.intellij.openapi.project.Project;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiFile;
import com.intellij.psi.impl.source.tree.LeafPsiElement;
import com.intellij.psi.util.PsiTreeUtil;
import com.intellij.util.IncorrectOperationException;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import ru.adelf.idea.dotenv.DotEnvFactory;
import ru.adelf.idea.dotenv.psi.DotEnvFile;
import ru.adelf.idea.dotenv.psi.DotEnvProperty;
import ru.adelf.idea.dotenv.psi.DotEnvTypes;
import ru.adelf.idea.dotenv.psi.DotEnvValue;
import ru.adelf.idea.dotenv.psi.*;
public class SpaceInsideNonQuotedInspection extends LocalInspectionTool {
// Change the display name within the plugin.xml
@@ -45,16 +43,11 @@ public class SpaceInsideNonQuotedInspection extends LocalInspectionTool {
private ProblemsHolder analyzeFile(@NotNull PsiFile file, @NotNull InspectionManager manager, boolean isOnTheFly) {
ProblemsHolder problemsHolder = new ProblemsHolder(manager, file, isOnTheFly);
PsiTreeUtil.findChildrenOfType(file, DotEnvProperty.class).forEach(dotEnvProperty -> {
if (dotEnvProperty.getValueText().trim().contains(" ")) {
DotEnvValue value = dotEnvProperty.getValue();
if (value != null) {
PsiElement firstChild = value.getFirstChild();
if (firstChild != null && !firstChild.getText().equals("\"")) {
problemsHolder.registerProblem(value, "Space inside allowed only for quoted values", addQuotesQuickFix);
}
PsiTreeUtil.findChildrenOfType(file, DotEnvValue.class).forEach(dotEnvValue -> {
// first child valuechars -> non quoted value
if(dotEnvValue.getFirstChild().getNode().getElementType() == DotEnvTypes.VALUE_CHARS) {
if (dotEnvValue.getText().trim().contains(" ")) {
problemsHolder.registerProblem(dotEnvValue, "Space inside allowed only for quoted values", addQuotesQuickFix);
}
}
});

View File

@@ -2,6 +2,7 @@ DUPLICATE_KEY=test
DUPLICATE_KEY=test2
SPACE_INSIDE_NON_QUOTED=spaces without quotes
SPACE_INSIDE_SINGLE_QUOTED='space inside single quotes'
# extra blank lines test START

View File

@@ -2,6 +2,7 @@ DUPLICATE_KEY=test
DUPLICATE_KEY=test2
SPACE_INSIDE_NON_QUOTED="spaces without quotes"
SPACE_INSIDE_SINGLE_QUOTED='space inside single quotes'
# extra blank lines test START