mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-03-22 06:50:54 +07:00
Added quickfix for extra blank lines
GitOrigin-RevId: 2d47cff0785b089a5419d6547eed1d69342cbd0c
This commit is contained in:
committed by
intellij-monorepo-bot
parent
0514fad120
commit
b9fe1bd7db
@@ -1,14 +1,17 @@
|
||||
package ru.adelf.idea.dotenv.inspections;
|
||||
|
||||
import com.intellij.codeInspection.InspectionManager;
|
||||
import com.intellij.codeInspection.LocalInspectionTool;
|
||||
import com.intellij.codeInspection.ProblemDescriptor;
|
||||
import com.intellij.codeInspection.ProblemsHolder;
|
||||
import com.intellij.codeInspection.*;
|
||||
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.ElementType;
|
||||
import com.intellij.psi.impl.source.tree.PsiWhiteSpaceImpl;
|
||||
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 java.util.regex.Matcher;
|
||||
@@ -51,10 +54,38 @@ public class ExtraBlankLineInspection extends LocalInspectionTool {
|
||||
count++;
|
||||
|
||||
if (count > 2) {
|
||||
problemsHolder.registerProblem(whiteSpace, "Only one extra line allowed between properties");
|
||||
problemsHolder.registerProblem(whiteSpace,
|
||||
"Only one extra line allowed between properties",
|
||||
new RemoveExtraBlankLineQuickFix());
|
||||
}
|
||||
});
|
||||
|
||||
return problemsHolder;
|
||||
}
|
||||
|
||||
private static class RemoveExtraBlankLineQuickFix implements LocalQuickFix {
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
public String getName() {
|
||||
return "Remove extra blank line";
|
||||
}
|
||||
|
||||
public void applyFix(@NotNull Project project, @NotNull ProblemDescriptor descriptor) {
|
||||
try {
|
||||
PsiElement psiElement = descriptor.getPsiElement();
|
||||
|
||||
PsiElement newPsiElement = DotEnvFactory.createFromText(project, ElementType.WHITE_SPACE, "\n\n");
|
||||
|
||||
psiElement.replace(newPsiElement);
|
||||
} catch (IncorrectOperationException e) {
|
||||
Logger.getInstance(ExtraBlankLineInspection.class).error(e);
|
||||
}
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public String getFamilyName() {
|
||||
return getName();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,7 +5,6 @@ SPACE_INSIDE_NON_QUOTED="spaces without quotes"
|
||||
|
||||
# extra blank lines test START
|
||||
|
||||
|
||||
# extra blank lines test END
|
||||
|
||||
INCORRECT_DELIMITER=test-test
|
||||
Reference in New Issue
Block a user