From 404c3ea57b46b50c41485d9ee93da55e68e73aa3 Mon Sep 17 00:00:00 2001 From: Natalia Selezneva Date: Mon, 24 Dec 2018 13:28:42 +0300 Subject: [PATCH] Set scratch file extension using API for IDEA 182 or higher --- .../scratch/KtScratchFileCreationHelper.kt | 20 +++++++++++++++++++ .../KtScratchFileCreationHelper.kt.181 | 0 .../scratch/ScratchFileModuleInfoProvider.kt | 2 +- idea/resources/META-INF/jvm.xml | 3 +++ 4 files changed, 24 insertions(+), 1 deletion(-) create mode 100644 idea/idea-jvm/src/org/jetbrains/kotlin/idea/scratch/KtScratchFileCreationHelper.kt create mode 100644 idea/idea-jvm/src/org/jetbrains/kotlin/idea/scratch/KtScratchFileCreationHelper.kt.181 diff --git a/idea/idea-jvm/src/org/jetbrains/kotlin/idea/scratch/KtScratchFileCreationHelper.kt b/idea/idea-jvm/src/org/jetbrains/kotlin/idea/scratch/KtScratchFileCreationHelper.kt new file mode 100644 index 00000000000..ff0f60d853c --- /dev/null +++ b/idea/idea-jvm/src/org/jetbrains/kotlin/idea/scratch/KtScratchFileCreationHelper.kt @@ -0,0 +1,20 @@ +/* + * Copyright 2010-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/LICENSE.txt file. + */ + +package org.jetbrains.kotlin.idea.scratch + +import com.intellij.ide.scratch.ScratchFileCreationHelper +import com.intellij.openapi.actionSystem.DataContext +import com.intellij.openapi.project.Project +import org.jetbrains.kotlin.parsing.KotlinParserDefinition + +class KtScratchFileCreationHelper: ScratchFileCreationHelper() { + + override fun prepareText(project: Project, context: Context, dataContext: DataContext): Boolean { + context.fileExtension = KotlinParserDefinition.STD_SCRIPT_SUFFIX + + return super.prepareText(project, context, dataContext) + } +} \ No newline at end of file diff --git a/idea/idea-jvm/src/org/jetbrains/kotlin/idea/scratch/KtScratchFileCreationHelper.kt.181 b/idea/idea-jvm/src/org/jetbrains/kotlin/idea/scratch/KtScratchFileCreationHelper.kt.181 new file mode 100644 index 00000000000..e69de29bb2d diff --git a/idea/idea-jvm/src/org/jetbrains/kotlin/idea/scratch/ScratchFileModuleInfoProvider.kt b/idea/idea-jvm/src/org/jetbrains/kotlin/idea/scratch/ScratchFileModuleInfoProvider.kt index 52f58ece139..d348d90eeba 100644 --- a/idea/idea-jvm/src/org/jetbrains/kotlin/idea/scratch/ScratchFileModuleInfoProvider.kt +++ b/idea/idea-jvm/src/org/jetbrains/kotlin/idea/scratch/ScratchFileModuleInfoProvider.kt @@ -48,7 +48,7 @@ class ScratchFileModuleInfoProvider(val project: Project) : ProjectComponent { val ktFile = PsiManager.getInstance(project).findFile(file) as? KtFile ?: return - // Hack before api in IDEA will be introduced + // BUNCH: 181 scratch files are created with .kt extension if (file.extension == KotlinFileType.EXTENSION) { runWriteAction { var newName = file.nameWithoutExtension + STD_SCRIPT_EXT diff --git a/idea/resources/META-INF/jvm.xml b/idea/resources/META-INF/jvm.xml index 253919320c9..213563e70e7 100644 --- a/idea/resources/META-INF/jvm.xml +++ b/idea/resources/META-INF/jvm.xml @@ -122,6 +122,9 @@ + +