summaryrefslogtreecommitdiff
path: root/extension/react-app/src/components/CodeBlock.tsx
diff options
context:
space:
mode:
authorNate Sesti <sestinj@gmail.com>2023-07-02 21:59:11 -0700
committerNate Sesti <sestinj@gmail.com>2023-07-02 21:59:11 -0700
commit5dda9c10ea8c82a527361949f000b4c22b1bd763 (patch)
tree53f672d79ae53faaa322d1ff33f5774d1a2073ab /extension/react-app/src/components/CodeBlock.tsx
parent27256e3417078a209d54c709612b13acf648e646 (diff)
parent9831ac76fbced2f18ec15642eb31d3854af56e67 (diff)
downloadsncontinue-5dda9c10ea8c82a527361949f000b4c22b1bd763.tar.gz
sncontinue-5dda9c10ea8c82a527361949f000b4c22b1bd763.tar.bz2
sncontinue-5dda9c10ea8c82a527361949f000b4c22b1bd763.zip
Merge branch 'main' of https://github.com/continuedev/continue
Diffstat (limited to 'extension/react-app/src/components/CodeBlock.tsx')
-rw-r--r--extension/react-app/src/components/CodeBlock.tsx73
1 files changed, 34 insertions, 39 deletions
diff --git a/extension/react-app/src/components/CodeBlock.tsx b/extension/react-app/src/components/CodeBlock.tsx
index 1624b986..17f5626b 100644
--- a/extension/react-app/src/components/CodeBlock.tsx
+++ b/extension/react-app/src/components/CodeBlock.tsx
@@ -61,7 +61,7 @@ function CopyButton(props: { textToCopy: string; visible: boolean }) {
);
}
-function CodeBlock(props: { children: React.ReactNode }) {
+function CodeBlock(props: { children: string; showCopy?: boolean }) {
const [result, setResult] = useState<AutoHighlightResult | undefined>(
undefined
);
@@ -78,39 +78,36 @@ function CodeBlock(props: { children: React.ReactNode }) {
setHighlightTimeout(
setTimeout(() => {
- const result = hljs.highlightAuto(
- (props.children as any).props.children[0],
- [
- "python",
- "javascript",
- "typescript",
- "bash",
- "html",
- "css",
- "json",
- "yaml",
- "markdown",
- "sql",
- "java",
- "c",
- "cpp",
- "csharp",
- "go",
- "kotlin",
- "php",
- "ruby",
- "rust",
- "scala",
- "swift",
- "dart",
- "haskell",
- "perl",
- "r",
- "julia",
- "objectivec",
- "ocaml",
- ]
- );
+ const result = hljs.highlightAuto(props.children, [
+ "python",
+ "javascript",
+ "typescript",
+ "bash",
+ "html",
+ "css",
+ "json",
+ "yaml",
+ "markdown",
+ "sql",
+ "java",
+ "c",
+ "cpp",
+ "csharp",
+ "go",
+ "kotlin",
+ "php",
+ "ruby",
+ "rust",
+ "scala",
+ "swift",
+ "dart",
+ "haskell",
+ "perl",
+ "r",
+ "julia",
+ "objectivec",
+ "ocaml",
+ ]);
setResult(result);
setHighlightTimeout(undefined);
}, 100)
@@ -129,13 +126,11 @@ function CodeBlock(props: { children: React.ReactNode }) {
>
<CopyButtonDiv>
<CopyButton
- visible={hovered}
- textToCopy={(props.children as any).props.children[0]}
+ visible={hovered && (props.showCopy || true)}
+ textToCopy={props.children}
/>
</CopyButtonDiv>
- <StyledCode language={result?.language}>
- {(props.children as any).props.children[0]}
- </StyledCode>
+ <StyledCode language={result?.language}>{props.children}</StyledCode>
</StyledPre>
);
}