48 lines
1.8 KiB
Plaintext
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!")
|