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:
parent
c1b87eba03
commit
063d3949cf
annotation-processors
vim-engine
@ -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")
|
||||
}
|
@ -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
|
||||
|
@ -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 {
|
||||
|
Loading…
Reference in New Issue
Block a user