diff options
Diffstat (limited to 'run-tools.ps1')
| -rw-r--r-- | run-tools.ps1 | 51 |
1 files changed, 33 insertions, 18 deletions
diff --git a/run-tools.ps1 b/run-tools.ps1 index 20c4565..9bea120 100644 --- a/run-tools.ps1 +++ b/run-tools.ps1 @@ -1,31 +1,46 @@ Set-Location -Path (Split-Path -Parent $MyInvocation.MyCommand.Path) -ErrorAction Stop -if ($args.Count -eq 0) { - Write-Host "Available:" - if (Test-Path "dev_tools/src/bin") { - $files = Get-ChildItem -Path "dev_tools/src/bin/*.rs" - foreach ($file in $files) { - if ($file -is [System.IO.FileInfo]) { - Write-Host $file.BaseName - } +# Collect all available tool names +$tools = @() + +if (Test-Path "dev_tools/scripts") { + $scripts = Get-ChildItem -Path "dev_tools/scripts/*.ps1", "dev_tools/scripts/*.py" + foreach ($script in $scripts) { + if ($script -is [System.IO.FileInfo]) { + $tools += $script.BaseName } - } else { - Write-Host "Warning: dev_tools/src/bin directory does not exist" } - if (Test-Path "dev_tools/scripts") { - $scripts = Get-ChildItem -Path "dev_tools/scripts/*.ps1", "dev_tools/scripts/*.py" - foreach ($script in $scripts) { - if ($script -is [System.IO.FileInfo]) { - Write-Host $script.BaseName - } +} +if (Test-Path "dev_tools/src/bin") { + $files = Get-ChildItem -Path "dev_tools/src/bin/*.rs" + foreach ($file in $files) { + if ($file -is [System.IO.FileInfo]) { + $tools += $file.BaseName } - } else { - Write-Host "Warning: dev_tools/scripts directory does not exist" + } +} + +if ($args.Count -eq 0) { + Write-Host "Available:" + for ($i = 0; $i -lt $tools.Count; $i++) { + Write-Host (" [{0,2}] {1}" -f ($i + 1), $tools[$i]) } exit 1 } $target_name = $args[0] + +# Check if input is a number +if ($target_name -match '^\d+$') { + $idx = [int]$target_name - 1 + if ($idx -ge 0 -and $idx -lt $tools.Count) { + $target_name = $tools[$idx] + } else { + Write-Host "Error: invalid number '$target_name', valid range is 1-$($tools.Count)" + exit 1 + } +} + $script_file_ps1 = "dev_tools/scripts/${target_name}.ps1" $script_file_py = "dev_tools/scripts/${target_name}.py" $rust_file = "dev_tools/src/bin/${target_name}.rs" |
