@@ -4,7 +4,11 @@ import Window = vscode.window;
4
4
import QuickPickItem = vscode . QuickPickItem ;
5
5
6
6
export namespace FindModuleRequest {
7
- export const type : RequestType < any , any , void > = { get method ( ) { return 'powerShell/findModule' ; } } ;
7
+ export const type : RequestType < any , any , void > = { get method ( ) { return 'powerShell/findModule' ; } } ;
8
+ }
9
+
10
+ export namespace InstallModuleRequest {
11
+ export const type : RequestType < string , void , void > = { get method ( ) { return 'powerShell/InstallModule' ; } } ;
8
12
}
9
13
10
14
function GetCurrentTime ( ) {
@@ -27,21 +31,24 @@ export function registerPowerShellFindModuleCommand(client: LanguageClient): voi
27
31
var items : QuickPickItem [ ] = [ ] ;
28
32
29
33
vscode . window . setStatusBarMessage ( GetCurrentTime ( ) + " Querying PowerShell Gallery" ) ;
30
-
31
- client . sendRequest ( FindModuleRequest . type , null ) . then ( ( modules ) => {
32
- for ( var i = 0 ; i < modules . moduleList . length ; i ++ ) {
33
- var module = modules . moduleList [ i ] ;
34
- items . push ( { label : module . name , description : module . description } ) ;
35
- }
34
+ client . sendRequest ( FindModuleRequest . type , null ) . then ( ( modules ) => {
35
+ for ( var i = 0 ; i < modules . moduleList . length ; i ++ ) {
36
+ var module = modules . moduleList [ i ] ;
37
+ items . push ( { label : module . name , description : module . description } ) ;
38
+ }
36
39
37
40
vscode . window . setStatusBarMessage ( "" ) ;
38
- Window . showQuickPick ( items ) . then ( ( selection ) => {
39
- switch ( selection . label ) {
40
- default :
41
- var message = "Installing PowerShell Module " + selection . label ;
42
- vscode . window . setStatusBarMessage ( message , 1500 ) ;
43
- }
44
- } ) ;
45
- } ) ;
41
+ Window . showQuickPick ( items ) . then ( ( selection ) => {
42
+ if ( ! selection ) { return ; }
43
+ switch ( selection . label ) {
44
+ default :
45
+ var moduleName = selection . label ;
46
+
47
+ vscode . window . setStatusBarMessage ( "Installing PowerShell Module " + moduleName , 1500 ) ;
48
+
49
+ client . sendRequest ( InstallModuleRequest . type , moduleName ) ;
50
+ }
51
+ } ) ;
52
+ } ) ;
46
53
} ) ;
47
54
}
0 commit comments