Scripting: do not threat comments and spaces as modifications inside essential block
This commit is contained in:
@@ -8,10 +8,7 @@ package org.jetbrains.kotlin.idea.scripting.gradle
|
||||
import com.intellij.openapi.project.Project
|
||||
import com.intellij.openapi.util.registry.Registry
|
||||
import com.intellij.openapi.vfs.VirtualFile
|
||||
import com.intellij.psi.PsiElement
|
||||
import com.intellij.psi.PsiManager
|
||||
import com.intellij.psi.PsiRecursiveElementVisitor
|
||||
import com.intellij.psi.PsiWhiteSpace
|
||||
import com.intellij.psi.*
|
||||
import com.intellij.psi.impl.source.tree.LeafPsiElement
|
||||
import org.gradle.util.GradleVersion
|
||||
import org.jetbrains.kotlin.idea.util.application.runReadAction
|
||||
@@ -49,6 +46,7 @@ fun getGradleScriptInputsStamp(
|
||||
super.visitElement(element)
|
||||
when (element) {
|
||||
is PsiWhiteSpace -> if (element.text.contains("\n")) result.append("\n")
|
||||
is PsiComment -> { }
|
||||
is LeafPsiElement -> result.append(element.text)
|
||||
}
|
||||
}
|
||||
|
||||
+16
@@ -63,6 +63,22 @@ class GradleScriptInputsWatcherTest : AbstractScriptConfigurationLoadingTest() {
|
||||
assertConfigurationUpdateWasDone(testFiles.buildKts)
|
||||
}
|
||||
|
||||
fun testSpacesInSectionsChange() {
|
||||
assertAndLoadInitialConfiguration(testFiles.buildKts)
|
||||
|
||||
changeBuildKtsInsideSections("// INSIDE PLUGINS\n")
|
||||
|
||||
assertConfigurationUpToDate(testFiles.buildKts)
|
||||
}
|
||||
|
||||
fun testCommentsInSectionsChange() {
|
||||
assertAndLoadInitialConfiguration(testFiles.buildKts)
|
||||
|
||||
changeBuildKtsInsideSections("// My test comment\n")
|
||||
|
||||
assertConfigurationUpToDate(testFiles.buildKts)
|
||||
}
|
||||
|
||||
fun testOutsideSectionChange() {
|
||||
assertAndLoadInitialConfiguration(testFiles.buildKts)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user