mirror of
https://github.com/chylex/IntelliJ-IdeaVim.git
synced 2025-05-30 04:34:08 +02:00
Better YAML
This commit is contained in:
parent
c1b87eba03
commit
063d3949cf
annotation-processors
vim-engine
@ -19,5 +19,5 @@ repositories {
|
|||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
implementation("com.google.devtools.ksp:symbol-processing-api:1.8.0-1.0.8")
|
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
|
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.KspExperimental
|
||||||
import com.google.devtools.ksp.getAnnotationsByType
|
import com.google.devtools.ksp.getAnnotationsByType
|
||||||
import com.google.devtools.ksp.processing.Resolver
|
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.google.devtools.ksp.symbol.KSVisitorVoid
|
||||||
import com.intellij.vim.FileWriter
|
import com.intellij.vim.FileWriter
|
||||||
import com.intellij.vim.annotations.VimscriptFunction
|
import com.intellij.vim.annotations.VimscriptFunction
|
||||||
|
import org.yaml.snakeyaml.DumperOptions
|
||||||
|
import org.yaml.snakeyaml.Yaml
|
||||||
|
|
||||||
class VimscriptFunctionProcessor(private val environment: SymbolProcessorEnvironment) : SymbolProcessor {
|
class VimscriptFunctionProcessor(private val environment: SymbolProcessorEnvironment) : SymbolProcessor {
|
||||||
private val visitor = VimscriptFunctionVisitor()
|
private val visitor = VimscriptFunctionVisitor()
|
||||||
@ -35,11 +35,13 @@ class VimscriptFunctionProcessor(private val environment: SymbolProcessorEnviron
|
|||||||
}
|
}
|
||||||
|
|
||||||
private fun generateFunctionDict(): String {
|
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
|
val dictToWrite: Map<String, String> = nameToFunction
|
||||||
.map { it.key to it.value.qualifiedName!!.asString() }
|
.map { it.key to it.value.qualifiedName!!.asString() }
|
||||||
.toMap()
|
.toMap()
|
||||||
return mapper.writeValueAsString(dictToWrite)
|
return yaml.dump(dictToWrite)
|
||||||
}
|
}
|
||||||
|
|
||||||
// todo inspection that annotation is properly used on proper classes
|
// todo inspection that annotation is properly used on proper classes
|
||||||
|
@ -33,7 +33,7 @@ dependencies {
|
|||||||
|
|
||||||
ksp(project(":annotation-processors"))
|
ksp(project(":annotation-processors"))
|
||||||
implementation(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 {
|
tasks {
|
||||||
|
Loading…
Reference in New Issue
Block a user