mirror of
https://github.com/ChrisTitusTech/winutil.git
synced 2025-01-16 01:40:35 -06:00
55 lines
2.4 KiB
PowerShell
55 lines
2.4 KiB
PowerShell
function Do-PreProcessing {
|
|
param (
|
|
[Parameter(Mandatory, position=0)]
|
|
[string]$ProgressStatusMessage,
|
|
|
|
[Parameter(position=1)]
|
|
[string]$ProgressActivity = "Pre-Processing"
|
|
)
|
|
|
|
# We could do Pre-processing on this script file, but by excluding it.. we could possible weird behavior,
|
|
# like future runs of this tool being different then previous ones, as the script has modified it self before one or more times.
|
|
#
|
|
# Note:
|
|
# There's way too many possible edge cases, not to mention there's no Unit Testing for these tools.. which's a Good Recipe for a Janky/Sensitive Script.
|
|
# Also, the '.\' isn't necessary, I just like adding them :D (You can remove it, and it should work just fine)
|
|
$excludedFiles = @('.\.git\', '.\.gitignore', '.\.gitattributes', '.\.github\CODEOWNERS', '.\LICENSE', '.\winutil.ps1', '.\tools\Do-PreProcessing.ps1', '.\docs\changelog.md', '*.png', '*.jpg', '*.jpeg', '*.exe')
|
|
|
|
$files = Get-ChildItem $sync.PSScriptRoot -Recurse -Exclude $excludedFiles -Attributes !Directory
|
|
$numOfFiles = $files.Count
|
|
|
|
for ($i = 0; $i -lt $numOfFiles; $i++) {
|
|
$file = $files[$i]
|
|
|
|
# Make sure the file isn't in Excluded Files List
|
|
$fileIsExcluded = $False
|
|
for ($j = 0; $j -lt $excludedFiles.Count; $j++) {
|
|
$excluded = $excludedFiles[$j]
|
|
$strToCompare = ($excluded) -replace ('^\.\\', '')
|
|
if ($file.FullName.Contains("$strToCompare")) {
|
|
$fileIsExcluded = $True
|
|
break
|
|
}
|
|
}
|
|
|
|
if ($fileIsExcluded) {
|
|
continue
|
|
}
|
|
|
|
# TODO:
|
|
# make more formatting rules, and document them in WinUtil Official Documentation
|
|
(Get-Content -Raw "$file").TrimEnd() `
|
|
-replace ('\t', ' ') `
|
|
-replace ('\)\{', ') {') `
|
|
-replace ('\)\r?\n\s*{', ') {') `
|
|
-replace ('Try(\s*)?\{', 'try {') `
|
|
-replace ('try\r?\n\s*\{', 'try {') `
|
|
-replace ('}\r?\n\s*catch', '} catch') `
|
|
-replace ('\}(\s*)?Catch', '} catch') `
|
|
| Set-Content "$file"
|
|
Write-Progress -Activity $ProgressActivity -Status "$ProgressStatusMessage - Finished $i out of $numOfFiles" -PercentComplete (($i/$numOfFiles)*100)
|
|
}
|
|
|
|
Write-Progress -Activity $ProgressActivity -Status "$ProgressStatusMessage - Finished Task Successfully" -Completed
|
|
}
|