@@ -22,6 +22,8 @@ import { fs, globals, ToolkitError } from '../../shared'
2222import { isWeb } from '../../shared/extensionGlobals'
2323import { getUserAgent } from '../../shared/telemetry/util'
2424import { isAmazonInternalOs } from '../../shared/vscode/env'
25+ //import * as nls from 'vscode-nls'
26+ //const localize = nls.loadMessageBundle()
2527
2628export interface Chunk {
2729 readonly filePath : string
@@ -219,13 +221,15 @@ export class LspController {
219221 return true
220222 }
221223
222- async tryInstallLsp ( context : vscode . ExtensionContext ) : Promise < boolean > {
224+ async tryInstallLsp ( context : vscode . ExtensionContext , forceReset = false ) : Promise < boolean > {
225+ let status = undefined
223226 let tempFolder = undefined
224227 try {
225- if ( await this . isLspInstalled ( context ) ) {
228+ if ( ( await this . isLspInstalled ( context ) ) && ! forceReset ) {
226229 getLogger ( ) . info ( `LspController: LSP already installed` )
227230 return true
228231 }
232+ status = vscode . window . setStatusBarMessage ( 'LspController: Installing LSP ...' )
229233 // clean up previous downloaded LSP
230234 const qserverPath = context . asAbsolutePath ( path . join ( 'resources' , 'qserver' ) )
231235 if ( await fs . exists ( qserverPath ) ) {
@@ -265,6 +269,7 @@ export class LspController {
265269 }
266270 await fs . chmod ( nodeRuntimeTempPath , 0o755 )
267271 await fs . rename ( nodeRuntimeTempPath , nodeRuntimePath )
272+ getLogger ( ) . info ( `LspController: LSP successfully installed` )
268273 return true
269274 } catch ( e ) {
270275 getLogger ( ) . error ( `LspController: Failed to setup LSP server ${ e } ` )
@@ -274,6 +279,9 @@ export class LspController {
274279 if ( tempFolder ) {
275280 await tryRemoveFolder ( tempFolder )
276281 }
282+ if ( status ) {
283+ status . dispose ( )
284+ }
277285 }
278286 }
279287
0 commit comments