TxdDockerUtils.psm1
function Add-DockerWebsite(){ invoke-expression "Add-DockerWebsite.sh" } function Move-DockerProject(){ Param ( $path ) invoke-expression "Move-DockerProject.sh $path" } function Update-DockerWebsiteList(){ invoke-expression "update_site_list.sh" } function Update-DockerHostFile(){ invoke-expression "update_hosts_file.sh" } $moveproject_block = { param($commandName,$parameterName, $wordToComplete) $dockerEnv = Get-DockerEnv $subfolder = "" $matchingWord = $wordToComplete if($wordToComplete.Length -eq 0){ $subfolder = "" }else{ if($wordToComplete -match '(.*)\/(.*)'){ $subfolder = $Matches.1 $matchingWord = $Matches.2 } } $fullpath = (join-path $dockerEnv.WEBSITE_INTERNAL_MIGRATION_PATH $subfolder) $list = Get-ChildItem -directory $fullpath | ForEach-Object {$_.Name} if($matchingWord.Length -gt 0 ){ $list = $list | Select-String -Pattern $matchingWord } $list | Sort-Object | ForEach-Object { if($subfolder.Length -eq 0){ $fullParam = (Join-path $_ "/") -replace "\\", "/" }else{ $fullParam = (Join-path $subfolder $_ "/") -replace "\\", "/" } New-Object -Type System.Management.Automation.CompletionResult -ArgumentList $fullParam, $_, "ParameterValue", $fullParam } } Register-ArgumentCompleter -CommandName Move-DockerProject -ParameterName "path" -ScriptBlock $moveproject_block Export-ModuleMember -Function Add-DockerWebsite, Update-DockerWebsiteList, Update-DockerHostFile, Move-DockerProject -Alias * |