wtw.psm1
|
# wtw — Git Worktree + Workspace Manager # Module loader: dot-source public/ and private/ functions $dotSourceParams = @{ Filter = '*.ps1' Recurse = $true ErrorAction = 'Stop' } $public = @(Get-ChildItem -Path (Join-Path -Path $PSScriptRoot -ChildPath 'public') @dotSourceParams) $private = @() $privatePath = Join-Path -Path $PSScriptRoot -ChildPath 'private' if (Test-Path $privatePath) { $private = @(Get-ChildItem -Path $privatePath @dotSourceParams) } foreach ($import in @($public + $private)) { try { . $import.FullName } catch { throw "Unable to dot source [$($import.FullName)]" } } Export-ModuleMember -Function $public.BaseName Set-Alias -Name wtw -Value Invoke-Wtw -Scope Global -Force Export-ModuleMember -Alias wtw # Load tab completion $completionPath = Join-Path $PSScriptRoot 'completions' 'wtw.auto-completion.ps1' if (Test-Path $completionPath) { . $completionPath } |