Colour what a shell printed, swipe back, and let a stopped session take a setting
Bash output arrived with its escape sequences in it, so a coloured diff or test run was line noise around the thing being read. The sequences that decide how text looks are spans now and every other one is dropped, with a carriage return honoured the way a terminal honours it so a progress bar shows its final state rather than every state it passed through. A rightward drag anywhere on a session, spawn or settings screen steps back, following the finger so it can be abandoned. It loses every argument: a child that consumes horizontal drags -- a wide fence, a table, a selection -- has already taken the gesture before this sees it. Changing the model or the permission mode of a session with nothing running was refused, in words about the driver, while the config had already taken the value that its next start will use. Both now announce the stored setting instead, through one function, since which of the pair it is does not change the rule. The model-switch warning no longer fires after a clear: the server reports the context as unmeasured rather than zero afterwards, and the fallback reading counted the whole conversation still on screen. An image loading shows a spinner in the space it is about to fill, in the transcript and in the composer's attachments alike. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
1 parent
8dcd2cb708
commit
a383c19dd5
10 files changed
+651
-48
No files matched your search
@@ -27,7 +27,9 @@ private object Mocha {
|
||||
val Sky = Color(0xFF89DCEB)
|
||||
val Blue = Color(0xFF89B4FA)
|
||||
val Lavender = Color(0xFFB4BEFE)
|
||||
val Pink = Color(0xFFF5C2E7)
|
||||
val Text = Color(0xFFCDD6F4)
|
||||
val Subtext1 = Color(0xFFBAC2DE)
|
||||
val Subtext0 = Color(0xFFA6ADC8)
|
||||
val Overlay0 = Color(0xFF6C7086)
|
||||
val Surface2 = Color(0xFF585B70)
|
||||
@@ -218,6 +220,45 @@ fun catppuccinSyntax(): SyntaxTheme =
|
||||
mark = Mocha.Sky.toArgb(),
|
||||
)
|
||||
|
||||
/**
|
||||
* The sixteen terminal colours, for what a Bash tool call printed; see [AnsiPalette].
|
||||
*
|
||||
* Catppuccin publishes its own ANSI mapping and this is it, rather than the eight accents picked by
|
||||
* eye: a program printing in "colour 4" means blue, and which blue is a decision the palette has
|
||||
* already made for every other blue on the screen.
|
||||
*
|
||||
* Mocha's bright half is the same accents as its normal half -- only the two greys differ -- which
|
||||
* is upstream's choice and not an omission here. A program that uses bright red to mean something
|
||||
* other than red is relying on a distinction its own terminal may not draw either.
|
||||
*
|
||||
* The background is [rawSurface] because that is what a tool's output is drawn on, and reverse
|
||||
* video needs to know what it is reversing against.
|
||||
*/
|
||||
fun ansiPalette(): AnsiPalette =
|
||||
AnsiPalette(
|
||||
colours =
|
||||
listOf(
|
||||
Mocha.Surface1,
|
||||
Mocha.Red,
|
||||
Mocha.Green,
|
||||
Mocha.Yellow,
|
||||
Mocha.Blue,
|
||||
Mocha.Pink,
|
||||
Mocha.Teal,
|
||||
Mocha.Subtext1,
|
||||
Mocha.Surface2,
|
||||
Mocha.Red,
|
||||
Mocha.Green,
|
||||
Mocha.Yellow,
|
||||
Mocha.Blue,
|
||||
Mocha.Pink,
|
||||
Mocha.Teal,
|
||||
Mocha.Subtext0,
|
||||
),
|
||||
foreground = Mocha.Text,
|
||||
background = Mocha.Crust,
|
||||
)
|
||||
|
||||
/**
|
||||
* A link. Blue is what a link is on every Catppuccin surface, and the one colour to leave alone.
|
||||
*/
|
||||
|
||||
Reference in new issue
Block a user