aboutsummaryrefslogtreecommitdiff
path: root/run.sh
diff options
context:
space:
mode:
author魏曹先生 <1992414357@qq.com>2026-07-02 14:57:31 +0800
committer魏曹先生 <1992414357@qq.com>2026-07-02 14:57:31 +0800
commit1eb45c9c4afc631cfc97dd78ada1ab797627dec4 (patch)
treefe4e925e682b17e20ac6bae0edbfcb4a0e4289b1 /run.sh
parent0c1a2d15f119bf4c11303ff9aecc9e69a6b3a2ad (diff)
feat: add support for running binary executables
Add detection and execution of standalone binary files (without extensions in shell, with .exe in PowerShell) to the tool runner
Diffstat (limited to 'run.sh')
-rw-r--r--run.sh14
1 files changed, 14 insertions, 0 deletions
diff --git a/run.sh b/run.sh
index 62e08ac..1d58ffa 100644
--- a/run.sh
+++ b/run.sh
@@ -32,6 +32,15 @@ for file in .run/src/bin/*.sh; do
fi
done
+for file in .run/src/bin/*; do
+ if [ -f "$file" ]; then
+ name=$(basename "$file")
+ if [[ ! "$name" == *.* ]]; then
+ tools["$name"]="binary"
+ fi
+ fi
+done
+
if [ $# -eq 0 ]; then
sorted_names=($(echo "${!tools[@]}" | tr ' ' '\n' | sort))
total=${#sorted_names[@]}
@@ -63,6 +72,7 @@ if [ $# -eq 0 ]; then
py) lang="Python";;
rs) lang="Rust";;
sh) lang="Shell";;
+ binary) lang="Binary";;
esac
entry=$(printf " %-*d) %-*s [%s]" $num_w $i $max_name $name $lang)
printf "│%-*s│\n" $inner_w "$entry"
@@ -145,4 +155,8 @@ CSPROJ
cp ".run/src/bin/$target_name.cs" "$temp_dir/Program.cs"
dotnet run --project "$temp_dir/$target_name.csproj" -- "$@"
;;
+ binary)
+ chmod +x ".run/src/bin/$target_name"
+ ".run/src/bin/$target_name" "$@"
+ ;;
esac