diff --git a/lsp/kotlin_lsp.lua b/lsp/kotlin_lsp.lua new file mode 100644 index 0000000..cd9e772 --- /dev/null +++ b/lsp/kotlin_lsp.lua @@ -0,0 +1,23 @@ +---@brief +---Pre-alpha official Kotlin support for Visual Studio Code and an implementation of Language Server Protocol for the Kotlin language. +--- +---The server is based on IntelliJ IDEA and the IntelliJ IDEA Kotlin Plugin implementation. + +--- The presence of one of these files indicates a project root directory +-- +-- These are configuration files for the various build systems supported by +-- Kotlin. + +---@type vim.lsp.Config +return { + filetypes = { 'kotlin' }, + cmd = { 'kotlin-lsp', '--stdio' }, + root_markers = { + 'settings.gradle', -- Gradle (multi-project) + 'settings.gradle.kts', -- Gradle (multi-project) + 'pom.xml', -- Maven + 'build.gradle', -- Gradle + 'build.gradle.kts', -- Gradle + 'workspace.json', -- Used to integrate your own build system + }, +} diff --git a/lua/plugins/conform.lua b/lua/plugins/conform.lua index 0b342a9..a545470 100644 --- a/lua/plugins/conform.lua +++ b/lua/plugins/conform.lua @@ -28,6 +28,7 @@ require("conform").setup({ ["swift"] = { "swiftformat" }, ["rust"] = { "rustfmt", lsp_format = "fallback" }, ["janet"] = { "janet_format" }, + ["kotlin"] = { "ktfmt" }, }, formatters = { injected = { options = { ignore_errors = true } },