Files
windows-install/normalize-line-endings.ps1
2025-09-15 12:42:59 -05:00

60 lines
2.2 KiB
PowerShell

# Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
# Script to normalize line endings in text files
Write-Host "Normalizing line endings in workspace files to LF..." -ForegroundColor Cyan
# Text file extensions to process
$textExtensions = @("*.ps1", "*.txt", "*.json", "*.js", "*.py", "*.csv", "*.md", "*.ini", "*.sh")
# Get all text files
$textFiles = Get-ChildItem -Path $PSScriptRoot -Include $textExtensions -Recurse -File
$count = 0
foreach ($file in $textFiles) {
Write-Host "Processing: $($file.Name)" -ForegroundColor DarkGray
try {
# Read file content with current line endings
$content = Get-Content -Path $file.FullName -Raw -ErrorAction Stop
if ($content) {
# Replace CRLF with LF
$normalizedContent = $content.Replace("`r`n", "`n")
# Check if content was changed
if ($normalizedContent -ne $content) {
# Write back with LF endings
$utf8NoBomEncoding = New-Object System.Text.UTF8Encoding $false
[System.IO.File]::WriteAllText($file.FullName, $normalizedContent, $utf8NoBomEncoding)
Write-Host " - Normalized: $($file.Name)" -ForegroundColor Green
$count++
} else {
Write-Host " - Already has LF endings: $($file.Name)" -ForegroundColor DarkGray
}
}
} catch {
Write-Host " - Error processing $($file.Name): $_" -ForegroundColor Red
}
}
Write-Host "`nNormalization complete! Converted $count files to LF line endings." -ForegroundColor Cyan
# Update your Git configuration for this repository
Write-Host "`nUpdating Git configuration to use LF line endings..." -ForegroundColor Cyan
try {
# Ensure Git uses LF in the repo
& git config core.eol lf
& git config core.autocrlf false
Write-Host "Git configuration updated." -ForegroundColor Green
Write-Host "- core.eol: lf" -ForegroundColor DarkGray
Write-Host "- core.autocrlf: false" -ForegroundColor DarkGray
} catch {
Write-Host "Failed to update Git configuration: $_" -ForegroundColor Red
}
Write-Host "`nTo verify changes, run your update check again." -ForegroundColor Yellow