PSProfile is a cross-platform PowerShell module built for profile customization. It uses PoshCode's Configuration module to handle the layered Configuration.
Added special module import process when the ModuleToImport is EditorServicesCommandSuite so it also automatically registers the available editor commands.
Added PSReadline key to $PSProfile.Settings (Settings management in development still.)
Miscellaneous
Added support for multiple Command Aliases to be removed at once with Remove-PSProfileCommandAlias.
Updated default SCRTHQ prompt that comes with the module.
Added support for NerdFonts and PowerLine switches on the prompts to switch char sets depending on the FontType.
Added IncludeVault switch parameter to Export-PSProfileConfiguration to prevent exporting the Secrets Vault by default when creating portable configurations.
Added _cleanModules() method to PSProfile class to remove any null or empty values hanging over and convert any string values to the full hashtable value instead.
Cleaned up logic and fixed bugs in the following functions:
Add-PSProfileModuleToImport
Remove-PSProfileModuleToImport
Add-PSProfileModuleToInstall
Remove-PSProfileModuleToInstall
Add-PSProfilePlugin
Updated CONTRIBUTING.md with snippet to include for PSProfile developers on their PowerShell profile.
Refactored Get-PSProfilePrompt to return $null if a name is specified but does not exist on the current PSProfile configuration.
Refactored $PSProfile._loadConfiguration() to start with the base value of $Global:PSProfile if present, otherwise import the existing configuration from file. This is necessary to retain the existing configuration if an action is taken that forces the PSProfile to reload, e.g. adding a new plugin to the configuration.
Updated $PSProfile._loadPrompt() method to set the value of $function:prompt directly instead of calling Switch-PSProfilePrompt to reduce overhead.
0.2.0 - 2019-09-02
ModuleToImport
isEditorServicesCommandSuite
so it also automatically registers the available editor commands.Start-PSProfileConfigurationHelper
to provide an easy way to get started with configuring your PSProfile.PSReadline
key to$PSProfile.Settings
(Settings management in development still.)Remove-PSProfileCommandAlias
.SCRTHQ
prompt that comes with the module.IncludeVault
switch parameter toExport-PSProfileConfiguration
to prevent exporting the Secrets Vault by default when creating portable configurations._cleanModules()
method to PSProfile class to remove any null or empty values hanging over and convert any string values to the full hashtable value instead.Add-PSProfileModuleToImport
Remove-PSProfileModuleToImport
Add-PSProfileModuleToInstall
Remove-PSProfileModuleToInstall
Add-PSProfilePlugin
Get-PSProfilePrompt
to return$null
if a name is specified but does not exist on the current PSProfile configuration.$PSProfile._loadConfiguration()
to start with the base value of$Global:PSProfile
if present, otherwise import the existing configuration from file. This is necessary to retain the existing configuration if an action is taken that forces the PSProfile to reload, e.g. adding a new plugin to the configuration.$PSProfile._loadPrompt()
method to set the value of$function:prompt
directly instead of callingSwitch-PSProfilePrompt
to reduce overhead.