Private/Import-UserConfiguration.ps1
function Import-UserConfiguration { param ( [Parameter(Mandatory=$false)] [string] $Path = $Script:PSConsoleTheme.ProfilePath ) $configFile = Join-Path $Path 'config.json' if (Test-Path $configFile) { $configJson = Get-Content $configFile -Raw if (!(Test-Json $configJson)) { return @{} } try { $config = $configJson | Remove-JsonComments | ConvertFrom-Json if($config | Test-User) { if ($config.Theme -and $Script:PSConsoleTheme.Themes.Contains($config.Theme)) { Set-TokenColorConfiguration $Script:PSConsoleTheme.Themes[$config.Theme].tokens } return $config } } catch { Write-Error (($user_config_msgs.error_invalid_config -f $configFile) + "`n" + $_) return @{} } } return @{} } DATA user_config_msgs { ConvertFrom-StringData @' error_invalid_json = Invalid JSON data {0}. File not parsed. error_invalid_config = Failed to import user configuration '{0}'. '@ } |