@@ -19,7 +19,7 @@ import path from 'path';
1919import { JarClassContentProvider } from './jarClassContentProvider' ;
2020import { ServerDownloader } from './serverDownloader' ;
2121import { fsExists } from './util/fsUtils' ;
22- import { LOG } from './util/logger' ;
22+ import { logger } from './util/logger' ;
2323import { correctBinname , correctScriptName , isOSUnixoid } from './util/osUtils' ;
2424import { Status } from './util/status' ;
2525
@@ -29,7 +29,7 @@ export async function activateLanguageServer(
2929 status : Status ,
3030 config : WorkspaceConfiguration ,
3131) {
32- LOG . info ( 'Activating Kotlin Language Server...' ) ;
32+ logger . info ( 'Activating Kotlin Language Server...' ) ;
3333 status . update ( 'Activating Kotlin Language Server...' ) ;
3434
3535 // Prepare language server
@@ -51,7 +51,9 @@ export async function activateLanguageServer(
5151 await langServerDownloader . downloadServerIfNeeded ( status ) ;
5252 } catch ( error ) {
5353 await window . showWarningMessage (
54- `Could not update/download Kotlin Language Server: ${ error } ` ,
54+ `Could not update/download Kotlin Language Server: ${ (
55+ error as Error
56+ ) . toString ( ) } `,
5557 ) ;
5658 return ;
5759 }
@@ -66,7 +68,7 @@ export async function activateLanguageServer(
6668 return ;
6769 }
6870
69- const outputChannel = window . createOutputChannel ( 'Kotlin ' ) ;
71+ const outputChannel = window . createOutputChannel ( 'kotlin-language-server ' ) ;
7072 context . subscriptions . push ( outputChannel ) ;
7173
7274 const transportLayer = config . get ( 'languageServer.transport' ) ;
@@ -76,11 +78,11 @@ export async function activateLanguageServer(
7678 if ( transportLayer === 'tcp' ) {
7779 tcpPort = config . get < number > ( 'languageServer.port' ) ! ;
7880
79- LOG . info ( `Connecting via TCP, port: ${ tcpPort } ` ) ;
81+ logger . info ( `Connecting via TCP, port: ${ tcpPort } ` ) ;
8082 } else if ( transportLayer === 'stdio' ) {
81- LOG . info ( 'Connecting via Stdio.' ) ;
83+ logger . info ( 'Connecting via Stdio.' ) ;
8284 } else {
83- LOG . info ( `Unknown transport layer: ${ transportLayer } ` ) ;
85+ logger . info ( `Unknown transport layer: ${ transportLayer as string } ` ) ;
8486 }
8587
8688 status . dispose ( ) ;
@@ -107,17 +109,20 @@ export async function activateLanguageServer(
107109 workspace . registerTextDocumentContentProvider ( 'kls:file' , contentProvider ) ,
108110 ) ;
109111 context . subscriptions . push (
110- commands . registerCommand ( 'kotlin.languageServer.restart' , async ( ) => {
111- await languageClient . stop ( ) ;
112- languageClientDisposable . dispose ( ) ;
113-
114- outputChannel . appendLine ( '' ) ;
115- outputChannel . appendLine ( ' === Language Server Restart ===' ) ;
116- outputChannel . appendLine ( '' ) ;
117-
118- languageClientDisposable = languageClient . start ( ) ;
119- context . subscriptions . push ( languageClientDisposable ) ;
120- } ) ,
112+ commands . registerCommand (
113+ 'kotlin.languageServer.restart' ,
114+ logger . asyncCatch ( async ( ) => {
115+ await languageClient . stop ( ) ;
116+ languageClientDisposable . dispose ( ) ;
117+
118+ outputChannel . appendLine ( '' ) ;
119+ outputChannel . appendLine ( ' === Language Server Restart ===' ) ;
120+ outputChannel . appendLine ( '' ) ;
121+
122+ languageClientDisposable = languageClient . start ( ) ;
123+ context . subscriptions . push ( languageClientDisposable ) ;
124+ } ) ,
125+ ) ,
121126 ) ;
122127
123128 await languageClient . onReady ( ) ;
@@ -176,7 +181,7 @@ function createLanguageClient(options: {
176181 env : options . env ,
177182 } , // TODO: Support multi-root workspaces (and improve support for when no available is available)
178183 } ;
179- LOG . info ( ' Creating client at {}' , options . startScriptPath ) ;
184+ logger . info ( ` Creating client at ${ options . startScriptPath } ` ) ;
180185 }
181186
182187 return new LanguageClient (
@@ -193,9 +198,9 @@ export function spawnLanguageServerProcessAndConnectViaTcp(options: {
193198 tcpPort ?: number ;
194199} ) : Promise < StreamInfo > {
195200 return new Promise ( ( resolve , reject ) => {
196- LOG . info ( 'Creating server.' ) ;
201+ logger . info ( 'Creating server.' ) ;
197202 const server = net . createServer ( ( socket ) => {
198- LOG . info ( 'Closing server since client has connected.' ) ;
203+ logger . info ( 'Closing server since client has connected.' ) ;
199204 server . close ( ) ;
200205 resolve ( { reader : socket , writer : socket } ) ;
201206 } ) ;
@@ -206,14 +211,12 @@ export function spawnLanguageServerProcessAndConnectViaTcp(options: {
206211 '--tcpClientPort' ,
207212 tcpPort ,
208213 ] ) ;
209- LOG . info (
210- 'Creating client at {} via TCP port {}' ,
211- options . startScriptPath ,
212- tcpPort ,
214+ logger . info (
215+ `Creating client at ${ options . startScriptPath } via TCP port ${ tcpPort } ` ,
213216 ) ;
214217
215218 const outputCallback = ( data : any ) =>
216- options . outputChannel . append ( `${ data } ` ) ;
219+ options . outputChannel . append ( `${ data as string } ` ) ;
217220 proc . stdout . on ( 'data' , outputCallback ) ;
218221 proc . stderr . on ( 'data' , outputCallback ) ;
219222 proc . on ( 'exit' , ( code , sig ) =>
@@ -233,7 +236,7 @@ async function findJavaExecutable(rawBinname: string): Promise<string> {
233236 const userJavaHome = workspace . getConfiguration ( 'java' ) . get < string > ( 'home' ) ;
234237
235238 if ( userJavaHome ) {
236- LOG . debug ( ' Looking for Java in java.home (settings): {}' , userJavaHome ) ;
239+ logger . debug ( ` Looking for Java in java.home (settings): ${ userJavaHome } ` ) ;
237240
238241 const candidate = await findJavaExecutableInJavaHome ( userJavaHome , binname ) ;
239242
@@ -246,9 +249,8 @@ async function findJavaExecutable(rawBinname: string): Promise<string> {
246249 const envJavaHome = process . env [ 'JAVA_HOME' ] ;
247250
248251 if ( envJavaHome ) {
249- LOG . debug (
250- 'Looking for Java in JAVA_HOME (environment variable): {}' ,
251- envJavaHome ,
252+ logger . debug (
253+ `Looking for Java in JAVA_HOME (environment variable): ${ envJavaHome } ` ,
252254 ) ;
253255
254256 const candidate = await findJavaExecutableInJavaHome ( envJavaHome , binname ) ;
@@ -260,7 +262,7 @@ async function findJavaExecutable(rawBinname: string): Promise<string> {
260262
261263 // Then search PATH parts
262264 if ( process . env [ 'PATH' ] ) {
263- LOG . debug ( 'Looking for Java in PATH' ) ;
265+ logger . debug ( 'Looking for Java in PATH' ) ;
264266
265267 const pathparts = process . env [ 'PATH' ] . split ( path . delimiter ) ;
266268 for ( let i = 0 ; i < pathparts . length ; i ++ ) {
@@ -272,7 +274,7 @@ async function findJavaExecutable(rawBinname: string): Promise<string> {
272274 }
273275
274276 // Else return the binary name directly (this will likely always fail downstream)
275- LOG . debug ( 'Could not find Java, will try using binary name directly' ) ;
277+ logger . debug ( 'Could not find Java, will try using binary name directly' ) ;
276278 return binname ;
277279}
278280
@@ -289,6 +291,4 @@ async function findJavaExecutableInJavaHome(
289291 return binpath ;
290292 }
291293 }
292-
293- return ;
294294}
0 commit comments