Always remove extension from script file
Fix for 35631dc2df refactoring.
Extension was actually always removed before refactoring.
This commit is contained in:
@@ -41,7 +41,7 @@ open class KotlinScriptDefinition(val template: KClass<out Any>) {
|
|||||||
getFileName(file).endsWith(KotlinParserDefinition.STD_SCRIPT_EXT)
|
getFileName(file).endsWith(KotlinParserDefinition.STD_SCRIPT_EXT)
|
||||||
|
|
||||||
open fun getScriptName(script: KtScript): Name =
|
open fun getScriptName(script: KtScript): Name =
|
||||||
ScriptNameUtil.fileNameWithExtensionStripped(script, KotlinParserDefinition.STD_SCRIPT_EXT)
|
ScriptNameUtil.fileNameWithExtensionStripped(script)
|
||||||
|
|
||||||
open fun <TF: Any> getDependenciesFor(file: TF, project: Project, previousDependencies: KotlinScriptExternalDependencies?): KotlinScriptExternalDependencies? = null
|
open fun <TF: Any> getDependenciesFor(file: TF, project: Project, previousDependencies: KotlinScriptExternalDependencies?): KotlinScriptExternalDependencies? = null
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -85,7 +85,7 @@ open class KotlinScriptDefinitionFromAnnotatedTemplate(
|
|||||||
scriptFilePattern.let { Regex(it).matches(getFileName(file)) }
|
scriptFilePattern.let { Regex(it).matches(getFileName(file)) }
|
||||||
|
|
||||||
// TODO: implement other strategy - e.g. try to extract something from match with ScriptFilePattern
|
// TODO: implement other strategy - e.g. try to extract something from match with ScriptFilePattern
|
||||||
override fun getScriptName(script: KtScript): Name = ScriptNameUtil.fileNameWithExtensionStripped(script, KotlinParserDefinition.STD_SCRIPT_EXT)
|
override fun getScriptName(script: KtScript): Name = ScriptNameUtil.fileNameWithExtensionStripped(script)
|
||||||
|
|
||||||
override fun <TF: Any> getDependenciesFor(file: TF, project: Project, previousDependencies: KotlinScriptExternalDependencies?): KotlinScriptExternalDependencies? {
|
override fun <TF: Any> getDependenciesFor(file: TF, project: Project, previousDependencies: KotlinScriptExternalDependencies?): KotlinScriptExternalDependencies? {
|
||||||
|
|
||||||
|
|||||||
@@ -18,18 +18,14 @@ package org.jetbrains.kotlin.script
|
|||||||
|
|
||||||
import org.jetbrains.kotlin.name.Name
|
import org.jetbrains.kotlin.name.Name
|
||||||
import org.jetbrains.kotlin.psi.KtScript
|
import org.jetbrains.kotlin.psi.KtScript
|
||||||
import org.jetbrains.kotlin.utils.addToStdlib.lastIndexOfOrNull
|
|
||||||
|
|
||||||
object ScriptNameUtil {
|
object ScriptNameUtil {
|
||||||
fun fileNameWithExtensionStripped(script: KtScript, vararg extensions: String): Name =
|
fun fileNameWithExtensionStripped(script: KtScript): Name =
|
||||||
Name.identifier(generateNameByFileName(script.containingKtFile.name, *extensions))
|
Name.identifier(generateNameByFileName(script.containingKtFile.name))
|
||||||
|
|
||||||
fun generateNameByFileName(filePath: String, vararg extensions: String): String {
|
fun generateNameByFileName(filePath: String): String {
|
||||||
val fileName = filePath.substringAfterLast('/')
|
val fileName = filePath.substringAfterLast('/')
|
||||||
val nameWithoutExtension = extensions.asSequence()
|
val nameWithoutExtension = fileName.substringBeforeLast('.')
|
||||||
.map { if (it.startsWith('.')) it else ".$it" }
|
|
||||||
.firstOrNull { fileName.endsWith(it) }?.let { fileName.removeSuffix(it) }
|
|
||||||
?: fileName
|
|
||||||
return nameWithoutExtension
|
return nameWithoutExtension
|
||||||
.replace('.', '_')
|
.replace('.', '_')
|
||||||
.capitalize()
|
.capitalize()
|
||||||
|
|||||||
Reference in New Issue
Block a user