Stylize diff line numbers & characters (#6269)

This commit is contained in:
Miguel Solorio 2025-08-14 23:18:39 -07:00 committed by GitHub
parent 2690123af0
commit 2e6c3580df
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 24 additions and 3 deletions

View File

@ -10,6 +10,7 @@ import { Colors } from '../../colors.js';
import crypto from 'crypto';
import { colorizeCode, colorizeLine } from '../../utils/CodeColorizer.js';
import { MaxSizedBox } from '../shared/MaxSizedBox.js';
import { theme } from '../../semantic-colors.js';
interface DiffLine {
type: 'add' | 'del' | 'context' | 'hunk' | 'other';
@ -287,7 +288,16 @@ const renderDiffContent = (
acc.push(
<Box key={lineKey} flexDirection="row">
<Text color={Colors.Gray}>
<Text
color={theme.text.secondary}
backgroundColor={
line.type === 'add'
? theme.background.diff.added
: line.type === 'del'
? theme.background.diff.removed
: undefined
}
>
{gutterNumStr.padStart(gutterWidth)}{' '}
</Text>
{line.type === 'context' ? (
@ -300,11 +310,22 @@ const renderDiffContent = (
) : (
<Text
backgroundColor={
line.type === 'add' ? Colors.DiffAdded : Colors.DiffRemoved
line.type === 'add'
? theme.background.diff.added
: theme.background.diff.removed
}
wrap="wrap"
>
{prefixSymbol} {colorizeLine(displayContent, language)}
<Text
color={
line.type === 'add'
? theme.status.success
: theme.status.error
}
>
{prefixSymbol}
</Text>{' '}
{colorizeLine(displayContent, language)}
</Text>
)}
</Box>,