diff --git a/WindowsPowershell/Modules/ConsoleColors.psm1 b/WindowsPowershell/Modules/ConsoleColors.psm1 index 36635e5..ac44964 100644 --- a/WindowsPowershell/Modules/ConsoleColors.psm1 +++ b/WindowsPowershell/Modules/ConsoleColors.psm1 @@ -131,30 +131,6 @@ function Add-ConsoleHelper() Add-Type -TypeDefinition $code -ReferencedAssemblies @('System.Drawing') } -# These are the 16 colors for our palette. -Add-Type -AssemblyName System.Drawing - -# Here's the solarized table... -# -# SOLARIZED HEX 16/8 TERMCOL XTERM/HEX L*A*B RGB HSB -# --------- ------- ---- ------- ----------- ---------- ----------- ----------- -$base03 = "#002b36" # 8/4 brblack 234 #1c1c1c 15 -12 -12 0 43 54 193 100 21 -$base02 = "#073642" # 0/4 black 235 #262626 20 -12 -12 7 54 66 192 90 26 -$base01 = "#586e75" # 10/7 brgreen 240 #585858 45 -07 -07 88 110 117 194 25 46 -$base00 = "#657b83" # 11/7 bryellow 241 #626262 50 -07 -07 101 123 131 195 23 51 -$base0 = "#839496" # 12/6 brblue 244 #808080 60 -06 -03 131 148 150 186 13 59 -$base1 = "#93a1a1" # 14/4 brcyan 245 #8a8a8a 65 -05 -02 147 161 161 180 9 63 -$base2 = "#eee8d5" # 7/7 white 254 #e4e4e4 92 -00 10 238 232 213 44 11 93 -$base3 = "#fdf6e3" # 15/7 brwhite 230 #ffffd7 97 00 10 253 246 227 44 10 99 -$yellow = "#b58900" # 3/3 yellow 136 #af8700 60 10 65 181 137 0 45 100 71 -$orange = "#cb4b16" # 9/3 brred 166 #d75f00 50 50 55 203 75 22 18 89 80 -$red = "#dc322f" # 1/1 red 160 #d70000 50 65 45 220 50 47 1 79 86 -$magenta = "#d33682" # 5/5 magenta 125 #af005f 50 65 -05 211 54 130 331 74 83 -$violet = "#6c71c4" # 13/5 brmagenta 61 #5f5faf 50 15 -45 108 113 196 237 45 77 -$blue = "#268bd2" # 4/4 blue 33 #0087ff 55 -10 -45 38 139 210 205 82 82 -$cyan = "#2aa198" # 6/6 cyan 37 #00afaf 60 -35 -05 42 161 152 175 74 63 -$green = "#859900" # 2/2 green 64 #5f8700 60 -20 65 133 153 0 68 100 60 - function Set-SolarizedColors([switch]$Light, [switch]$Dark) { if ( (-not $Light) -and (-not $Dark) ) @@ -162,8 +138,32 @@ function Set-SolarizedColors([switch]$Light, [switch]$Dark) $Light = $true } + # Here's the solarized table... + # + # SOLARIZED HEX 16/8 TERMCOL XTERM/HEX L*A*B RGB HSB + # --------- ------- ---- ------- ----------- ---------- ----------- ----------- + $base03 = "#002b36" # 8/4 brblack 234 #1c1c1c 15 -12 -12 0 43 54 193 100 21 + $base02 = "#073642" # 0/4 black 235 #262626 20 -12 -12 7 54 66 192 90 26 + $base01 = "#586e75" # 10/7 brgreen 240 #585858 45 -07 -07 88 110 117 194 25 46 + $base00 = "#657b83" # 11/7 bryellow 241 #626262 50 -07 -07 101 123 131 195 23 51 + $base0 = "#839496" # 12/6 brblue 244 #808080 60 -06 -03 131 148 150 186 13 59 + $base1 = "#93a1a1" # 14/4 brcyan 245 #8a8a8a 65 -05 -02 147 161 161 180 9 63 + $base2 = "#eee8d5" # 7/7 white 254 #e4e4e4 92 -00 10 238 232 213 44 11 93 + $base3 = "#fdf6e3" # 15/7 brwhite 230 #ffffd7 97 00 10 253 246 227 44 10 99 + $yellow = "#b58900" # 3/3 yellow 136 #af8700 60 10 65 181 137 0 45 100 71 + $orange = "#cb4b16" # 9/3 brred 166 #d75f00 50 50 55 203 75 22 18 89 80 + $red = "#dc322f" # 1/1 red 160 #d70000 50 65 45 220 50 47 1 79 86 + $magenta = "#d33682" # 5/5 magenta 125 #af005f 50 65 -05 211 54 130 331 74 83 + $violet = "#6c71c4" # 13/5 brmagenta 61 #5f5faf 50 15 -45 108 113 196 237 45 77 + $blue = "#268bd2" # 4/4 blue 33 #0087ff 55 -10 -45 38 139 210 205 82 82 + $cyan = "#2aa198" # 6/6 cyan 37 #00afaf 60 -35 -05 42 161 152 175 74 63 + $green = "#859900" # 2/2 green 64 #5f8700 60 -20 65 133 153 0 68 100 60 + if ($Host.Name -eq "ConsoleHost") { + Add-Type -AssemblyName System.Drawing + Add-ConsoleHelper + # Redefine the standard console colors to have the Solarized-Light # palette. # @@ -222,7 +222,5 @@ function Set-SolarizedColors([switch]$Light, [switch]$Dark) $Host.UI.RawUI.BackgroundColor Clear-Host - } + } } - -Add-ConsoleHelper \ No newline at end of file diff --git a/WindowsPowershell/Modules/PowerSolarized.dll b/WindowsPowershell/Modules/PowerSolarized.dll deleted file mode 100644 index 6541ce8..0000000 Binary files a/WindowsPowershell/Modules/PowerSolarized.dll and /dev/null differ diff --git a/WindowsPowershell/Profile.ps1 b/WindowsPowershell/Profile.ps1 index e59fec4..270c0d3 100644 --- a/WindowsPowershell/Profile.ps1 +++ b/WindowsPowershell/Profile.ps1 @@ -1,23 +1,36 @@ -# Make MSYS based things work correctly (most importantly, msysgit) -# -$env:TERM='msys' +# Check to see if we're interactive or not.... this is a dirty, dirty +# hack. +$interactive = $true +$cmdLine = [System.Environment]::CommandLine +if ($cmdLine.Contains("powershell.exe") -and ($cmdLine.Contains(".ps1") -and !$cmdLine.Contains("-noexit"))) +{ + # We're running non-interactively, don't do any of this stuff. + $interactive = $false +} -# Load up the colors and set the dark solarized theme. -# -$profileDir = split-path -parent $Profile -Import-Module "$profileDir\Modules\ConsoleColors.psm1" -Set-SolarizedColors -Dark +if ($interactive) +{ + # Make MSYS based things work correctly (most importantly, msysgit) + # + $env:TERM='msys' + + # Load up the colors and set the dark solarized theme. + # + $profileDir = split-path -parent $Profile + Import-Module "$profileDir\Modules\ConsoleColors.psm1" + # Set-SolarizedColors -Dark -# Ensure HOME is set properly -# -$env:Home = [Environment]::GetFolderPath("Personal") -set-variable -name HOME -value (resolve-path $env:Home) -force -(get-psprovider FileSystem).Home = $HOME - -# Add the right things to the path -# -$env:Path = "$env:windir\Microsoft.NET\Framework64;" + $env:Path -$env:Path = "c:\debuggers;c:\tools\x86;c:\tools\x86\bin;c:\emacs\bin" + $env:Path + # Ensure HOME is set properly + # + $env:Home = [Environment]::GetFolderPath("Personal") + set-variable -name HOME -value (resolve-path $env:Home) -force + (get-psprovider FileSystem).Home = $HOME + + # Add the right things to the path + # + $env:Path = "$env:windir\Microsoft.NET\Framework64;" + $env:Path + $env:Path = "c:\debuggers;c:\tools\x86;c:\tools\x86\bin;c:\emacs\bin" + $env:Path +} # Based on http://winterdom.com/2008/08/mypowershellprompt function shorten-path([string] $path) @@ -30,10 +43,18 @@ function shorten-path([string] $path) return ($loc -replace '\\(\.?)([^\\]{3})[^\\]*(?=\\)','\$1$2') } +$global:SolarizedColors = $false + function prompt { $ok = $? + if (!$global:SolarizedColors) + { + Set-SolarizedColors -Dark + $global:SolarizedColors = $true + } + # Our "theme", as it were. Note that we assume the use of the # solarized colors. #