Handlers/PowerShellGet.ps1

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
## Modules
Register-TabExpansion "Get-InstalledModule" -Type "Command" {
    param($Context, [ref]$TabExpansionHasOutput)
    $Argument = $Context.Argument
    switch -exact ($Context.Parameter) {
        'Name' {
            $Parameters = @{}
            $Modules = @(Get-InstalledModule "$Argument*" @Parameters | Sort-Object Name)
            if ($Modules.Count -gt 0) {
                $TabExpansionHasOutput.Value = $true
                $Modules | New-TabItem -Value {$_.Name} -Text {$_.Name} -ResultType ParameterValue
            }
        }
    }
}.GetNewClosure()

Register-TabExpansion "Uninstall-Module" -Type "Command" {
    param($Context, [ref]$TabExpansionHasOutput)
    $Argument = $Context.Argument
    switch -exact ($Context.Parameter) {
        'Name' {
            $Parameters = @{}
            $Modules = @(Get-InstalledModule "$Argument*" @Parameters | Sort-Object Name)
            if ($Modules.Count -gt 0) {
                $TabExpansionHasOutput.Value = $true
                $Modules | New-TabItem -Value {$_.Name} -Text {$_.Name} -ResultType ParameterValue
            }
        }
    }
}.GetNewClosure()

Register-TabExpansion "Update-Module" -Type "Command" {
    param($Context, [ref]$TabExpansionHasOutput)
    $Argument = $Context.Argument
    switch -exact ($Context.Parameter) {
        'Name' {
            $Parameters = @{}
            $Modules = @(Get-InstalledModule "$Argument*" @Parameters | Sort-Object Name)
            if ($Modules.Count -gt 0) {
                $TabExpansionHasOutput.Value = $true
                $Modules | New-TabItem -Value {$_.Name} -Text {$_.Name} -ResultType ParameterValue
            }
        }
    }
}.GetNewClosure()

## PSRepository
Register-TabExpansion "Get-PSRepository" -Type "Command" {
    param($Context, [ref]$TabExpansionHasOutput)
    $Argument = $Context.Argument
    switch -exact ($Context.Parameter) {
        'Name' {
            $Parameters = @{}
            $PSRepositories = @(Get-PSRepository "$Argument*" @Parameters | Sort-Object Name)
            if ($Modules.Count -gt 0) {
                $TabExpansionHasOutput.Value = $true
                $PSRepositories | New-TabItem -Value {$_.Name} -Text {$_.Name} -ResultType ParameterValue
            }
        }
    }
}.GetNewClosure()

Register-TabExpansion "Set-PSRepository" -Type "Command" {
    param($Context, [ref]$TabExpansionHasOutput)
    $Argument = $Context.Argument
    switch -exact ($Context.Parameter) {
        'Name' {
            $Parameters = @{}
            $PSRepositories = @(Get-PSRepository "$Argument*" @Parameters | Sort-Object Name)
            if ($Modules.Count -gt 0) {
                $TabExpansionHasOutput.Value = $true
                $PSRepositories | New-TabItem -Value {$_.Name} -Text {$_.Name} -ResultType ParameterValue
            }
        }
    }
}.GetNewClosure()

Register-TabExpansion "Unregister-PSRepository" -Type "Command" {
    param($Context, [ref]$TabExpansionHasOutput)
    $Argument = $Context.Argument
    switch -exact ($Context.Parameter) {
        'Name' {
            $Parameters = @{}
            $PSRepositories = @(Get-PSRepository "$Argument*" @Parameters | Sort-Object Name)
            if ($Modules.Count -gt 0) {
                $TabExpansionHasOutput.Value = $true
                $PSRepositories | New-TabItem -Value {$_.Name} -Text {$_.Name} -ResultType ParameterValue
            }
        }
    }
}.GetNewClosure()