Minor: use script name generating code to generate names for script run configurations
This commit is contained in:
@@ -28,22 +28,26 @@ public class ScriptNameUtil {
|
||||
@NotNull
|
||||
public static Name fileNameWithExtensionStripped(@NotNull KtScript script, @NotNull String extension) {
|
||||
KtFile file = script.getContainingKtFile();
|
||||
String name = file.getName();
|
||||
int index = name.lastIndexOf('/');
|
||||
return Name.identifier(generateNameByFileName(file.getName(), extension));
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public static String generateNameByFileName(@NotNull String fileName, @NotNull String extension) {
|
||||
int index = fileName.lastIndexOf('/');
|
||||
if (index != -1) {
|
||||
name = name.substring(index + 1);
|
||||
fileName = fileName.substring(index + 1);
|
||||
}
|
||||
if (name.endsWith(extension)) {
|
||||
name = name.substring(0, name.length() - extension.length());
|
||||
if (fileName.endsWith(extension)) {
|
||||
fileName = fileName.substring(0, fileName.length() - extension.length());
|
||||
}
|
||||
else {
|
||||
index = name.indexOf('.');
|
||||
index = fileName.indexOf('.');
|
||||
if (index != -1) {
|
||||
name = name.substring(0, index);
|
||||
fileName = fileName.substring(0, index);
|
||||
}
|
||||
}
|
||||
name = Character.toUpperCase(name.charAt(0)) + (name.length() == 0 ? "" : name.substring(1));
|
||||
name = name.replace('.', '_');
|
||||
return Name.identifier(name);
|
||||
fileName = Character.toUpperCase(fileName.charAt(0)) + (fileName.length() == 0 ? "" : fileName.substring(1));
|
||||
fileName = fileName.replace('.', '_');
|
||||
return fileName;
|
||||
}
|
||||
}
|
||||
|
||||
+3
-1
@@ -34,7 +34,9 @@ import com.intellij.refactoring.listeners.RefactoringElementAdapter
|
||||
import com.intellij.refactoring.listeners.RefactoringElementListener
|
||||
import org.jdom.Element
|
||||
import org.jetbrains.kotlin.idea.run.script.standalone.KotlinStandaloneScriptRunConfigurationProducer.Companion.pathFromPsiElement
|
||||
import org.jetbrains.kotlin.parsing.KotlinParserDefinition
|
||||
import org.jetbrains.kotlin.psi.KtFile
|
||||
import org.jetbrains.kotlin.script.ScriptNameUtil
|
||||
import org.jetbrains.kotlin.utils.PathUtil
|
||||
import java.io.File
|
||||
import java.util.*
|
||||
@@ -98,7 +100,7 @@ class KotlinStandaloneScriptRunConfiguration(
|
||||
|
||||
override fun getState(executor: Executor, environment: ExecutionEnvironment): RunProfileState = ScriptCommandLineState(environment, this)
|
||||
|
||||
override fun suggestedName() = filePath?.let { File(it).nameWithoutExtension }
|
||||
override fun suggestedName() = filePath?.let { ScriptNameUtil.generateNameByFileName(it, KotlinParserDefinition.STD_SCRIPT_EXT) }
|
||||
|
||||
override fun getConfigurationEditor(): SettingsEditor<out RunConfiguration> {
|
||||
val group = SettingsEditorGroup<KotlinStandaloneScriptRunConfiguration>()
|
||||
|
||||
Reference in New Issue
Block a user