override fun createFileFromTemplate()

in src/main/kotlin/com/pestphp/pest/templates/PestConfigNewDatasetFileAction.kt [33:68]


    override fun createFileFromTemplate(name: String?, template: FileTemplate, dir: PsiDirectory): PsiFile {
        if (template.name == PEST_SHARED_DATASET_TEMPLATE) {
            // find parent directory named "tests"
            var parentDir = dir
            while (parentDir.name != "tests") {
                parentDir = parentDir.parentDirectory ?: break
            }

            val datasetDir = parentDir.findSubdirectory("Datasets")
                ?: parentDir.createSubdirectory("Datasets")

            // Check if first character is lowercase in name
            var newName = name
            if (name!![0].isLowerCase()) {
                newName = name.replaceFirstChar { it.uppercase() }
            }

            return createFileFromTemplate(
                newName,
                template,
                datasetDir,
                defaultTemplateProperty,
                true,
                mapOf("DATASET_NAME" to name.replaceFirstChar { it.lowercase() })
            )!!
        }

        return createFileFromTemplate(
            "Datasets",
            template,
            dir,
            defaultTemplateProperty,
            true,
            mapOf("DATASET_NAME" to name!!.replaceFirstChar { it.lowercase() })
        )!!
    }