Fix color coding codice sorgente
This commit is contained in:
@@ -5,6 +5,27 @@ import remarkGfm from "remark-gfm";
|
||||
import remarkMath from "remark-math";
|
||||
import rehypeKatex from "rehype-katex";
|
||||
|
||||
// Prism.js per syntax highlight
|
||||
import Prism from "prismjs";
|
||||
import "prismjs/themes/prism.css";
|
||||
|
||||
// Linguaggi base
|
||||
import "prismjs/components/prism-sql";
|
||||
import "prismjs/components/prism-javascript";
|
||||
import "prismjs/components/prism-css";
|
||||
import "prismjs/components/prism-json";
|
||||
import "prismjs/components/prism-markdown";
|
||||
import "prismjs/components/prism-csharp";
|
||||
import "prismjs/components/prism-lua";
|
||||
import "prismjs/components/prism-c";
|
||||
import "prismjs/components/prism-cpp";
|
||||
import "prismjs/components/prism-python";
|
||||
import "prismjs/components/prism-basic";
|
||||
import "prismjs/components/prism-javascript";
|
||||
|
||||
// Aggiungo alias "vb" che punta a "vbnet"
|
||||
Prism.languages.vb = Prism.languages.vbnet;
|
||||
|
||||
export default function AssistantMessage({
|
||||
content,
|
||||
theme,
|
||||
@@ -94,6 +115,13 @@ function CodeWithCopy({ inline, className = "", children, ...props }) {
|
||||
const codeText = String(children).replace(/\n$/, "");
|
||||
const isFencedBlock = !inline && /^language-/.test(className);
|
||||
|
||||
// Evidenziazione con Prism
|
||||
useEffect(() => {
|
||||
if (isFencedBlock) {
|
||||
Prism.highlightAll();
|
||||
}
|
||||
}, [codeText, isFencedBlock]);
|
||||
|
||||
if (!isFencedBlock) {
|
||||
return (
|
||||
<code className={className} {...props}>
|
||||
@@ -115,7 +143,7 @@ function CodeWithCopy({ inline, className = "", children, ...props }) {
|
||||
return (
|
||||
<div style={{ position: "relative" }}>
|
||||
<pre className={className} {...props} style={{ paddingRight: "2rem" }}>
|
||||
<code>{codeText}</code>
|
||||
<code className={className}>{codeText}</code>
|
||||
</pre>
|
||||
<button
|
||||
onClick={handleCopy}
|
||||
@@ -127,7 +155,7 @@ function CodeWithCopy({ inline, className = "", children, ...props }) {
|
||||
background: "transparent",
|
||||
cursor: "pointer"
|
||||
}}
|
||||
className="btn-copy"
|
||||
className="btn-copy"
|
||||
title="Copy to clipboard"
|
||||
>
|
||||
📋
|
||||
|
||||
Reference in New Issue
Block a user