import type { CodeComponent } from 'react-markdown/lib/ast-to-react';
import { PrismAsyncLight } from 'react-syntax-highlighter';
import { oneDark } from 'react-syntax-highlighter/dist/cjs/styles/prism';
import styles from './CodeBlock.module.scss';
export const CodeBlock: CodeComponent = ({ inline, className, children }) => {
if (inline) {
return {children};
}
// TODO: set border according to the value of 'customize:highlightJsStyleBorder'
const match = /language-(\w+)(:?.+)?/.exec(className || '');
const lang = match && match[1] ? match[1] : '';
const name = match && match[2] ? match[2].slice(1) : null;
return (
<>
{name != null && (
{name}
)}
{String(children).replace(/\n$/, '')}
>
);
};