Minor: rewrite with standard functions
This commit is contained in:
@@ -21,20 +21,16 @@ import org.jetbrains.kotlin.psi.KtScript
|
|||||||
import org.jetbrains.kotlin.utils.addToStdlib.lastIndexOfOrNull
|
import org.jetbrains.kotlin.utils.addToStdlib.lastIndexOfOrNull
|
||||||
|
|
||||||
object ScriptNameUtil {
|
object ScriptNameUtil {
|
||||||
|
|
||||||
fun fileNameWithExtensionStripped(script: KtScript, vararg extensions: String): Name =
|
fun fileNameWithExtensionStripped(script: KtScript, vararg extensions: String): Name =
|
||||||
Name.identifier(generateNameByFileName(script.getContainingKtFile().name, *extensions))
|
Name.identifier(generateNameByFileName(script.containingKtFile.name, *extensions))
|
||||||
|
|
||||||
fun generateNameByFileName(fileName: String, vararg extensions: String): String {
|
fun generateNameByFileName(filePath: String, vararg extensions: String): String {
|
||||||
val nameStart = fileName.lastIndexOf('/').let { if (it < 0) 0 else it + 1 }
|
val fileName = filePath.substringAfterLast('/')
|
||||||
val nameEnd = extensions.asSequence()
|
val nameWithoutExtension = extensions.asSequence()
|
||||||
.map { if (it.startsWith('.')) it else ".$it" }
|
.map { if (it.startsWith('.')) it else ".$it" }
|
||||||
.firstOrNull { fileName.endsWith(it) }
|
.firstOrNull { fileName.endsWith(it) }?.let { fileName.removeSuffix(it) }
|
||||||
?.let { fileName.length - it.length }
|
?: fileName
|
||||||
?: fileName.lastIndexOf('.').let { if (it < 0) fileName.length else it }
|
return nameWithoutExtension
|
||||||
?: fileName.length
|
|
||||||
return fileName
|
|
||||||
.substring(nameStart, nameEnd)
|
|
||||||
.replace('.', '_')
|
.replace('.', '_')
|
||||||
.capitalize()
|
.capitalize()
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user