In Solarized themes, some things aren't visible in powershell #9299

Closed
opened 2026-01-31 01:51:05 +00:00 by claunia · 5 comments
Owner

Originally created by @jszabo98 on GitHub (Jun 26, 2020).

Environment

Platform ServicePack Version      VersionString
-------- ----------- -------      -------------
 Win32NT             10.0.18363.0 Microsoft Windows NT 10.0.18363.0

Steps to reproduce

Set theme to Solarized Dark or Solarized Light and run Powershell.

Expected behavior

For Solarized Light, I expect to be able to see numbers and members. For Solarized Dark, I expect to be able to see operators and parameters.

Actual behavior

I cannot.

In Solarized Light, bright white is set to the same color as the background. So any token set to bright white becomes invisible. This is from get-psreadlineoptions:

Member             "$([char]0x1b)[97m" # bright white
Number             "$([char]0x1b)[97m" # bright white

In Solarized Dark, bright black is set to the same color as the background. So any token set to bright black becomes invisible. This is from get-psreadlineoptions:

Operator           "$([char]0x1b)[90m" # bright black
Parameter          "$([char]0x1b)[90m" # bright black

A workaround for Solarized Light (console colors and ansi colors have slightly different names):

if (test-path env:wt_session) { set-psreadlineoption -colors @{member =
  'darkblue'; number = 'red'}}

I didn't understand how the themes "redefine" colors like black, red, green, etc. This could be better explained in the docs for schemes.

Originally created by @jszabo98 on GitHub (Jun 26, 2020). <!-- 🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨 I ACKNOWLEDGE THE FOLLOWING BEFORE PROCEEDING: 1. If I delete this entire template and go my own path, the core team may close my issue without further explanation or engagement. 2. If I list multiple bugs/concerns in this one issue, the core team may close my issue without further explanation or engagement. 3. If I write an issue that has many duplicates, the core team may close my issue without further explanation or engagement (and without necessarily spending time to find the exact duplicate ID number). 4. If I leave the title incomplete when filing the issue, the core team may close my issue without further explanation or engagement. 5. If I file something completely blank in the body, the core team may close my issue without further explanation or engagement. All good? Then proceed! --> <!-- This bug tracker is monitored by Windows Terminal development team and other technical folks. **Important: When reporting BSODs or security issues, DO NOT attach memory dumps, logs, or traces to Github issues**. Instead, send dumps/traces to secure@microsoft.com, referencing this GitHub issue. If this is an application crash, please also provide a Feedback Hub submission link so we can find your diagnostic data on the backend. Use the category "Apps > Windows Terminal (Preview)" and choose "Share My Feedback" after submission to get the link. Please use this form and describe your issue, concisely but precisely, with as much detail as possible. --> # Environment ```none Platform ServicePack Version VersionString -------- ----------- ------- ------------- Win32NT 10.0.18363.0 Microsoft Windows NT 10.0.18363.0 ``` # Steps to reproduce <!-- A description of how to trigger this bug. --> Set theme to Solarized Dark or Solarized Light and run Powershell. # Expected behavior <!-- A description of what you're expecting, possibly containing screenshots or reference material. --> For Solarized Light, I expect to be able to see numbers and members. For Solarized Dark, I expect to be able to see operators and parameters. # Actual behavior I cannot. <!-- What's actually happening? --> In Solarized Light, bright white is set to the same color as the background. So any token set to bright white becomes invisible. This is from get-psreadlineoptions: ```none Member "$([char]0x1b)[97m" # bright white Number "$([char]0x1b)[97m" # bright white ``` In Solarized Dark, bright black is set to the same color as the background. So any token set to bright black becomes invisible. This is from get-psreadlineoptions: ```none Operator "$([char]0x1b)[90m" # bright black Parameter "$([char]0x1b)[90m" # bright black ``` A workaround for Solarized Light (console colors and ansi colors have slightly different names): ```powershell if (test-path env:wt_session) { set-psreadlineoption -colors @{member = 'darkblue'; number = 'red'}} ``` I didn't understand how the themes "redefine" colors like black, red, green, etc. This could be better explained in the docs for schemes.
claunia added the Resolution-Duplicate label 2026-01-31 01:51:05 +00:00
Author
Owner

@DHowett commented on GitHub (Jun 26, 2020):

/dup #6424 #6390 #6286 #6283 #6208 #6121 #6061 #5896, resolved by #6617 #6618 #6489 (all three are currently in review)

@DHowett commented on GitHub (Jun 26, 2020): /dup #6424 #6390 #6286 #6283 #6208 #6121 #6061 #5896, resolved by #6617 #6618 #6489 (all three are currently in review)
Author
Owner

@ghost commented on GitHub (Jun 26, 2020):

Hi! We've identified this issue as a duplicate of another one that already exists on this Issue Tracker. This specific instance is being closed in favor of tracking the concern over on the referenced thread. Thanks for your report!

@ghost commented on GitHub (Jun 26, 2020): Hi! We've identified this issue as a duplicate of another one that already exists on this Issue Tracker. This specific instance is being closed in favor of tracking the concern over on the referenced thread. Thanks for your report!
Author
Owner

@jszabo98 commented on GitHub (Jun 27, 2020):

Thanks. Fyi, here's the commonly used ansi colors in powershell:

Command            "$([char]0x1b)[31m" red # 93 bright yellow
Comment            "$([char]0x1b)[32m" green
ContinuationPrompt "$([char]0x1b)[37m" white # 33 yellow
DefaultToken       "$([char]0x1b)[37m" white
Emphasis           "$([char]0x1b)[96m" bright cyan
Error              "$([char]0x1b)[91m" bright red
Keyword            "$([char]0x1b)[92m" bright green
Member             "$([char]0x1b)[97m" bright white
Number             "$([char]0x1b)[97m" bright white
Operator           "$([char]0x1b)[90m" bright black
Parameter          "$([char]0x1b)[90m" bright black
Selection          "$([char]0x1b)[30;47m" black on white # 35;43 magenta;yellow
String             "$([char]0x1b)[36m" cyan
Type               "$([char]0x1b)[37m" white
Variable           "$([char]0x1b)[92m" bright green
@jszabo98 commented on GitHub (Jun 27, 2020): Thanks. Fyi, here's the commonly used ansi colors in powershell: ```powershell Command "$([char]0x1b)[31m" red # 93 bright yellow Comment "$([char]0x1b)[32m" green ContinuationPrompt "$([char]0x1b)[37m" white # 33 yellow DefaultToken "$([char]0x1b)[37m" white Emphasis "$([char]0x1b)[96m" bright cyan Error "$([char]0x1b)[91m" bright red Keyword "$([char]0x1b)[92m" bright green Member "$([char]0x1b)[97m" bright white Number "$([char]0x1b)[97m" bright white Operator "$([char]0x1b)[90m" bright black Parameter "$([char]0x1b)[90m" bright black Selection "$([char]0x1b)[30;47m" black on white # 35;43 magenta;yellow String "$([char]0x1b)[36m" cyan Type "$([char]0x1b)[37m" white Variable "$([char]0x1b)[92m" bright green ```
Author
Owner

@jszabo98 commented on GitHub (Jun 27, 2020):

Maybe you should leave one of these open? People are less likely to search closed issues and pull requests.

@jszabo98 commented on GitHub (Jun 27, 2020): Maybe you should leave one of these open? People are less likely to search closed issues and pull requests.
Author
Owner

@SubaruArai commented on GitHub (May 23, 2024):

For anyone coming here from googling, #14859 is an ongoing issue tracker for light themes overall.

@SubaruArai commented on GitHub (May 23, 2024): For anyone coming here from googling, #14859 is an ongoing issue tracker for light themes overall.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/terminal#9299