From 128f460e79e3b598e3112574df8b19051d672057 Mon Sep 17 00:00:00 2001 From: Markus Fleschutz Date: Sat, 5 Aug 2023 11:47:26 +0200 Subject: [PATCH] Update write-code.ps1 --- Scripts/write-code.ps1 | 78 ++++++++++++++++++++++-------------------- 1 file changed, 40 insertions(+), 38 deletions(-) diff --git a/Scripts/write-code.ps1 b/Scripts/write-code.ps1 index 661d21c0..abf7c7fb 100755 --- a/Scripts/write-code.ps1 +++ b/Scripts/write-code.ps1 @@ -1,61 +1,63 @@ -<#PSScriptInfo -.VERSION 1.0 -.GUID 3bb10ee7-38c1-41b9-88ea-16899164fc19 -.AUTHOR Markus Fleschutz -.COPYRIGHT CC0 -#> - -<# +<# .SYNOPSIS Writes code .DESCRIPTION - This PowerShell script generates and writes PowerShell code on the console (for fun). + This PowerShell script generates and writes PowerShell code on the console (no AI, just for fun). .PARAMETER color - Specifies the color to use ("green" by default) + Specifies the text color to use ("green" by default) .PARAMETER speed Specifies the speed in milliseconds per code line (500 by default) .EXAMPLE - PS> ./write-code + PS> ./write-code.ps1 + try { + ... .LINK https://github.com/fleschutz/PowerShell #> param([string]$color = "green", [int]$speed = 500) # milliseconds +[string]$global:Tabs = "" + function GetRandomCodeLine { $Generator = New-Object System.Random - $Num = [int]$Generator.next(0, 25) + $Num = [int]$Generator.next(0, 31) switch($Num) { - 0 { return " `$count = 0" } - 1 { return " `$count++" } - 2 { return " exit 0 # success" } - 3 { return " `$Files = Get-ChildItem C:" } - 4 { return " Start-Sleep -seconds 1" } - 5 { return " `$Generator = New-Object System-Random" } - 6 { return "} else {" } - 7 { return "} catch {" } - 8 { return "} elseif (`$count -eq 0) {" } - 9 { return " Write-Host `"Hello World`" " } - 10 { return " while (`$true) {" } - 11 { return "# next part:" } - 12 { return " exit 1 # failed" } - 13 { return " return 1" } - 14 { return " return 0" } - 15 { return " Write-Progress `"Working...`" " } - 16 { return " [bool]`$KeepAlive = `$true" } - 17 { return "# Copyright © 2022 write-code.ps1. All Rights Reserved." } - 18 { return " for ([int]`$i = 0; `$i -lt 100; `$i++) {" } - 19 { return " `$StopWatch = [system.diagnostics.stopwatch]::startNew()" } - 20 { return " [int]`$Elapsed = `$StopWatch.Elapsed.TotalSeconds" } - 21 { return " if (`$count -eq 0) { `$count = Read-Host `"Enter number of iterations`" " } - 22 { return " } finally {" } - 23 { return " throw `"Can't open file`" " } - 24 { return " Start-Sleep -milliseconds 50" } + 0 { return $Tabs + "`$count = 0" } + 1 { return $Tabs + "`$count++" } + 2 { return $Tabs + "exit 0 # success" } + 3 { return $Tabs + "`$Files = Get-ChildItem C:" } + 4 { return $Tabs + "Start-Sleep -seconds 1" } + 5 { return $Tabs + "`$Generator = New-Object System-Random" } + 6 { $global:Tabs = " "; return "} else {" } + 7 { $global:Tabs = " "; return "} catch {" } + 8 { $global:Tabs = " "; return "} elseif (`$count -eq 0) {" } + 9 { return $Tabs + "Write-Host `"Hello World`" " } + 10 { $global:Tabs = " "; return "while (`$true) {" } + 11 { return $Tabs + "# next part:" } + 12 { return $Tabs + "exit 1 # failed" } + 13 { return $Tabs + "return 1" } + 14 { return $Tabs + "return 0" } + 15 { return $Tabs + "Write-Progress `"Working...`" " } + 16 { return $Tabs + "[bool]`$KeepAlive = `$true" } + 17 { return $Tabs + "# Copyright © 2023 write-code.ps1. All Rights Reserved." } + 18 { $global:Tabs = " "; return "for ([int]`$i = 0; `$i -lt 42; `$i++) {" } + 19 { return $Tabs + "`$StopWatch = [system.diagnostics.stopwatch]::startNew()" } + 20 { return $Tabs + "[int]`$Elapsed = `$StopWatch.Elapsed.TotalSeconds" } + 21 { $global:Tabs = " "; return "if (`$count -eq 42) {" } + 22 { $global:Tabs = " "; return "} finally {" } + 23 { return $Tabs + "throw `"Can't open file`" " } + 24 { return $Tabs + "Start-Sleep -milliseconds 42" } + 25 { return $Tabs + "`$Choice = Read-Host `"Red or blue pill?`"" } + 26 { return $Tabs + "[int]`$Answer = 42" } + 27 { $global:Tabs = ""; return "}" } + 28 { $global:Tabs = " "; return "try {" } + 29 { $global:Tabs = " "; return "foreach(`$Row in `$Table) {" } + 30 { $global:Tabs = " "; return "foreach(`$File in `$Files) {" } } } try { - Write-Host -foreground $color "try {" while ($true) { Write-Host -foreground $color "$(GetRandomCodeLine)" Start-Sleep -milliseconds $speed