File tree Expand file tree Collapse file tree 2 files changed +62
-0
lines changed
Expand file tree Collapse file tree 2 files changed +62
-0
lines changed Original file line number Diff line number Diff line change 1+ $commandsPath = Join-Path $PSScriptRoot Commands
2+ [include (' *-*' )]$commandsPath
3+
4+ $myModule = $MyInvocation.MyCommand.ScriptBlock.Module
5+ $ExecutionContext.SessionState.PSVariable.Set ($myModule.Name , $myModule )
6+ $myModule.pstypenames.insert (0 , $myModule.Name )
7+
8+ New-PSDrive - Name $MyModule.Name - PSProvider FileSystem - Scope Global - Root $PSScriptRoot - ErrorAction Ignore
9+
10+ if ($home ) {
11+ $MyModuleProfileDirectory = Join-Path ([Environment ]::GetFolderPath(" LocalApplicationData" )) $MyModule.Name
12+ if (-not (Test-Path $MyModuleProfileDirectory )) {
13+ $null = New-Item - ItemType Directory - Path $MyModuleProfileDirectory - Force
14+ }
15+ New-PSDrive - Name " My$ ( $MyModule.Name ) " - PSProvider FileSystem - Scope Global - Root $MyModuleProfileDirectory - ErrorAction Ignore
16+ }
17+
18+ # Set a script variable of this, set to the module
19+ # (so all scripts in this scope default to the correct `$this`)
20+ $script :this = $myModule
21+
22+ # region Custom
23+ # endregion Custom
24+
25+ Export-ModuleMember - Alias * - Function * - Variable $myModule.Name
26+
Original file line number Diff line number Diff line change 1+ $commandsPath = Join-Path $PSScriptRoot Commands
2+ :ToIncludeFiles foreach ($file in (Get-ChildItem - Path " $commandsPath " - Filter " *-*" - Recurse)) {
3+ if ($file.Extension -ne ' .ps1' ) { continue } # Skip if the extension is not .ps1
4+ foreach ($exclusion in ' \.[^\.]+\.ps1$' ) {
5+ if (-not $exclusion ) { continue }
6+ if ($file.Name -match $exclusion ) {
7+ continue ToIncludeFiles # Skip excluded files
8+ }
9+ }
10+ . $file.FullName
11+ }
12+
13+ $myModule = $MyInvocation.MyCommand.ScriptBlock.Module
14+ $ExecutionContext.SessionState.PSVariable.Set ($myModule.Name , $myModule )
15+ $myModule.pstypenames.insert (0 , $myModule.Name )
16+
17+ New-PSDrive - Name $MyModule.Name - PSProvider FileSystem - Scope Global - Root $PSScriptRoot - ErrorAction Ignore
18+
19+ if ($home ) {
20+ $MyModuleProfileDirectory = Join-Path ([Environment ]::GetFolderPath(" LocalApplicationData" )) $MyModule.Name
21+ if (-not (Test-Path $MyModuleProfileDirectory )) {
22+ $null = New-Item - ItemType Directory - Path $MyModuleProfileDirectory - Force
23+ }
24+ New-PSDrive - Name " My$ ( $MyModule.Name ) " - PSProvider FileSystem - Scope Global - Root $MyModuleProfileDirectory - ErrorAction Ignore
25+ }
26+
27+ # Set a script variable of this, set to the module
28+ # (so all scripts in this scope default to the correct `$this`)
29+ $script :this = $myModule
30+
31+ # region Custom
32+ # endregion Custom
33+
34+ Export-ModuleMember - Alias * - Function * - Variable $myModule.Name
35+
36+
You can’t perform that action at this time.
0 commit comments