Files
luash/demos/run_demo.luash_
2025-08-29 00:18:21 +01:00

48 lines
1.8 KiB
Plaintext

#!/usr/bin/env luash
-- Demo Runner: Showcase all luash capabilities
print("🚀 Welcome to Luash Demos!")
print("=" .. string.rep("=", 50))
demos = {
{name = "Basic Features", file = "demo_basic.luash", description = "Environment variables, shell commands, and string handling"},
{name = "Quick Examples", file = "demo_quick_examples.luash", description = "Side-by-side comparison with bash"},
{name = "System Administration", file = "demo_system_admin.luash", description = "Real-world sysadmin tasks"},
{name = "Development Workflow", file = "demo_development.luash", description = "Git, building, and deployment automation"},
{name = "Data Processing", file = "demo_data_processing.luash", description = "File processing and text analysis"}
}
print("\nAvailable demos:")
for i = 1, #demos do
print(" " .. i .. ". " .. demos[i].name)
print(" " .. demos[i].description)
end
print("\nEnter demo number (1-" .. #demos .. "), 'all' to run all demos, or 'q' to quit:")
-- In a real interactive version, we'd read input
-- For now, let's run a specific demo or all
demo_choice = "1" -- Change this to test different demos
if demo_choice == "all" then
for i = 1, #demos do
print("\n" .. string.rep("=", 60))
print("Running Demo " .. i .. ": " .. demos[i].name)
print(string.rep("=", 60))
!./luash $demos[i].file
print("\nPress Enter to continue...")
!read
end
elseif tonumber(demo_choice) and tonumber(demo_choice) >= 1 and tonumber(demo_choice) <= #demos then
local choice = tonumber(demo_choice)
print("\n" .. string.rep("=", 60))
print("Running Demo: " .. demos[choice].name)
print(string.rep("=", 60))
!./luash demos[choice].file
else
print("Running basic demo...")
!./luash demo_basic.luash
end
print("\n✨ Thanks for trying Luash!")