@@ -252,14 +252,14 @@ export async function findHaskellLanguageServer(
252
252
253
253
// get a preliminary toolchain for finding the correct project GHC version (we need HLS and cabal/stack and ghc as fallback),
254
254
// later we may install a different toolchain that's more project-specific
255
- let latestHLS = await getLatestToolFromGHCup ( context , logger , 'hls' ) ;
256
- let latestCabal = ( workspace . getConfiguration ( 'haskell' ) . get ( 'installCabal' ) as boolean )
255
+ const latestHLS = await getLatestToolFromGHCup ( context , logger , 'hls' ) ;
256
+ const latestCabal = ( workspace . getConfiguration ( 'haskell' ) . get ( 'installCabal' ) as boolean )
257
257
? await getLatestToolFromGHCup ( context , logger , 'cabal' )
258
258
: null ;
259
- let latestStack = ( workspace . getConfiguration ( 'haskell' ) . get ( 'installStack' ) as boolean )
259
+ const latestStack = ( workspace . getConfiguration ( 'haskell' ) . get ( 'installStack' ) as boolean )
260
260
? await getLatestToolFromGHCup ( context , logger , 'stack' )
261
261
: null ;
262
- let recGHC =
262
+ const recGHC =
263
263
! executableExists ( 'ghc' ) && ( workspace . getConfiguration ( 'haskell' ) . get ( 'installGHC' ) as boolean )
264
264
? await getLatestAvailableToolFromGHCup ( context , logger , 'ghc' , 'recommended' )
265
265
: null ;
@@ -283,23 +283,19 @@ export async function findHaskellLanguageServer(
283
283
284
284
// now figure out the project GHC version and the latest supported HLS version
285
285
// we need for it (e.g. this might in fact be a downgrade for old GHCs)
286
- const [ installableHls , projectGhc ] = await getLatestHLS ( context , logger , workingDir , latestToolchainBindir ) ;
287
-
288
- latestHLS = await getLatestToolFromGHCup ( context , logger , 'hls' )
289
- latestCabal = latestCabal ? await getLatestToolFromGHCup ( context , logger , 'cabal' ) : null ;
290
- latestStack = latestStack ? await getLatestToolFromGHCup ( context , logger , 'stack' ) : null ;
286
+ const [ projectHls , projectGhc ] = await getLatestProjectHLS ( context , logger , workingDir , latestToolchainBindir ) ;
291
287
292
288
// now install said version in an isolated symlink directory
293
289
return await callGHCup (
294
290
context ,
295
291
logger ,
296
292
[ 'run'
297
- , '--hls' , installableHls
293
+ , '--hls' , projectHls
298
294
, ...( latestCabal ? [ '--cabal' , latestCabal ] : [ ] )
299
295
, ...( latestStack ? [ '--stack' , latestStack ] : [ ] )
300
296
, ...( ( workspace . getConfiguration ( 'haskell' ) . get ( 'installGHC' ) as boolean ) ? [ '--ghc' , projectGhc ] : [ ] )
301
297
, '--install' ] ,
302
- `Installing project specific toolchain: HLS-${ installableHls } , GHC-${ projectGhc } , cabal-${ latestCabal } , stack-${ latestStack } ` ,
298
+ `Installing project specific toolchain: HLS-${ projectHls } , GHC-${ projectGhc } , cabal-${ latestCabal } , stack-${ latestStack } ` ,
303
299
true
304
300
) ;
305
301
}
@@ -337,7 +333,7 @@ async function callGHCup(
337
333
}
338
334
}
339
335
340
- async function getLatestHLS (
336
+ async function getLatestProjectHLS (
341
337
context : ExtensionContext ,
342
338
logger : Logger ,
343
339
workingDir : string ,
0 commit comments