diff --git a/idea/idea-jvm/src/org/jetbrains/kotlin/idea/scratch/actions/ScratchRunLineMarkerContributor.kt b/idea/idea-jvm/src/org/jetbrains/kotlin/idea/scratch/actions/ScratchRunLineMarkerContributor.kt index 17472d58f6e..1967aa1564e 100644 --- a/idea/idea-jvm/src/org/jetbrains/kotlin/idea/scratch/actions/ScratchRunLineMarkerContributor.kt +++ b/idea/idea-jvm/src/org/jetbrains/kotlin/idea/scratch/actions/ScratchRunLineMarkerContributor.kt @@ -6,8 +6,6 @@ package org.jetbrains.kotlin.idea.scratch.actions import com.intellij.execution.lineMarker.RunLineMarkerContributor -import com.intellij.ide.scratch.ScratchFileService -import com.intellij.ide.scratch.ScratchRootType import com.intellij.openapi.editor.EditorFactory import com.intellij.openapi.fileEditor.TextEditor import com.intellij.openapi.fileEditor.impl.text.TextEditorProvider @@ -21,6 +19,7 @@ import org.jetbrains.kotlin.idea.core.util.getLineCount import org.jetbrains.kotlin.idea.refactoring.getLineNumber import org.jetbrains.kotlin.idea.scratch.ScratchExpression import org.jetbrains.kotlin.idea.scratch.getScratchPanel +import org.jetbrains.kotlin.idea.scratch.isKotlinScratch import org.jetbrains.kotlin.idea.scratch.isKotlinWorksheet import org.jetbrains.kotlin.psi.* import org.jetbrains.kotlin.psi.psiUtil.findDescendantOfType @@ -32,7 +31,7 @@ class ScratchRunLineMarkerContributor : RunLineMarkerContributor() { val ktFile = element.containingFile as? KtFile if (ktFile?.isScript() != true) return null val file = ktFile.virtualFile - if (!(ScratchFileService.getInstance().getRootType(file) is ScratchRootType || file.isKotlinWorksheet)) return null + if (!(file.isKotlinScratch || file.isKotlinWorksheet)) return null val declaration = element.getStrictParentOfType() if (declaration != null && declaration !is KtParameter && declaration.nameIdentifier == element) { diff --git a/idea/idea-jvm/src/org/jetbrains/kotlin/idea/scratch/scratchUtils.kt b/idea/idea-jvm/src/org/jetbrains/kotlin/idea/scratch/scratchUtils.kt index df3bb4823e1..fafe24d4717 100644 --- a/idea/idea-jvm/src/org/jetbrains/kotlin/idea/scratch/scratchUtils.kt +++ b/idea/idea-jvm/src/org/jetbrains/kotlin/idea/scratch/scratchUtils.kt @@ -5,6 +5,8 @@ package org.jetbrains.kotlin.idea.scratch +import com.intellij.ide.scratch.ScratchFileService +import com.intellij.ide.scratch.ScratchRootType import com.intellij.openapi.diagnostic.Logger import com.intellij.openapi.fileEditor.FileEditorManager import com.intellij.openapi.fileEditor.TextEditor @@ -24,7 +26,11 @@ internal fun Logger.printDebugMessage(str: String) { if (isDebugEnabled) debug("SCRATCH: $str") } -val VirtualFile.isKotlinWorksheet: Boolean get() = name.endsWith(".$KOTLIN_WORKSHEET_EXTENSION") +val VirtualFile.isKotlinWorksheet: Boolean + get() = name.endsWith(".$KOTLIN_WORKSHEET_EXTENSION") + +val VirtualFile.isKotlinScratch: Boolean + get() = ScratchFileService.getInstance().getRootType(this) is ScratchRootType fun getEditorWithoutScratchPanel(fileManager: FileEditorManager, virtualFile: VirtualFile): TextEditor? { val editor = fileManager.getSelectedEditor(virtualFile) as? TextEditor diff --git a/idea/idea-jvm/src/org/jetbrains/kotlin/idea/scratch/ui/ScratchFileHook.kt b/idea/idea-jvm/src/org/jetbrains/kotlin/idea/scratch/ui/ScratchFileHook.kt index 17481a2ff5d..7d4cd87dd54 100644 --- a/idea/idea-jvm/src/org/jetbrains/kotlin/idea/scratch/ui/ScratchFileHook.kt +++ b/idea/idea-jvm/src/org/jetbrains/kotlin/idea/scratch/ui/ScratchFileHook.kt @@ -16,8 +16,6 @@ package org.jetbrains.kotlin.idea.scratch.ui -import com.intellij.ide.scratch.ScratchFileService -import com.intellij.ide.scratch.ScratchRootType import com.intellij.openapi.components.ProjectComponent import com.intellij.openapi.fileEditor.FileEditorManager import com.intellij.openapi.fileEditor.FileEditorManagerListener @@ -52,7 +50,7 @@ class ScratchFileHook(val project: Project) : ProjectComponent { private fun isPluggable(file: VirtualFile): Boolean { if (!file.isValid) return false - if (!(ScratchFileService.getInstance().getRootType(file) is ScratchRootType || file.isKotlinWorksheet)) return false + if (!(file.isKotlinScratch || file.isKotlinWorksheet)) return false val psiFile = PsiManager.getInstance(project).findFile(file) ?: return false return ScratchFileLanguageProvider.get(psiFile.fileType) != null }