Skip to content

Commit a56ec39

Browse files
committed
Match Zed hollow vs filled hunk framing
1 parent 629acda commit a56ec39

File tree

1 file changed

+8
-7
lines changed

1 file changed

+8
-7
lines changed

packages/ui/src/components/panels/diff/ZedDiffViewer.tsx

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -412,8 +412,11 @@ export const ZedDiffViewer: React.FC<{
412412
.st-diff-table .diff-hunk:has(.diff-code-insert, .diff-code-delete) {
413413
--st-hunk-color: var(--st-diff-modified-marker);
414414
--st-hunk-marker-color: var(--st-hunk-color);
415-
--st-hunk-solid-bg: color-mix(in srgb, var(--st-hunk-color) 18%, transparent);
416-
--st-hunk-hollow-bg: color-mix(in srgb, var(--st-hunk-color) 7%, transparent);
415+
/* Zed-like opacities on dark themes:
416+
- filled: ~0.12
417+
- hollow: ~0.06 + border */
418+
--st-hunk-solid-bg: color-mix(in srgb, var(--st-hunk-color) 12%, transparent);
419+
--st-hunk-hollow-bg: color-mix(in srgb, var(--st-hunk-color) 6%, transparent);
417420
--st-hunk-bg: var(--st-hunk-solid-bg);
418421
--st-hunk-frame-color: var(--st-hunk-color);
419422
}
@@ -430,9 +433,6 @@ export const ZedDiffViewer: React.FC<{
430433
.st-diff-table .diff-hunk:has(.st-hunk-status--staged):has(.diff-code-insert, .diff-code-delete) {
431434
--st-hunk-bg: var(--st-hunk-hollow-bg);
432435
}
433-
.st-diff-table .diff-hunk:has(.st-hunk-status--staged):has(.diff-code-insert, .diff-code-delete) tr td {
434-
filter: saturate(0.95) brightness(0.98);
435-
}
436436
.st-diff-table .diff-hunk:has(.st-hunk-status--unknown) {
437437
--st-hunk-marker-color: var(--st-text-faint);
438438
--st-hunk-bg: var(--st-diff-hunk-bg);
@@ -468,13 +468,14 @@ export const ZedDiffViewer: React.FC<{
468468
pointer-events: none;
469469
opacity: 0;
470470
z-index: 1;
471-
box-shadow: 0 0 0 1px color-mix(in srgb, var(--st-hunk-frame-color) 72%, transparent);
471+
box-shadow: 0 0 0 1px color-mix(in srgb, var(--st-hunk-frame-color) 36%, transparent);
472472
transition: opacity 110ms ease;
473473
}
474474
/* Zed-like: staged hunks have a persistent frame to distinguish them from unstaged hunks. */
475-
.st-diff-table .diff-hunk:has(.st-hunk-status--staged):has(.diff-code-insert, .diff-code-delete)::after { opacity: 0.6; }
475+
.st-diff-table .diff-hunk:has(.st-hunk-status--staged):has(.diff-code-insert, .diff-code-delete)::after { opacity: 1; }
476476
.st-diff-table .diff-hunk:has(.diff-code-insert, .diff-code-delete):hover::after {
477477
opacity: 1;
478+
box-shadow: 0 0 0 1px color-mix(in srgb, var(--st-hunk-frame-color) 48%, transparent);
478479
}
479480
480481
.st-diff-table .diff-hunk:has(.diff-code-insert, .diff-code-delete) tr td {

0 commit comments

Comments
 (0)