[editorconfig] Fix broken preview for EditorConfigRemoveSpacesQuickFix

GitOrigin-RevId: 6e4d6c77afe138de0a6f0e23be6d1f79b3bb22cf
This commit is contained in:
Rustam Vishniakov
2023-01-10 10:29:22 +01:00
committed by intellij-monorepo-bot
parent c8017c233b
commit 47470ada8e
2 changed files with 3 additions and 5 deletions

View File

@@ -4,11 +4,11 @@ package org.editorconfig.language.codeinsight.inspections
import com.intellij.codeInspection.LocalInspectionTool
import com.intellij.codeInspection.ProblemsHolder
import com.intellij.psi.PsiWhiteSpace
import com.intellij.psi.SyntaxTraverser
import com.intellij.psi.util.PsiTreeUtil
import org.editorconfig.language.codeinsight.quickfixes.EditorConfigRemoveSpacesQuickFix
import org.editorconfig.language.messages.EditorConfigBundle
import org.editorconfig.language.psi.EditorConfigHeader
import org.editorconfig.language.psi.EditorConfigPatternEnumeration
import org.editorconfig.language.psi.EditorConfigVisitor
class EditorConfigSpaceInHeaderInspection : LocalInspectionTool() {
@@ -29,4 +29,4 @@ class EditorConfigSpaceInHeaderInspection : LocalInspectionTool() {
}
internal fun findSuspiciousSpaces(header: EditorConfigHeader) =
PsiTreeUtil.findChildrenOfType(header, PsiWhiteSpace::class.java)
SyntaxTraverser.psiTraverser(header).filter(PsiWhiteSpace::class.java).toList()

View File

@@ -1,16 +1,13 @@
// Copyright 2000-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
package org.editorconfig.language.codeinsight.quickfixes
import com.intellij.codeInsight.intention.preview.IntentionPreviewInfo
import com.intellij.codeInspection.LocalQuickFix
import com.intellij.codeInspection.ProblemDescriptor
import com.intellij.openapi.project.Project
import com.intellij.psi.PsiWhiteSpace
import com.intellij.psi.codeStyle.CodeStyleManager
import org.editorconfig.language.codeinsight.inspections.findSuspiciousSpaces
import org.editorconfig.language.messages.EditorConfigBundle
import org.editorconfig.language.psi.EditorConfigHeader
import org.editorconfig.language.services.EditorConfigElementFactory
class EditorConfigRemoveSpacesQuickFix : LocalQuickFix {
override fun getFamilyName() = EditorConfigBundle["quickfix.header.remove.spaces.description"]
@@ -18,6 +15,7 @@ class EditorConfigRemoveSpacesQuickFix : LocalQuickFix {
val header = descriptor.psiElement as? EditorConfigHeader ?: return
val manager = CodeStyleManager.getInstance(project)
val spaces = findSuspiciousSpaces(header)
if (spaces.isEmpty()) return
manager.performActionWithFormatterDisabled { spaces.forEach { it.delete() } }
}
}