1
0
mirror of https://github.com/chylex/IntelliJ-IdeaVim.git synced 2025-05-07 05:34:02 +02:00

Better YAML

This commit is contained in:
filipp 2023-05-05 11:56:09 +03:00
parent c1b87eba03
commit 063d3949cf
3 changed files with 8 additions and 6 deletions
annotation-processors
build.gradle.kts
src/main/kotlin/com/intellij/vim/processors
vim-engine

View File

@ -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")
}

View File

@ -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

View File

@ -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 {