aboutsummaryrefslogtreecommitdiff
path: root/run-tools.ps1
diff options
context:
space:
mode:
Diffstat (limited to 'run-tools.ps1')
-rw-r--r--run-tools.ps151
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"