• This repository has been archived on 26/Jun/2023
  • Stars
    star
    174
  • Rank 219,104 (Top 5 %)
  • Language
    PowerShell
  • License
    MIT License
  • Created almost 10 years ago
  • Updated almost 4 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Provides simple color highlighting for some PowerShell output

PSColor

Provides color highlighting for some basic PowerShell output. It currently rewrites "Out-Default" to colorize:

  • FileInfo & DirectoryInfo objects (Get-ChildItem, dir, ls etc.)
  • ServiceController objects (Get-Service)
  • MatchInfo objects (Select-String etc.)

Installation

The easiest way to install, by far, is to use PsGet. Once PsGet is installed you can simply run Install-Module PSColor.

Alternativly, you can download the file PSColor.zip and extract it to a folder named PSColor in any of your PowerShell module paths. (Run $env:PSModulePath to see your paths.)

If you want PSColor to be ran automatically you can add Import-Module PSColor to your PowerShell Profile. To locate your profile, run $profile

Configuration

You can configure PSColor by overriding the values of colors, patterns etc. Configurations should be added after Import-Module PSColor in your PowerShell profile. The default configuration looks like:

$global:PSColor = @{
    File = @{
        Default    = @{ Color = 'White' }
        Directory  = @{ Color = 'Cyan'}
        Hidden     = @{ Color = 'DarkGray'; Pattern = '^\.' } 
        Code       = @{ Color = 'Magenta'; Pattern = '\.(java|c|cpp|cs|js|css|html)$' }
        Executable = @{ Color = 'Red'; Pattern = '\.(exe|bat|cmd|py|pl|ps1|psm1|vbs|rb|reg)$' }
        Text       = @{ Color = 'Yellow'; Pattern = '\.(txt|cfg|conf|ini|csv|log|config|xml|yml|md|markdown)$' }
        Compressed = @{ Color = 'Green'; Pattern = '\.(zip|tar|gz|rar|jar|war)$' }
    }
    Service = @{
        Default = @{ Color = 'White' }
        Running = @{ Color = 'DarkGreen' }
        Stopped = @{ Color = 'DarkRed' }     
    }
    Match = @{
        Default    = @{ Color = 'White' }
        Path       = @{ Color = 'Cyan'}
        LineNumber = @{ Color = 'Yellow' }
        Line       = @{ Color = 'White' }
    }
	NoMatch = @{
        Default    = @{ Color = 'White' }
        Path       = @{ Color = 'Cyan'}
        LineNumber = @{ Color = 'Yellow' }
        Line       = @{ Color = 'White' }
    }
}

E.g. if you would like to override the red color for Executables, in favour of blue; you could add the following to your PowerShell profile:

$global:PSColor.File.Executable.Color = 'Blue'