Last updated
Last updated
function CodeHighlightLine(props: {
block: DocumentBlockCode;
line: HighlightLine;
lineIndex: number;
isLast: boolean;
withLineNumbers: boolean;
withWrap: boolean;
context: ContentRefContext;
}) {
const { block, line, isLast, withLineNumbers, context } = props;
return (
<span
className={tcls(
'flex',
'flex-row',
'px-4',
line.highlighted ? 'bg-slate-200' : null,
withLineNumbers
? [
'before:shrink-0',
'before:absolute',
'before:left-0',
'before:pl-4',
line.highlighted ? 'before:bg-slate-200' : 'before:bg-slate-100',
'before:text-slate-400',
'before:content-[counter(line)]',
'[counter-increment:line]',
getLineNumberGutterWidth(block),
]
: [],
)}
>
<span className="flex-1">
<CodeHighlightTokens tokens={line.tokens} context={context} />
{isLast ? null : !withLineNumbers && line.tokens.length === 0 && 0 ? (
<span className="ew">{'\u200B'}</span>
) : (
'\n'
)}
</span>
</span>
);
}
function CodeHighlightLine(props: {
block: DocumentBlockCode;
line: HighlightLine;
lineIndex: number;
isLast: boolean;
withLineNumbers: boolean;
withWrap: boolean;
context: ContentRefContext;
}) {
const { block, line, isLast, withLineNumbers, context } = props;
return (
<span
className={tcls(
'flex',
'flex-row',
'px-4',
line.highlighted ? 'bg-slate-200' : null,
withLineNumbers
? [
'before:shrink-0',
'before:absolute',
'before:left-0',
'before:pl-4',
line.highlighted ? 'before:bg-slate-200' : 'before:bg-slate-100',
'before:text-slate-400',
'before:content-[counter(line)]',
'[counter-increment:line]',
getLineNumberGutterWidth(block),
]
: [],
)}
>
<span className="flex-1">
<CodeHighlightTokens tokens={line.tokens} context={context} />
{isLast ? null : !withLineNumbers && line.tokens.length === 0 && 0 ? (
<span className="ew">{'\u200B'}</span>
) : (
'\n'
)}
</span>
</span>
);
}
function CodeHighlightLine(props: {
block: DocumentBlockCode;
line: HighlightLine;
lineIndex: number;
isLast: boolean;
withLineNumbers: boolean;
withWrap: boolean;
context: ContentRefContext;
}) {
const { block, line, isLast, withLineNumbers, context } = props;
return (
<span
className={tcls(
'flex',
'flex-row',
'px-4',
line.highlighted ? 'bg-slate-200' : null,
withLineNumbers
? [
'before:shrink-0',
'before:absolute',
'before:left-0',
'before:pl-4',
line.highlighted ? 'before:bg-slate-200' : 'before:bg-slate-100',
'before:text-slate-400',
'before:content-[counter(line)]',
'[counter-increment:line]',
getLineNumberGutterWidth(block),
]
: [],
)}
>
<span className="flex-1">
<CodeHighlightTokens tokens={line.tokens} context={context} />
{isLast ? null : !withLineNumbers && line.tokens.length === 0 && 0 ? (
<span className="ew">{'\u200B'}</span>
) : (
'\n'
)}
</span>
</span>
);
}
// Some code