package Ġorg . jav acs . kt Ċ Ċ import Ġjava . util . concurrent . Executors Ċ import Ġorg . eclipse . lsp 4 j . launch . L SP Launcher Ċ import Ġorg . eclipse . lsp 4 j . Configuration Params Ċ import Ġorg . eclipse . lsp 4 j . Configuration Item Ċ import Ġorg . jav acs . kt . util . Exit ing InputStream Ċ Ċ fun Ġmain ( args : ĠArray < String >) Ġ{ ĊĠĠĠ Ġ// ĠRedirect Ġjava . util . logging Ġcalls Ġ( e . g . Ġfrom ĠL SP 4 J ) ĊĠĠĠ ĠLOG . connect J UL Frontend () ĊĠĠĠĠĊĠĠĠ Ġval Ġserver Ġ= ĠKotlin Language Server () ĊĠĠĠ Ġval Ġinput Ġ= ĠExit ing InputStream ( System .` in `) ĊĠĠĠ Ġval Ġthreads Ġ= ĠExec utors . new Single Thread Executor Ġ{ ĠThread ( it , Ġ" client ") Ġ} ĊĠĠĠ Ġval Ġlauncher Ġ= ĠL SP Launcher . create Server Launcher ( server , Ġinput , ĠSystem . out , Ġthreads , Ġ{ Ġit Ġ}) ĊĠĠĠĠĊĠĠĠ Ġval Ġscope Ġ= ĠConfiguration Item (). apply Ġ{ ĊĠĠĠĠĠĠĠ Ġsection Ġ= Ġ" kotlin " ĊĠĠĠ Ġ} ĊĠĠĠ Ġlauncher . remote Proxy . configuration ( Configuration Params ( listOf ( scope ))) ĊĠĠĠĠĊĠĠĠ Ġserver . connect ( launcher . remote Proxy ) ĊĠĠĠ Ġlauncher . start Listening () Ċ } Ċ