Skip to content

Commit

Permalink
feat: should return en as default prompts template if target language…
Browse files Browse the repository at this point in the history
… template not exist
  • Loading branch information
jialiu-github committed Apr 3, 2024
1 parent 881ab2e commit 31ffeee
Showing 1 changed file with 13 additions and 2 deletions.
15 changes: 13 additions & 2 deletions src/main/kotlin/cc/unitmesh/devti/template/TemplateRender.kt
Expand Up @@ -7,6 +7,7 @@ import cc.unitmesh.template.TemplateRoleSplitter
import com.intellij.openapi.project.ProjectManager
import org.apache.velocity.VelocityContext
import org.apache.velocity.app.Velocity
import java.io.File
import java.io.StringWriter
import java.nio.charset.Charset

Expand Down Expand Up @@ -51,13 +52,23 @@ class TemplateRender(val pathPrefix: String) {
* @throws TemplateNotFoundError if the specified file cannot be found
*/
private fun getDefaultTemplate(filename: String): String {
val defaultPrefix = "$ROOT/${AutoDevSettingsState.language}/$pathPrefix".trimEnd('/')
val path = "$defaultPrefix/$filename"
val path = getDefaultFilePath(filename)
val resourceUrl = javaClass.classLoader.getResource(path) ?: throw TemplateNotFoundError(path)
val bytes = resourceUrl.readBytes()
return String(bytes, Charset.forName("UTF-8"))
}

private fun getDefaultFilePath(filename: String): String {
val languagePrefix = "$ROOT/${AutoDevSettingsState.language}/$pathPrefix".trimEnd('/')
val path = "$languagePrefix/$filename"
if (File(path).exists()) {
return path
}

val defaultLanguagePrefix = "$ROOT/en/$pathPrefix".trimEnd('/')
return "$defaultLanguagePrefix/$filename"
}

fun buildMsgs(prompt: String): List<LlmMsg.ChatMessage> {
val msgs = splitter.split(prompt)
val messages = LlmMsg.fromMap(msgs).toMutableList()
Expand Down

0 comments on commit 31ffeee

Please sign in to comment.