[CmdletBinding(SupportsShouldProcess)]param( [ArgumentCompleter({ param ( $commandName, $parameterName, $wordToComplete, $commandAst, $fakeBoundParameters ) [DockerComposeDirs]::_GetValidValues($wordToComplete,$true) })] [string[]]$ProjectPath=@($PWD), [switch]$Force, [string[]]$AdditionalFiles ) $local:editCandidates = @('docker-compose.yml','.base.docker-compose.yml') $local:editFiles = @() foreach( $local:fileName in $EditCandidates ) { foreach( $local:path in $ProjectPath ) { $local:testPath = Join-Path $path $fileName if( $Force -or $(Test-Path $testPath) ) { $editFiles += $testPath } } } Edit-TextFile ($($editFiles | Sort-Object) + $AdditionalFiles) $editFiles | Select-Object -First 1 | ForEach-Object { docker-compose --file $(Resolve-Path $_) config -q }