1
0
mirror of https://github.com/SpaceVim/SpaceVim.git synced 2025-01-24 02:30:05 +08:00
SpaceVim/docs/layers/lang/kotlin.md
Russell 27c0f5585c
docs(kotlin): update doc for kotlin layer
Signed-off-by: Russell Richardson <admin@russ.network>
2022-03-22 12:07:12 +08:00

2.4 KiB

title description
SpaceVim lang#kotlin layer This layer adds Kotlin language support to SpaceVim, including syntax highlighting, code runner and REPL support.

Available Layers >> lang#kotlin

Description

This layer adds Kotlin language support to SpaceVim.

Features

  • syntax highlighting
  • lsp support (require lsp layer)
  • code runner
  • REPL support

Install

To use this configuration layer, update your custom configuration file with:

[[layers]]
  name = "lang#kotlin"

To enable language server protocol, you need to install:

https://github.com/fwcd/KotlinLanguageServer

Layer options

  • enable-native-support: Enable/Disable kotlin native support, disabled by default.

When native support is enabled, the code runner will use kotlinc-native, otherwise it will use kotlinc-jvm.

Key bindings

Inferior REPL process

Start a kotlinc-jvm inferior REPL process with SPC l s i.

Send code to inferior process commands:

Key Bindings Descriptions
SPC l s b send buffer and keep code buffer focused
SPC l s l send line and keep code buffer focused
SPC l s s send selection text and keep code buffer focused

Running current file

To run the current file, you can press SPC l r to run the current file without losing focus, and the result will be shown in a runner buffer.

Language Server Protocol

To enable lsp support for kotlin, you need to load the lsp layer, and include kotlin filetype:

[[layers]]
  name = 'lsp'
  filetypes = [
    'kotlin',
  ]

The default language server command for kotlin is kotlin-language-server. If the language server command is not in your $PATH, you can override the kotlin language server command via:

[[layers]]
  name = 'lsp'
  filetypes = [
    'kotlin',
  ]
  [layers.override_cmd]
    kotlin = ['path/to/kotlin-language-server']