-
Notifications
You must be signed in to change notification settings - Fork 0
/
so-posh.psm1
74 lines (68 loc) · 1.44 KB
/
so-posh.psm1
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
. "$PSScriptRoot\settings.ps1"
# Import all autoloaded modules.
$script:SoPoshAutoloadModules | % {
if ($_ -is [Hashtable]) {
$moduleName = $_.Name
$modulePrefix = $_.Prefix
} else {
$moduleName = $_
$modulePrefix = ""
}
Write-Verbose "Importing module $moduleName"
Import-Module $moduleName -Global
}
# Loads a single plugin.
function Import-PoshPlugin($Plugin) {
if ("" -eq [System.IO.Path]::GetDirectoryName($Plugin)) {
$Plugin = "$Plugin\$Plugin"
}
$scriptPath = Join-Path $PSScriptRoot "plugins\$Plugin.ps1"
Write-Verbose "Loading plugin at $scriptPath"
if ([System.IO.File]::Exists($scriptPath)) {
. $scriptPath
}
}
# Import all autoloaded plugins.
try {
pushd $PSScriptRoot
foreach ($plugin in $script:SoPoshPlugins) {
. Import-PoshPlugin $plugin
}
} finally {
popd
}
Export-ModuleMember `
-Function @(
':1234'
':3000'
':3001'
':80'
':8000'
':8888'
'Add-SoPoshModuleToProfile'
'Edit-Profile'
'Get-PR'
'Invoke-Devenv'
'Invoke-ILdasm'
'Invoke-InDir'
'Invoke-MSBuild'
'Invoke-Shortcut'
'Invoke-VsCode'
'Move-EnvPathVariable'
'New-Gitignore'
'New-Notification'
'New-SoPoshModule'
'New-SuccessNotification'
'Register-Theme'
'Remove-EnvPathDuplicates'
'Remove-EnvPathVariable'
'Set-ActiveTheme'
'Show-CommandDetails'
'Update-Profile'
) `
-Alias @(
'devenv'
'gig'
'ildasm'
'msbuild'
)