diff --git a/annotation-processors/build.gradle.kts b/annotation-processors/build.gradle.kts index 771959efe..c74935e38 100644 --- a/annotation-processors/build.gradle.kts +++ b/annotation-processors/build.gradle.kts @@ -19,5 +19,5 @@ repositories { dependencies { compileOnly("com.google.devtools.ksp:symbol-processing-api:1.8.21-1.0.11") - implementation("org.yaml:snakeyaml:2.0") + implementation("org.jetbrains.kotlinx:kotlinx-serialization-json-jvm:1.5.0") } \ No newline at end of file diff --git a/annotation-processors/src/main/kotlin/com/intellij/vim/FileWriter.kt b/annotation-processors/src/main/kotlin/com/intellij/vim/FileWriter.kt index e85580ce1..7b2dd02b4 100644 --- a/annotation-processors/src/main/kotlin/com/intellij/vim/FileWriter.kt +++ b/annotation-processors/src/main/kotlin/com/intellij/vim/FileWriter.kt @@ -8,19 +8,10 @@ package com.intellij.vim -import org.yaml.snakeyaml.DumperOptions -import org.yaml.snakeyaml.Yaml import java.io.File import java.nio.file.Path class FileWriter { - fun getYAML(comment: String, any: Any): String { - val options = DumperOptions() - options.defaultFlowStyle = DumperOptions.FlowStyle.BLOCK - val yaml = Yaml(options) - return comment + yaml.dump(any) - } - fun writeFile(filePath: Path, content: String) { val file = File(filePath.toUri()) file.writeText(content) diff --git a/annotation-processors/src/main/kotlin/com/intellij/vim/processors/ExCommandProcessor.kt b/annotation-processors/src/main/kotlin/com/intellij/vim/processors/ExCommandProcessor.kt index 38dea547c..3b23d06bc 100644 --- a/annotation-processors/src/main/kotlin/com/intellij/vim/processors/ExCommandProcessor.kt +++ b/annotation-processors/src/main/kotlin/com/intellij/vim/processors/ExCommandProcessor.kt @@ -19,23 +19,21 @@ import com.google.devtools.ksp.symbol.KSFile import com.google.devtools.ksp.symbol.KSVisitorVoid import com.intellij.vim.FileWriter import com.intellij.vim.annotations.ExCommand +import kotlinx.serialization.encodeToString +import kotlinx.serialization.json.Json import kotlin.io.path.Path class ExCommandProcessor(private val environment: SymbolProcessorEnvironment): SymbolProcessor { - companion object { - const val comment = """# This file was automatically generated by [com.intellij.vim.processor.EXCommandProcessor]. -# If you are going to change it, you are probably doing something wrong, as your changes will be overridden by the next `gradle kspKotlin` run. - -""" - } private val visitor = EXCommandVisitor() - private val writer = FileWriter() private val commandToClass = mutableMapOf<String, String>() + private val json = Json { prettyPrint = true } + private val writer = FileWriter() + override fun process(resolver: Resolver): List<KSAnnotated> { resolver.getAllFiles().forEach { it.accept(visitor, Unit) } - val fileContent = writer.getYAML(comment, commandToClass) val filePath = Path(environment.options["generated_directory"]!!, environment.options["ex_commands_file"]!!) + val fileContent = json.encodeToString(commandToClass) writer.writeFile(filePath, fileContent) return emptyList() 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 2771a3f46..ee63e25c0 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 @@ -19,24 +19,21 @@ 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 kotlinx.serialization.encodeToString +import kotlinx.serialization.json.Json import kotlin.io.path.Path class VimscriptFunctionProcessor(private val environment: SymbolProcessorEnvironment) : SymbolProcessor { - companion object { - const val comment = """# This file was automatically generated by [com.intellij.vim.processor.VimscriptFunctionProcessor]. -# If you are going to change it, you are probably doing something wrong, as your changes will be overridden by the next `gradle kspKotlin` run. - -""" - } private val visitor = VimscriptFunctionVisitor() - private val writer = FileWriter() private val nameToClass = mutableMapOf<String, String>() - + + private val json = Json { prettyPrint = true } + private val writer = FileWriter() override fun process(resolver: Resolver): List<KSAnnotated> { resolver.getAllFiles().forEach { it.accept(visitor, Unit) } - val fileContent = writer.getYAML(comment, nameToClass) val filePath = Path(environment.options["generated_directory"]!!, environment.options["vimscript_functions_file"]!!) + val fileContent = json.encodeToString(nameToClass) writer.writeFile(filePath, fileContent) return emptyList() diff --git a/build.gradle.kts b/build.gradle.kts index 16743f1b5..2efc956cb 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -80,8 +80,8 @@ plugins { ksp { arg("generated_directory", "$projectDir/src/main/resources") - arg("vimscript_functions_file", "intellij_vimscript_functions.yaml") - arg("ex_commands_file", "intellij_ex_commands.yaml") + arg("vimscript_functions_file", "intellij_vimscript_functions.json") + arg("ex_commands_file", "intellij_ex_commands.json") } afterEvaluate { diff --git a/src/main/java/com/maddyhome/idea/vim/vimscript/model/commands/IntellijExCommandProvider.kt b/src/main/java/com/maddyhome/idea/vim/vimscript/model/commands/IntellijExCommandProvider.kt index 3ab07faaf..69c584245 100644 --- a/src/main/java/com/maddyhome/idea/vim/vimscript/model/commands/IntellijExCommandProvider.kt +++ b/src/main/java/com/maddyhome/idea/vim/vimscript/model/commands/IntellijExCommandProvider.kt @@ -9,5 +9,5 @@ package com.maddyhome.idea.vim.vimscript.model.commands public object IntellijExCommandProvider : ExCommandProvider { - override val exCommandsFileName: String = "intellij_ex_commands.yaml" + override val exCommandsFileName: String = "intellij_ex_commands.json" } \ No newline at end of file diff --git a/src/main/java/com/maddyhome/idea/vim/vimscript/model/functions/IntellijFunctionProvider.kt b/src/main/java/com/maddyhome/idea/vim/vimscript/model/functions/IntellijFunctionProvider.kt index f79e0f788..3a4f47cea 100644 --- a/src/main/java/com/maddyhome/idea/vim/vimscript/model/functions/IntellijFunctionProvider.kt +++ b/src/main/java/com/maddyhome/idea/vim/vimscript/model/functions/IntellijFunctionProvider.kt @@ -9,5 +9,5 @@ package com.maddyhome.idea.vim.vimscript.model.functions public object IntellijFunctionProvider : VimscriptFunctionProvider { - override val functionListFileName: String = "intellij_vimscript_functions.yaml" + override val functionListFileName: String = "intellij_vimscript_functions.json" } \ No newline at end of file diff --git a/src/main/resources/intellij_ex_commands.json b/src/main/resources/intellij_ex_commands.json new file mode 100644 index 000000000..ebc23ec8b --- /dev/null +++ b/src/main/resources/intellij_ex_commands.json @@ -0,0 +1,11 @@ +{ + "actionl[ist]": "com.maddyhome.idea.vim.vimscript.model.commands.ActionListCommand", + "b[uffer]": "com.maddyhome.idea.vim.vimscript.model.commands.BufferCommand", + "ls": "com.maddyhome.idea.vim.vimscript.model.commands.BufferListCommand", + "files": "com.maddyhome.idea.vim.vimscript.model.commands.BufferListCommand", + "buffers": "com.maddyhome.idea.vim.vimscript.model.commands.BufferListCommand", + "!": "com.maddyhome.idea.vim.vimscript.model.commands.CmdFilterCommand", + "g[lobal]": "com.maddyhome.idea.vim.vimscript.model.commands.GlobalCommand", + "v[global]": "com.maddyhome.idea.vim.vimscript.model.commands.GlobalCommand", + "h[elp]": "com.maddyhome.idea.vim.vimscript.model.commands.HelpCommand" +} \ No newline at end of file diff --git a/src/main/resources/intellij_ex_commands.yaml b/src/main/resources/intellij_ex_commands.yaml deleted file mode 100644 index 631bb8259..000000000 --- a/src/main/resources/intellij_ex_commands.yaml +++ /dev/null @@ -1,12 +0,0 @@ -# This file was automatically generated by [com.intellij.vim.processor.EXCommandProcessor]. -# If you are going to change it, you are probably doing something wrong, as your changes will be overridden by the next `gradle kspKotlin` run. - -actionl[ist]: com.maddyhome.idea.vim.vimscript.model.commands.ActionListCommand -b[uffer]: com.maddyhome.idea.vim.vimscript.model.commands.BufferCommand -ls: com.maddyhome.idea.vim.vimscript.model.commands.BufferListCommand -files: com.maddyhome.idea.vim.vimscript.model.commands.BufferListCommand -buffers: com.maddyhome.idea.vim.vimscript.model.commands.BufferListCommand -'!': com.maddyhome.idea.vim.vimscript.model.commands.CmdFilterCommand -g[lobal]: com.maddyhome.idea.vim.vimscript.model.commands.GlobalCommand -v[global]: com.maddyhome.idea.vim.vimscript.model.commands.GlobalCommand -h[elp]: com.maddyhome.idea.vim.vimscript.model.commands.HelpCommand diff --git a/src/main/resources/intellij_vimscript_functions.json b/src/main/resources/intellij_vimscript_functions.json new file mode 100644 index 000000000..ddc74e21f --- /dev/null +++ b/src/main/resources/intellij_vimscript_functions.json @@ -0,0 +1,6 @@ +{ + "line": "com.maddyhome.idea.vim.vimscript.model.functions.handlers.LineFunctionHandler", + "col": "com.maddyhome.idea.vim.vimscript.model.functions.handlers.ColFunctionHandler", + "has": "com.maddyhome.idea.vim.vimscript.model.functions.handlers.HasFunctionHandler", + "submatch": "com.maddyhome.idea.vim.vimscript.model.functions.handlers.SubmatchFunctionHandler" +} \ No newline at end of file diff --git a/src/main/resources/intellij_vimscript_functions.yaml b/src/main/resources/intellij_vimscript_functions.yaml deleted file mode 100644 index 3e85112c5..000000000 --- a/src/main/resources/intellij_vimscript_functions.yaml +++ /dev/null @@ -1,7 +0,0 @@ -# This file was automatically generated by [com.intellij.vim.processor.VimscriptFunctionProcessor]. -# If you are going to change it, you are probably doing something wrong, as your changes will be overridden by the next `gradle kspKotlin` run. - -line: com.maddyhome.idea.vim.vimscript.model.functions.handlers.LineFunctionHandler -col: com.maddyhome.idea.vim.vimscript.model.functions.handlers.ColFunctionHandler -has: com.maddyhome.idea.vim.vimscript.model.functions.handlers.HasFunctionHandler -submatch: com.maddyhome.idea.vim.vimscript.model.functions.handlers.SubmatchFunctionHandler diff --git a/vim-engine/build.gradle.kts b/vim-engine/build.gradle.kts index e56019960..799712c4d 100644 --- a/vim-engine/build.gradle.kts +++ b/vim-engine/build.gradle.kts @@ -22,8 +22,8 @@ repositories { ksp { arg("generated_directory", "$projectDir/src/main/resources") - arg("vimscript_functions_file", "engine_vimscript_functions.yaml") - arg("ex_commands_file", "engine_ex_commands.yaml") + arg("vimscript_functions_file", "engine_vimscript_functions.json") + arg("ex_commands_file", "engine_ex_commands.json") } dependencies { @@ -35,7 +35,7 @@ dependencies { ksp(project(":annotation-processors")) implementation(project(":annotation-processors")) - implementation("org.yaml:snakeyaml:2.0") + compileOnly("org.jetbrains.kotlinx:kotlinx-serialization-json-jvm:1.5.0") } tasks { diff --git a/vim-engine/src/main/kotlin/com/maddyhome/idea/vim/vimscript/model/commands/EngineExCommandProvider.kt b/vim-engine/src/main/kotlin/com/maddyhome/idea/vim/vimscript/model/commands/EngineExCommandProvider.kt index fb08521f9..7e91afce8 100644 --- a/vim-engine/src/main/kotlin/com/maddyhome/idea/vim/vimscript/model/commands/EngineExCommandProvider.kt +++ b/vim-engine/src/main/kotlin/com/maddyhome/idea/vim/vimscript/model/commands/EngineExCommandProvider.kt @@ -9,5 +9,5 @@ package com.maddyhome.idea.vim.vimscript.model.commands public object EngineExCommandProvider : ExCommandProvider { - override val exCommandsFileName: String = "engine_ex_commands.yaml" + override val exCommandsFileName: String = "engine_ex_commands.json" } \ No newline at end of file diff --git a/vim-engine/src/main/kotlin/com/maddyhome/idea/vim/vimscript/model/commands/ExCommandProvider.kt b/vim-engine/src/main/kotlin/com/maddyhome/idea/vim/vimscript/model/commands/ExCommandProvider.kt index 8e9d4f4d2..c934ee568 100644 --- a/vim-engine/src/main/kotlin/com/maddyhome/idea/vim/vimscript/model/commands/ExCommandProvider.kt +++ b/vim-engine/src/main/kotlin/com/maddyhome/idea/vim/vimscript/model/commands/ExCommandProvider.kt @@ -8,16 +8,18 @@ package com.maddyhome.idea.vim.vimscript.model.commands -import org.yaml.snakeyaml.Yaml +import kotlinx.serialization.ExperimentalSerializationApi +import kotlinx.serialization.json.Json +import kotlinx.serialization.json.decodeFromStream import java.io.InputStream public interface ExCommandProvider { public val exCommandsFileName: String + @OptIn(ExperimentalSerializationApi::class) public fun getCommands(): Map<String, LazyExCommandInstance> { - val yaml = Yaml() val classLoader = this.javaClass.classLoader - val commandToClass: Map<String, String> = yaml.load(getFile()) + val commandToClass: Map<String, String> = Json.decodeFromStream(getFile()) return commandToClass.entries.associate { it.key to LazyExCommandInstance(it.value, classLoader) } } diff --git a/vim-engine/src/main/kotlin/com/maddyhome/idea/vim/vimscript/model/functions/EngineFunctionProvider.kt b/vim-engine/src/main/kotlin/com/maddyhome/idea/vim/vimscript/model/functions/EngineFunctionProvider.kt index 4d7b30474..f1c55a2dc 100644 --- a/vim-engine/src/main/kotlin/com/maddyhome/idea/vim/vimscript/model/functions/EngineFunctionProvider.kt +++ b/vim-engine/src/main/kotlin/com/maddyhome/idea/vim/vimscript/model/functions/EngineFunctionProvider.kt @@ -9,5 +9,5 @@ package com.maddyhome.idea.vim.vimscript.model.functions public object EngineFunctionProvider : VimscriptFunctionProvider { - override val functionListFileName: String = "engine_vimscript_functions.yaml" + override val functionListFileName: String = "engine_vimscript_functions.json" } \ No newline at end of file diff --git a/vim-engine/src/main/kotlin/com/maddyhome/idea/vim/vimscript/model/functions/VimscriptFunctionProvider.kt b/vim-engine/src/main/kotlin/com/maddyhome/idea/vim/vimscript/model/functions/VimscriptFunctionProvider.kt index 93482a3f7..c77a455d8 100644 --- a/vim-engine/src/main/kotlin/com/maddyhome/idea/vim/vimscript/model/functions/VimscriptFunctionProvider.kt +++ b/vim-engine/src/main/kotlin/com/maddyhome/idea/vim/vimscript/model/functions/VimscriptFunctionProvider.kt @@ -8,16 +8,18 @@ package com.maddyhome.idea.vim.vimscript.model.functions -import org.yaml.snakeyaml.Yaml +import kotlinx.serialization.ExperimentalSerializationApi +import kotlinx.serialization.json.Json +import kotlinx.serialization.json.decodeFromStream import java.io.InputStream public interface VimscriptFunctionProvider { public val functionListFileName: String + @OptIn(ExperimentalSerializationApi::class) public fun getFunctions(): Collection<LazyVimscriptFunction> { - val yaml = Yaml() val classLoader = this.javaClass.classLoader - val functionDict: Map<String, String> = yaml.load(getFile()) + val functionDict: Map<String, String> = Json.decodeFromStream(getFile()) return functionDict.map { LazyVimscriptFunction(it.key, it.value, classLoader) } } diff --git a/vim-engine/src/main/resources/engine_ex_commands.json b/vim-engine/src/main/resources/engine_ex_commands.json new file mode 100644 index 000000000..eafb2d009 --- /dev/null +++ b/vim-engine/src/main/resources/engine_ex_commands.json @@ -0,0 +1,128 @@ +{ + "action": "com.maddyhome.idea.vim.vimscript.model.commands.ActionCommand", + "as[cii]": "com.maddyhome.idea.vim.vimscript.model.commands.AsciiCommand", + "bd[elete]": "com.maddyhome.idea.vim.vimscript.model.commands.BufferCloseCommand", + "cal[l]": "com.maddyhome.idea.vim.vimscript.model.commands.CallCommand", + "comc[lear]": "com.maddyhome.idea.vim.vimscript.model.commands.CmdClearCommand", + "com[mand]": "com.maddyhome.idea.vim.vimscript.model.commands.CmdCommand", + "t": "com.maddyhome.idea.vim.vimscript.model.commands.CopyTextCommand", + "co[py]": "com.maddyhome.idea.vim.vimscript.model.commands.CopyTextCommand", + "delc[ommand]": "com.maddyhome.idea.vim.vimscript.model.commands.DelCmdCommand", + "d[elete]": "com.maddyhome.idea.vim.vimscript.model.commands.DeleteLinesCommand", + "delm[arks]": "com.maddyhome.idea.vim.vimscript.model.commands.DeleteMarksCommand", + "delf[unction]": "com.maddyhome.idea.vim.vimscript.model.commands.DelfunctionCommand", + "dig[raphs]": "com.maddyhome.idea.vim.vimscript.model.commands.DigraphCommand", + "dump[line]": "com.maddyhome.idea.vim.vimscript.model.commands.DumpLineCommand", + "ec[ho]": "com.maddyhome.idea.vim.vimscript.model.commands.EchoCommand", + "e[dit]": "com.maddyhome.idea.vim.vimscript.model.commands.EditFileCommand", + "bro[wse]": "com.maddyhome.idea.vim.vimscript.model.commands.EditFileCommand", + "exe[cute]": "com.maddyhome.idea.vim.vimscript.model.commands.ExecuteCommand", + "qa[ll]": "com.maddyhome.idea.vim.vimscript.model.commands.ExitCommand", + "xa[ll]": "com.maddyhome.idea.vim.vimscript.model.commands.ExitCommand", + "wqa[ll]": "com.maddyhome.idea.vim.vimscript.model.commands.ExitCommand", + "quita[ll]": "com.maddyhome.idea.vim.vimscript.model.commands.ExitCommand", + "f[ile]": "com.maddyhome.idea.vim.vimscript.model.commands.FileCommand", + "cla[ss]": "com.maddyhome.idea.vim.vimscript.model.commands.FindClassCommand", + "fin[d]": "com.maddyhome.idea.vim.vimscript.model.commands.FindFileCommand", + "sym[bol]": "com.maddyhome.idea.vim.vimscript.model.commands.FindSymbolCommand", + "go[to]": "com.maddyhome.idea.vim.vimscript.model.commands.GotoCharacterCommand", + "his[tory]": "com.maddyhome.idea.vim.vimscript.model.commands.HistoryCommand", + "j[oin]": "com.maddyhome.idea.vim.vimscript.model.commands.JoinLinesCommand", + "ju[mps]": "com.maddyhome.idea.vim.vimscript.model.commands.JumpsCommand", + "let": "com.maddyhome.idea.vim.vimscript.model.commands.LetCommand", + "lockv[ar]": "com.maddyhome.idea.vim.vimscript.model.commands.LockVarCommand", + "unlo[ckvar]": "com.maddyhome.idea.vim.vimscript.model.commands.UnlockVarCommand", + "k": "com.maddyhome.idea.vim.vimscript.model.commands.MarkCommand", + "ma[rk]": "com.maddyhome.idea.vim.vimscript.model.commands.MarkCommand", + "marks": "com.maddyhome.idea.vim.vimscript.model.commands.MarksCommand", + "m[ove]": "com.maddyhome.idea.vim.vimscript.model.commands.MoveTextCommand", + "n[ext]": "com.maddyhome.idea.vim.vimscript.model.commands.NextFileCommand", + "bn[ext]": "com.maddyhome.idea.vim.vimscript.model.commands.NextFileCommand", + "tabn[ext]": "com.maddyhome.idea.vim.vimscript.model.commands.NextTabCommand", + "noh[lsearch]": "com.maddyhome.idea.vim.vimscript.model.commands.NoHLSearchCommand", + "norm[al]": "com.maddyhome.idea.vim.vimscript.model.commands.NormalCommand", + "on[ly]": "com.maddyhome.idea.vim.vimscript.model.commands.OnlyCommand", + "pa[ckadd]": "com.maddyhome.idea.vim.vimscript.model.commands.PackaddCommand", + "Plug[in]": "com.maddyhome.idea.vim.vimscript.model.commands.PlugCommand", + "prev[ious]": "com.maddyhome.idea.vim.vimscript.model.commands.PreviousFileCommand", + "bp[revious]": "com.maddyhome.idea.vim.vimscript.model.commands.PreviousFileCommand", + "N[ext]": "com.maddyhome.idea.vim.vimscript.model.commands.PreviousFileCommand", + "tabp[previous]": "com.maddyhome.idea.vim.vimscript.model.commands.PreviousTabCommand", + "tabN[ext]": "com.maddyhome.idea.vim.vimscript.model.commands.PreviousTabCommand", + "p[rint]": "com.maddyhome.idea.vim.vimscript.model.commands.PrintCommand", + "P[rint]": "com.maddyhome.idea.vim.vimscript.model.commands.PrintCommand", + "pro[mptfind]": "com.maddyhome.idea.vim.vimscript.model.commands.PromptFindCommand", + "promptr[eplace]": "com.maddyhome.idea.vim.vimscript.model.commands.PromptReplaceCommand", + "pu[t]": "com.maddyhome.idea.vim.vimscript.model.commands.PutLinesCommand", + "q[uit]": "com.maddyhome.idea.vim.vimscript.model.commands.QuitCommand", + "clo[se]": "com.maddyhome.idea.vim.vimscript.model.commands.QuitCommand", + "hi[de]": "com.maddyhome.idea.vim.vimscript.model.commands.QuitCommand", + "red[o]": "com.maddyhome.idea.vim.vimscript.model.commands.RedoCommand", + "dis[play]": "com.maddyhome.idea.vim.vimscript.model.commands.RegistersCommand", + "reg[isters]": "com.maddyhome.idea.vim.vimscript.model.commands.RegistersCommand", + "@": "com.maddyhome.idea.vim.vimscript.model.commands.RepeatCommand", + "argu[ment]": "com.maddyhome.idea.vim.vimscript.model.commands.SelectFileCommand", + "fir[st]": "com.maddyhome.idea.vim.vimscript.model.commands.SelectFirstFileCommand", + "la[st]": "com.maddyhome.idea.vim.vimscript.model.commands.SelectLastFileCommand", + "se[t]": "com.maddyhome.idea.vim.vimscript.model.commands.SetCommand", + "setl[ocal]": "com.maddyhome.idea.vim.vimscript.model.commands.SetLocalCommand", + "sethandler": "com.maddyhome.idea.vim.vimscript.model.commands.SetHandlerCommand", + "sh[ell]": "com.maddyhome.idea.vim.vimscript.model.commands.ShellCommand", + "sor[t]": "com.maddyhome.idea.vim.vimscript.model.commands.SortCommand", + "so[urce]": "com.maddyhome.idea.vim.vimscript.model.commands.SourceCommand", + "sp[lit]": "com.maddyhome.idea.vim.vimscript.model.commands.SplitCommand", + "vs[plit]": "com.maddyhome.idea.vim.vimscript.model.commands.SplitCommand", + "~": "com.maddyhome.idea.vim.vimscript.model.commands.SubstituteCommand", + "&": "com.maddyhome.idea.vim.vimscript.model.commands.SubstituteCommand", + "s[ubstitute]": "com.maddyhome.idea.vim.vimscript.model.commands.SubstituteCommand", + "tabc[lose]": "com.maddyhome.idea.vim.vimscript.model.commands.TabCloseCommand", + "tabm[ove]": "com.maddyhome.idea.vim.vimscript.model.commands.TabMoveCommand", + "tabo[nly]": "com.maddyhome.idea.vim.vimscript.model.commands.TabOnlyCommand", + "u[ndo]": "com.maddyhome.idea.vim.vimscript.model.commands.UndoCommand", + "wa[ll]": "com.maddyhome.idea.vim.vimscript.model.commands.WriteAllCommand", + "w[rite]": "com.maddyhome.idea.vim.vimscript.model.commands.WriteCommand", + "wn[ext]": "com.maddyhome.idea.vim.vimscript.model.commands.WriteNextFileCommand", + "wp[revious]": "com.maddyhome.idea.vim.vimscript.model.commands.WritePreviousFileCommand", + "wN[ext]": "com.maddyhome.idea.vim.vimscript.model.commands.WritePreviousFileCommand", + "wq": "com.maddyhome.idea.vim.vimscript.model.commands.WriteQuitCommand", + "x[it]": "com.maddyhome.idea.vim.vimscript.model.commands.WriteQuitCommand", + "exi[t]": "com.maddyhome.idea.vim.vimscript.model.commands.WriteQuitCommand", + "y[ank]": "com.maddyhome.idea.vim.vimscript.model.commands.YankLinesCommand", + "mapc[lear]": "com.maddyhome.idea.vim.vimscript.model.commands.mapping.MapClearCommand", + "nmapc[lear]": "com.maddyhome.idea.vim.vimscript.model.commands.mapping.MapClearCommand", + "vmapc[lear]": "com.maddyhome.idea.vim.vimscript.model.commands.mapping.MapClearCommand", + "xmapc[lear]": "com.maddyhome.idea.vim.vimscript.model.commands.mapping.MapClearCommand", + "smapc[lear]": "com.maddyhome.idea.vim.vimscript.model.commands.mapping.MapClearCommand", + "omapc[lear]": "com.maddyhome.idea.vim.vimscript.model.commands.mapping.MapClearCommand", + "imapc[lear]": "com.maddyhome.idea.vim.vimscript.model.commands.mapping.MapClearCommand", + "lmapc[lear]": "com.maddyhome.idea.vim.vimscript.model.commands.mapping.MapClearCommand", + "cmapc[lear]": "com.maddyhome.idea.vim.vimscript.model.commands.mapping.MapClearCommand", + "map": "com.maddyhome.idea.vim.vimscript.model.commands.mapping.MapCommand", + "nm[ap]": "com.maddyhome.idea.vim.vimscript.model.commands.mapping.MapCommand", + "vm[ap]": "com.maddyhome.idea.vim.vimscript.model.commands.mapping.MapCommand", + "xm[ap]": "com.maddyhome.idea.vim.vimscript.model.commands.mapping.MapCommand", + "smap": "com.maddyhome.idea.vim.vimscript.model.commands.mapping.MapCommand", + "om[ap]": "com.maddyhome.idea.vim.vimscript.model.commands.mapping.MapCommand", + "im[ap]": "com.maddyhome.idea.vim.vimscript.model.commands.mapping.MapCommand", + "lm[ap]": "com.maddyhome.idea.vim.vimscript.model.commands.mapping.MapCommand", + "cm[ap]": "com.maddyhome.idea.vim.vimscript.model.commands.mapping.MapCommand", + "no[map]": "com.maddyhome.idea.vim.vimscript.model.commands.mapping.MapCommand", + "nn[oremap]": "com.maddyhome.idea.vim.vimscript.model.commands.mapping.MapCommand", + "vn[oremap]": "com.maddyhome.idea.vim.vimscript.model.commands.mapping.MapCommand", + "xn[oremap]": "com.maddyhome.idea.vim.vimscript.model.commands.mapping.MapCommand", + "snor[emap]": "com.maddyhome.idea.vim.vimscript.model.commands.mapping.MapCommand", + "ono[remap]": "com.maddyhome.idea.vim.vimscript.model.commands.mapping.MapCommand", + "no[remap]": "com.maddyhome.idea.vim.vimscript.model.commands.mapping.MapCommand", + "ino[remap]": "com.maddyhome.idea.vim.vimscript.model.commands.mapping.MapCommand", + "ln[oremap]": "com.maddyhome.idea.vim.vimscript.model.commands.mapping.MapCommand", + "cno[remap]": "com.maddyhome.idea.vim.vimscript.model.commands.mapping.MapCommand", + "unm[ap]": "com.maddyhome.idea.vim.vimscript.model.commands.mapping.UnMapCommand", + "nun[map]": "com.maddyhome.idea.vim.vimscript.model.commands.mapping.UnMapCommand", + "vu[nmap]": "com.maddyhome.idea.vim.vimscript.model.commands.mapping.UnMapCommand", + "xu[nmap]": "com.maddyhome.idea.vim.vimscript.model.commands.mapping.UnMapCommand", + "sunm[ap]": "com.maddyhome.idea.vim.vimscript.model.commands.mapping.UnMapCommand", + "ou[nmap]": "com.maddyhome.idea.vim.vimscript.model.commands.mapping.UnMapCommand", + "iu[nmap]": "com.maddyhome.idea.vim.vimscript.model.commands.mapping.UnMapCommand", + "lu[nmap]": "com.maddyhome.idea.vim.vimscript.model.commands.mapping.UnMapCommand", + "cu[nmap]": "com.maddyhome.idea.vim.vimscript.model.commands.mapping.UnMapCommand" +} \ No newline at end of file diff --git a/vim-engine/src/main/resources/engine_ex_commands.yaml b/vim-engine/src/main/resources/engine_ex_commands.yaml deleted file mode 100644 index 27d6407c8..000000000 --- a/vim-engine/src/main/resources/engine_ex_commands.yaml +++ /dev/null @@ -1,129 +0,0 @@ -# This file was automatically generated by [com.intellij.vim.processor.EXCommandProcessor]. -# If you are going to change it, you are probably doing something wrong, as your changes will be overridden by the next `gradle kspKotlin` run. - -action: com.maddyhome.idea.vim.vimscript.model.commands.ActionCommand -as[cii]: com.maddyhome.idea.vim.vimscript.model.commands.AsciiCommand -bd[elete]: com.maddyhome.idea.vim.vimscript.model.commands.BufferCloseCommand -cal[l]: com.maddyhome.idea.vim.vimscript.model.commands.CallCommand -comc[lear]: com.maddyhome.idea.vim.vimscript.model.commands.CmdClearCommand -com[mand]: com.maddyhome.idea.vim.vimscript.model.commands.CmdCommand -t: com.maddyhome.idea.vim.vimscript.model.commands.CopyTextCommand -co[py]: com.maddyhome.idea.vim.vimscript.model.commands.CopyTextCommand -delc[ommand]: com.maddyhome.idea.vim.vimscript.model.commands.DelCmdCommand -d[elete]: com.maddyhome.idea.vim.vimscript.model.commands.DeleteLinesCommand -delm[arks]: com.maddyhome.idea.vim.vimscript.model.commands.DeleteMarksCommand -delf[unction]: com.maddyhome.idea.vim.vimscript.model.commands.DelfunctionCommand -dig[raphs]: com.maddyhome.idea.vim.vimscript.model.commands.DigraphCommand -dump[line]: com.maddyhome.idea.vim.vimscript.model.commands.DumpLineCommand -ec[ho]: com.maddyhome.idea.vim.vimscript.model.commands.EchoCommand -e[dit]: com.maddyhome.idea.vim.vimscript.model.commands.EditFileCommand -bro[wse]: com.maddyhome.idea.vim.vimscript.model.commands.EditFileCommand -exe[cute]: com.maddyhome.idea.vim.vimscript.model.commands.ExecuteCommand -qa[ll]: com.maddyhome.idea.vim.vimscript.model.commands.ExitCommand -xa[ll]: com.maddyhome.idea.vim.vimscript.model.commands.ExitCommand -wqa[ll]: com.maddyhome.idea.vim.vimscript.model.commands.ExitCommand -quita[ll]: com.maddyhome.idea.vim.vimscript.model.commands.ExitCommand -f[ile]: com.maddyhome.idea.vim.vimscript.model.commands.FileCommand -cla[ss]: com.maddyhome.idea.vim.vimscript.model.commands.FindClassCommand -fin[d]: com.maddyhome.idea.vim.vimscript.model.commands.FindFileCommand -sym[bol]: com.maddyhome.idea.vim.vimscript.model.commands.FindSymbolCommand -go[to]: com.maddyhome.idea.vim.vimscript.model.commands.GotoCharacterCommand -his[tory]: com.maddyhome.idea.vim.vimscript.model.commands.HistoryCommand -j[oin]: com.maddyhome.idea.vim.vimscript.model.commands.JoinLinesCommand -ju[mps]: com.maddyhome.idea.vim.vimscript.model.commands.JumpsCommand -let: com.maddyhome.idea.vim.vimscript.model.commands.LetCommand -lockv[ar]: com.maddyhome.idea.vim.vimscript.model.commands.LockVarCommand -unlo[ckvar]: com.maddyhome.idea.vim.vimscript.model.commands.UnlockVarCommand -k: com.maddyhome.idea.vim.vimscript.model.commands.MarkCommand -ma[rk]: com.maddyhome.idea.vim.vimscript.model.commands.MarkCommand -marks: com.maddyhome.idea.vim.vimscript.model.commands.MarksCommand -m[ove]: com.maddyhome.idea.vim.vimscript.model.commands.MoveTextCommand -n[ext]: com.maddyhome.idea.vim.vimscript.model.commands.NextFileCommand -bn[ext]: com.maddyhome.idea.vim.vimscript.model.commands.NextFileCommand -tabn[ext]: com.maddyhome.idea.vim.vimscript.model.commands.NextTabCommand -noh[lsearch]: com.maddyhome.idea.vim.vimscript.model.commands.NoHLSearchCommand -norm[al]: com.maddyhome.idea.vim.vimscript.model.commands.NormalCommand -on[ly]: com.maddyhome.idea.vim.vimscript.model.commands.OnlyCommand -pa[ckadd]: com.maddyhome.idea.vim.vimscript.model.commands.PackaddCommand -Plug[in]: com.maddyhome.idea.vim.vimscript.model.commands.PlugCommand -prev[ious]: com.maddyhome.idea.vim.vimscript.model.commands.PreviousFileCommand -bp[revious]: com.maddyhome.idea.vim.vimscript.model.commands.PreviousFileCommand -N[ext]: com.maddyhome.idea.vim.vimscript.model.commands.PreviousFileCommand -tabp[previous]: com.maddyhome.idea.vim.vimscript.model.commands.PreviousTabCommand -tabN[ext]: com.maddyhome.idea.vim.vimscript.model.commands.PreviousTabCommand -p[rint]: com.maddyhome.idea.vim.vimscript.model.commands.PrintCommand -P[rint]: com.maddyhome.idea.vim.vimscript.model.commands.PrintCommand -pro[mptfind]: com.maddyhome.idea.vim.vimscript.model.commands.PromptFindCommand -promptr[eplace]: com.maddyhome.idea.vim.vimscript.model.commands.PromptReplaceCommand -pu[t]: com.maddyhome.idea.vim.vimscript.model.commands.PutLinesCommand -q[uit]: com.maddyhome.idea.vim.vimscript.model.commands.QuitCommand -clo[se]: com.maddyhome.idea.vim.vimscript.model.commands.QuitCommand -hi[de]: com.maddyhome.idea.vim.vimscript.model.commands.QuitCommand -red[o]: com.maddyhome.idea.vim.vimscript.model.commands.RedoCommand -dis[play]: com.maddyhome.idea.vim.vimscript.model.commands.RegistersCommand -reg[isters]: com.maddyhome.idea.vim.vimscript.model.commands.RegistersCommand -'@': com.maddyhome.idea.vim.vimscript.model.commands.RepeatCommand -argu[ment]: com.maddyhome.idea.vim.vimscript.model.commands.SelectFileCommand -fir[st]: com.maddyhome.idea.vim.vimscript.model.commands.SelectFirstFileCommand -la[st]: com.maddyhome.idea.vim.vimscript.model.commands.SelectLastFileCommand -se[t]: com.maddyhome.idea.vim.vimscript.model.commands.SetCommand -setl[ocal]: com.maddyhome.idea.vim.vimscript.model.commands.SetLocalCommand -sethandler: com.maddyhome.idea.vim.vimscript.model.commands.SetHandlerCommand -sh[ell]: com.maddyhome.idea.vim.vimscript.model.commands.ShellCommand -sor[t]: com.maddyhome.idea.vim.vimscript.model.commands.SortCommand -so[urce]: com.maddyhome.idea.vim.vimscript.model.commands.SourceCommand -sp[lit]: com.maddyhome.idea.vim.vimscript.model.commands.SplitCommand -vs[plit]: com.maddyhome.idea.vim.vimscript.model.commands.SplitCommand -'~': com.maddyhome.idea.vim.vimscript.model.commands.SubstituteCommand -'&': com.maddyhome.idea.vim.vimscript.model.commands.SubstituteCommand -s[ubstitute]: com.maddyhome.idea.vim.vimscript.model.commands.SubstituteCommand -tabc[lose]: com.maddyhome.idea.vim.vimscript.model.commands.TabCloseCommand -tabm[ove]: com.maddyhome.idea.vim.vimscript.model.commands.TabMoveCommand -tabo[nly]: com.maddyhome.idea.vim.vimscript.model.commands.TabOnlyCommand -u[ndo]: com.maddyhome.idea.vim.vimscript.model.commands.UndoCommand -wa[ll]: com.maddyhome.idea.vim.vimscript.model.commands.WriteAllCommand -w[rite]: com.maddyhome.idea.vim.vimscript.model.commands.WriteCommand -wn[ext]: com.maddyhome.idea.vim.vimscript.model.commands.WriteNextFileCommand -wp[revious]: com.maddyhome.idea.vim.vimscript.model.commands.WritePreviousFileCommand -wN[ext]: com.maddyhome.idea.vim.vimscript.model.commands.WritePreviousFileCommand -wq: com.maddyhome.idea.vim.vimscript.model.commands.WriteQuitCommand -x[it]: com.maddyhome.idea.vim.vimscript.model.commands.WriteQuitCommand -exi[t]: com.maddyhome.idea.vim.vimscript.model.commands.WriteQuitCommand -y[ank]: com.maddyhome.idea.vim.vimscript.model.commands.YankLinesCommand -mapc[lear]: com.maddyhome.idea.vim.vimscript.model.commands.mapping.MapClearCommand -nmapc[lear]: com.maddyhome.idea.vim.vimscript.model.commands.mapping.MapClearCommand -vmapc[lear]: com.maddyhome.idea.vim.vimscript.model.commands.mapping.MapClearCommand -xmapc[lear]: com.maddyhome.idea.vim.vimscript.model.commands.mapping.MapClearCommand -smapc[lear]: com.maddyhome.idea.vim.vimscript.model.commands.mapping.MapClearCommand -omapc[lear]: com.maddyhome.idea.vim.vimscript.model.commands.mapping.MapClearCommand -imapc[lear]: com.maddyhome.idea.vim.vimscript.model.commands.mapping.MapClearCommand -lmapc[lear]: com.maddyhome.idea.vim.vimscript.model.commands.mapping.MapClearCommand -cmapc[lear]: com.maddyhome.idea.vim.vimscript.model.commands.mapping.MapClearCommand -map: com.maddyhome.idea.vim.vimscript.model.commands.mapping.MapCommand -nm[ap]: com.maddyhome.idea.vim.vimscript.model.commands.mapping.MapCommand -vm[ap]: com.maddyhome.idea.vim.vimscript.model.commands.mapping.MapCommand -xm[ap]: com.maddyhome.idea.vim.vimscript.model.commands.mapping.MapCommand -smap: com.maddyhome.idea.vim.vimscript.model.commands.mapping.MapCommand -om[ap]: com.maddyhome.idea.vim.vimscript.model.commands.mapping.MapCommand -im[ap]: com.maddyhome.idea.vim.vimscript.model.commands.mapping.MapCommand -lm[ap]: com.maddyhome.idea.vim.vimscript.model.commands.mapping.MapCommand -cm[ap]: com.maddyhome.idea.vim.vimscript.model.commands.mapping.MapCommand -no[map]: com.maddyhome.idea.vim.vimscript.model.commands.mapping.MapCommand -nn[oremap]: com.maddyhome.idea.vim.vimscript.model.commands.mapping.MapCommand -vn[oremap]: com.maddyhome.idea.vim.vimscript.model.commands.mapping.MapCommand -xn[oremap]: com.maddyhome.idea.vim.vimscript.model.commands.mapping.MapCommand -snor[emap]: com.maddyhome.idea.vim.vimscript.model.commands.mapping.MapCommand -ono[remap]: com.maddyhome.idea.vim.vimscript.model.commands.mapping.MapCommand -no[remap]: com.maddyhome.idea.vim.vimscript.model.commands.mapping.MapCommand -ino[remap]: com.maddyhome.idea.vim.vimscript.model.commands.mapping.MapCommand -ln[oremap]: com.maddyhome.idea.vim.vimscript.model.commands.mapping.MapCommand -cno[remap]: com.maddyhome.idea.vim.vimscript.model.commands.mapping.MapCommand -unm[ap]: com.maddyhome.idea.vim.vimscript.model.commands.mapping.UnMapCommand -nun[map]: com.maddyhome.idea.vim.vimscript.model.commands.mapping.UnMapCommand -vu[nmap]: com.maddyhome.idea.vim.vimscript.model.commands.mapping.UnMapCommand -xu[nmap]: com.maddyhome.idea.vim.vimscript.model.commands.mapping.UnMapCommand -sunm[ap]: com.maddyhome.idea.vim.vimscript.model.commands.mapping.UnMapCommand -ou[nmap]: com.maddyhome.idea.vim.vimscript.model.commands.mapping.UnMapCommand -iu[nmap]: com.maddyhome.idea.vim.vimscript.model.commands.mapping.UnMapCommand -lu[nmap]: com.maddyhome.idea.vim.vimscript.model.commands.mapping.UnMapCommand -cu[nmap]: com.maddyhome.idea.vim.vimscript.model.commands.mapping.UnMapCommand diff --git a/vim-engine/src/main/resources/engine_vimscript_functions.json b/vim-engine/src/main/resources/engine_vimscript_functions.json new file mode 100644 index 000000000..f598762a1 --- /dev/null +++ b/vim-engine/src/main/resources/engine_vimscript_functions.json @@ -0,0 +1,14 @@ +{ + "abs": "com.maddyhome.idea.vim.vimscript.model.functions.handlers.AbsFunctionHandler", + "empty": "com.maddyhome.idea.vim.vimscript.model.functions.handlers.EmptyFunctionHandler", + "exists": "com.maddyhome.idea.vim.vimscript.model.functions.handlers.ExistsFunctionHandler", + "function": "com.maddyhome.idea.vim.vimscript.model.functions.handlers.FunctionFunctionHandler", + "funcref": "com.maddyhome.idea.vim.vimscript.model.functions.handlers.FuncrefFunctionHandler", + "get": "com.maddyhome.idea.vim.vimscript.model.functions.handlers.GetFunctionHandler", + "join": "com.maddyhome.idea.vim.vimscript.model.functions.handlers.JoinFunctionHandler", + "len": "com.maddyhome.idea.vim.vimscript.model.functions.handlers.LenFunctionHandler", + "sin": "com.maddyhome.idea.vim.vimscript.model.functions.handlers.SinFunctionHandler", + "split": "com.maddyhome.idea.vim.vimscript.model.functions.handlers.SplitFunctionHandler", + "tolower": "com.maddyhome.idea.vim.vimscript.model.functions.handlers.TolowerFunctionHandler", + "toupper": "com.maddyhome.idea.vim.vimscript.model.functions.handlers.ToupperFunctionHandler" +} \ No newline at end of file diff --git a/vim-engine/src/main/resources/engine_vimscript_functions.yaml b/vim-engine/src/main/resources/engine_vimscript_functions.yaml deleted file mode 100644 index 0b7cc08f0..000000000 --- a/vim-engine/src/main/resources/engine_vimscript_functions.yaml +++ /dev/null @@ -1,15 +0,0 @@ -# This file was automatically generated by [com.intellij.vim.processor.VimscriptFunctionProcessor]. -# If you are going to change it, you are probably doing something wrong, as your changes will be overridden by the next `gradle kspKotlin` run. - -abs: com.maddyhome.idea.vim.vimscript.model.functions.handlers.AbsFunctionHandler -empty: com.maddyhome.idea.vim.vimscript.model.functions.handlers.EmptyFunctionHandler -exists: com.maddyhome.idea.vim.vimscript.model.functions.handlers.ExistsFunctionHandler -function: com.maddyhome.idea.vim.vimscript.model.functions.handlers.FunctionFunctionHandler -funcref: com.maddyhome.idea.vim.vimscript.model.functions.handlers.FuncrefFunctionHandler -get: com.maddyhome.idea.vim.vimscript.model.functions.handlers.GetFunctionHandler -join: com.maddyhome.idea.vim.vimscript.model.functions.handlers.JoinFunctionHandler -len: com.maddyhome.idea.vim.vimscript.model.functions.handlers.LenFunctionHandler -sin: com.maddyhome.idea.vim.vimscript.model.functions.handlers.SinFunctionHandler -split: com.maddyhome.idea.vim.vimscript.model.functions.handlers.SplitFunctionHandler -tolower: com.maddyhome.idea.vim.vimscript.model.functions.handlers.TolowerFunctionHandler -toupper: com.maddyhome.idea.vim.vimscript.model.functions.handlers.ToupperFunctionHandler