diff --git a/annotation-processors/build.gradle.kts b/annotation-processors/build.gradle.kts index 8f0b8ac51..5d1a96e41 100644 --- a/annotation-processors/build.gradle.kts +++ b/annotation-processors/build.gradle.kts @@ -19,5 +19,5 @@ repositories { dependencies { implementation("com.google.devtools.ksp:symbol-processing-api:1.8.0-1.0.8") - implementation("com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:2.15.0") + implementation("org.yaml:snakeyaml:2.0") } \ No newline at end of file diff --git a/annotation-processors/src/main/kotlin/com/intellij/vim/processors/VimscriptFunctionProcessor.kt b/annotation-processors/src/main/kotlin/com/intellij/vim/processors/VimscriptFunctionProcessor.kt index f577c65e2..e7661ece9 100644 --- a/annotation-processors/src/main/kotlin/com/intellij/vim/processors/VimscriptFunctionProcessor.kt +++ b/annotation-processors/src/main/kotlin/com/intellij/vim/processors/VimscriptFunctionProcessor.kt @@ -8,8 +8,6 @@ package com.intellij.vim.processors -import com.fasterxml.jackson.databind.ObjectMapper -import com.fasterxml.jackson.dataformat.yaml.YAMLMapper import com.google.devtools.ksp.KspExperimental import com.google.devtools.ksp.getAnnotationsByType import com.google.devtools.ksp.processing.Resolver @@ -21,6 +19,8 @@ import com.google.devtools.ksp.symbol.KSFile import com.google.devtools.ksp.symbol.KSVisitorVoid import com.intellij.vim.FileWriter import com.intellij.vim.annotations.VimscriptFunction +import org.yaml.snakeyaml.DumperOptions +import org.yaml.snakeyaml.Yaml class VimscriptFunctionProcessor(private val environment: SymbolProcessorEnvironment) : SymbolProcessor { private val visitor = VimscriptFunctionVisitor() @@ -35,11 +35,13 @@ class VimscriptFunctionProcessor(private val environment: SymbolProcessorEnviron } private fun generateFunctionDict(): String { - val mapper = YAMLMapper() + val options = DumperOptions() + options.defaultFlowStyle = DumperOptions.FlowStyle.BLOCK + val yaml = Yaml(options) val dictToWrite: Map<String, String> = nameToFunction .map { it.key to it.value.qualifiedName!!.asString() } .toMap() - return mapper.writeValueAsString(dictToWrite) + return yaml.dump(dictToWrite) } // todo inspection that annotation is properly used on proper classes diff --git a/vim-engine/build.gradle.kts b/vim-engine/build.gradle.kts index baaefb1c0..b58454852 100644 --- a/vim-engine/build.gradle.kts +++ b/vim-engine/build.gradle.kts @@ -33,7 +33,7 @@ dependencies { ksp(project(":annotation-processors")) implementation(project(":annotation-processors")) - implementation("com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:2.15.0") + implementation("org.yaml:snakeyaml:2.0") } tasks {