Conversation
Introduces a new draft RFD proposing a two-layer styling system: a frontend-agnostic semantic styling layer (`jp_style` crate with `Style`, `Palette`, base16 roles, scopes, and themes) and a terminal-specific rendering layer in `jp_term`/`jp_printer`. The terminal sink adapts resolved styling to the terminal it is writing to: downgrading 24-bit color to 256 or 16, selecting a light or dark default theme by detected scheme, and stripping color and unsafe control sequences for non-terminal channels and `NO_COLOR`. This addresses two concrete reported failures: inline code being unreadable on light terminals (background set, foreground not), and syntax-highlighted tool output being garbled on non-truecolor terminals such as Apple Terminal (which sets `TERM=xterm-256color` but does not support 24-bit SGR sequences). Also adds a note to RFD 075 (tool sandbox and access policy) marking sanitization of terminal escape sequences in tool output as out of scope for that sandbox, pointing to D46's per-sink category-based strip policy as the mechanism that handles it by default. Signed-off-by: Jean Mertz <git@jeanmertz.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Introduces a new draft RFD proposing a two-layer styling system: a frontend-agnostic semantic styling layer (
jp_stylecrate withStyle,Palette, base16 roles, scopes, and themes) and a terminal-specific rendering layer injp_term/jp_printer.The terminal sink adapts resolved styling to the terminal it is writing to: downgrading 24-bit color to 256 or 16, selecting a light or dark default theme by detected scheme, and stripping color and unsafe control sequences for non-terminal channels and
NO_COLOR.This addresses two concrete reported failures: inline code being unreadable on light terminals (background set, foreground not), and syntax-highlighted tool output being garbled on non-truecolor terminals such as Apple Terminal (which sets
TERM=xterm-256colorbut does not support 24-bit SGR sequences).Also adds a note to RFD 075 (tool sandbox and access policy) marking sanitization of terminal escape sequences in tool output as out of scope for that sandbox, pointing to D46's per-sink category-based strip policy as the mechanism that handles it by default.