From 8af625b7dcc025bd435f23d4591c5f90072e2109 Mon Sep 17 00:00:00 2001 From: Enrico Ros Date: Tue, 18 Jun 2024 14:03:30 -0700 Subject: [PATCH] Code: fix render lines suppression --- src/modules/blocks/code/RenderCode.tsx | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/src/modules/blocks/code/RenderCode.tsx b/src/modules/blocks/code/RenderCode.tsx index 88a320a62..e5dfb626c 100644 --- a/src/modules/blocks/code/RenderCode.tsx +++ b/src/modules/blocks/code/RenderCode.tsx @@ -127,16 +127,6 @@ function RenderCodeImpl(props: RenderCodeImplProps) { highlightCode, inferCodeLanguage, optimizeLightweight, } = props; - const canRenderLineNumbers = !showSoftWrap; - const renderLineNumbers = showLineNumbers && canRenderLineNumbers; - - // heuristic for language, and syntax highlight - const { highlightedCode, inferredCodeLanguage } = React.useMemo(() => { - const inferredCodeLanguage = inferCodeLanguage(blockTitle, blockCode); - const highlightedCode = highlightCode(inferredCodeLanguage, blockCode, renderLineNumbers); - return { highlightedCode, inferredCodeLanguage }; - }, [inferCodeLanguage, blockTitle, blockCode, highlightCode, renderLineNumbers]); - // heuristics for specialized rendering @@ -168,6 +158,18 @@ function RenderCodeImpl(props: RenderCodeImplProps) { const renderCode = !renderHTML && !renderMermaid && !renderPlantUML && !renderSVG; + + const cannotRenderLineNumbers = !renderCode || showSoftWrap; + const renderLineNumbers = showLineNumbers && !cannotRenderLineNumbers; + + // heuristic for language, and syntax highlight + const { highlightedCode, inferredCodeLanguage } = React.useMemo(() => { + const inferredCodeLanguage = inferCodeLanguage(blockTitle, blockCode); + const highlightedCode = highlightCode(inferredCodeLanguage, blockCode, renderLineNumbers); + return { highlightedCode, inferredCodeLanguage }; + }, [inferCodeLanguage, blockTitle, blockCode, highlightCode, renderLineNumbers]); + + const canCodePen = blockComplete && isCodePenSupported(inferredCodeLanguage, isSVG); const canJSFiddle = blockComplete && isJSFiddleSupported(inferredCodeLanguage, blockCode); const canStackBlitz = blockComplete && isStackBlitzSupported(inferredCodeLanguage); @@ -307,7 +309,7 @@ function RenderCodeImpl(props: RenderCodeImplProps) { {/* Line Numbers toggle */} {renderCode && ( - setShowLineNumbers(!showLineNumbers)}> + setShowLineNumbers(!showLineNumbers)}>